我想知道(例如)是否按下了 3 键(KEY_NUM3
)。
我试过getKeyStates
了,但它只检测到游戏操作键。
如何获取非游戏操作键的状态?
(我已经覆盖了Canvas 的keyPressed
andkeyReleased
函数并将键状态存储在一个数组中(我正在使用一个Vector
用于存储但我认为也可以将它们存储在一个数组中,如果这是问题的话),但这似乎不是很好的)
问问题
3892 次
2 回答
3
在你的按键中使用keyCode
传入的像这样
protected void keyPressed(int keyCode)
{
//try catch getGameAction as can legally throw an exception
int gameAction = getGameAction(keyCode);
switch(gameAction)
{
case UP:
break;
case DOWN:
break;
case LEFT:
break;
}
switch(keyCode)
{
case KEY_NUM1:
break;
case KEY_NUM2:
break;
case KEY_NUM3;
break;
}
}
于 2009-12-28T12:47:53.457 回答
-1
我想这可能类似于下面的代码
int key=getKeyStates();
// i mean keyStates();
if((key&down_pressed)!=0)
{
//do movements
}
但可以
if((key & Canvas.key_num3)!=0)
{
//do something
}
//you can set the super() to true in the constructor
于 2011-02-24T05:18:12.257 回答