在 MonoGame 中,如何以字符串的形式读取按下了哪个键盘键?
我试过String pressedKey = Keyboard.GetState().ToString();,但它给了我“Microsoft.Xna.Framework.Input.KeyboardState”。
对于专家来说这是一个非常简单的问题,但对于像我这样的初学者来说,这只是令人困惑.我以为我理解静态,但显然我没有.以下是整个课程,它说我需要进行静态测试.但我不想.我该怎么做才能解决这个问题,为什么它首先发生?谢谢!
public class SubstringTest
{
private String test;
public static void main(String[] args)
{
test = "Penguin";
System.out.println(test);
System.out.println(test.substring(3));
}
}
Run Code Online (Sandbox Code Playgroud) 简单问题:
如何使用尽可能少的代码返回空C-String?
我有需要返回空的代码char*.我正在寻找一些类似的东西return "";.我知道有几种方法可以做到这一点,但我正在寻找最有效的方法.
使用return "";给出warning: conversion from string literal to 'char *' is deprecated [-Wdeprecated-writable-strings]
谢谢!
如何在MonoGame中绘制形状,例如矩形和圆形,而不必在"内容"文件夹中保存预先绘制的形状?
DrawRectangle()和DrawEllipse()适用于Windows窗体,不适用于我正在使用的OpenGL.
我有一个这样的列表:
List<Thing> foo = new List<Thing>();
foo.PopulateWithFourThings();
Run Code Online (Sandbox Code Playgroud)
我想一遍又一遍地遍历它,比如0123012301230123 ......
Foreach不是我想要的,因为我不想一切都在同一时间.我一直在搞乱队列,我想知道队列是否适合这里?或者,如果有比Queues更好的东西.
我正在寻找这种情况下最好的代码实践(反复遍历列表).
那么有更好的选择:
if (nextElementIsNeeded)
{
Thing thing = foo[0];
foo.RemoveAt(0);
foo.Add(thing);
return thing;
}
Run Code Online (Sandbox Code Playgroud)
或者使用队列的以下代码:
Queue<Thing> foo = new Queue<Thing>();
foo.PopulateWithForThings();
//////////////////////////////////////
if (nextElementIsNeeded)
{
Thing thing = foo.Dequeue();
foo.Enqueue(thing);
return thing;
}
Run Code Online (Sandbox Code Playgroud) 我有一个 JPanel,向其中添加了未知数量的 JComponent。如何计算该 JPanel 中 JComponent 的数量?
我已经查看了 API,但我看不到检索孩子的方法,以便我可以计算它们。这可以在之后计算孩子吗?或者我是否必须在添加孩子时返回并计算他们?
孩子,我的意思是一个 JComponent 来自:myPanel.add(new JComponent())。
我有一个HashMap<String, ArrayList<String>>.我正在尝试将其转换为HashMap<String, String[]>.
HashMap<String, ArrayList<String>> arrayListMap = new HashMap<>();
HashMap<String, String[]> arrayMap = new HashMap<>();
for (Map.Entry<String, ArrayList<String>> entry : arrayListMap.entrySet()) {
arrayMap.put(entry.getKey(), entry.getValue().toArray());
}
Run Code Online (Sandbox Code Playgroud)
但是,因为entry.getValue().toArray(),我的IDE给了我错误:
Wrong 2nd argument type. Found: 'java.lang.Object[], required 'java.lang.String[]'.
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,因为arrayListMap指定我将使用Strings.
为什么这不起作用,我该如何解决?
我有一个漂浮物.我想将它四舍五入到n的最接近的倍数,其中n是任何浮点数.我怎样才能做到这一点?
在我的特定实例中,我需要我的浮点数为0.96f的倍数,但0.96f可能会发生变化.
例如,如果我有1.0f,我想得到0.96f.或者,如果我有1.75f,我想得到1.92f.我不需要考虑负数,尽管如果这样做会很好.
我已经检查了有关舍入的其他问题,但它们都是2的幂.(0.25,0.5,1,2等)
我试图在C#中声明并初始化一个位图,但似乎找不到该库.它只是告诉我创建Bitmap类.即使using System.Drawing手动添加" "也没有效果.
using System.Drawing
...
Bitmap img = new Bitmap(500, 500);
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?我使用的是.NET Framework 4.5,据微软称:
.NET Framework
Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0
Run Code Online (Sandbox Code Playgroud)
如果不推荐使用,我如何使用.Net Framework 4.5在C#中创建位图?
我从http://blog.shay.co/newtons-method/中提取了此代码:
//a - the number to square root
//times - the number of iterations
public double Sqrt(double a, int times)
{
if (a < 0)
throw new Exception("Can not sqrt a negative number");
double x = 1;
while (times-- > 0)
x = x / 2 + a / (2 * x);
return x;
}
Run Code Online (Sandbox Code Playgroud)
对于数字的迭代次数(如果存在),有什么好的经验法则? (例如,"使用n/2次迭代".)
c# ×6
java ×3
monogame ×2
.net-4.5 ×1
algorithm ×1
arraylist ×1
arrays ×1
bitmap ×1
bitmapimage ×1
c++ ×1
c-strings ×1
children ×1
cstring ×1
eclipse ×1
geometry ×1
getstate ×1
getstring ×1
hashmap ×1
iteration ×1
jcomponent ×1
jpanel ×1
keyboard ×1
list ×1
math ×1
png ×1
queue ×1
rectangles ×1
repeat ×1
return ×1
rounding ×1
square-root ×1
static ×1
string ×1
swing ×1