我想知道是否(例如)按下了3键(KEY_NUM3
)
我试过getKeyStates
,但它只检测游戏操作键
我如何获得非游戏动作键的状态?
(我已经覆盖了Canvas的keyPressed
和keyReleased
函数,并将关键状态存储在一个数组中(我使用Vector
进行存储,但我认为可以将它们存储在一个数组中,如果这是问题),但这似乎不是很好)
答案 0 :(得分: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;
}
}
答案 1 :(得分:-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