3

我想知道(例如)是否按下了 3 键(KEY_NUM3)。
我试过getKeyStates了,但它只检测到游戏操作键。
如何获取非游戏操作键的状态?
(我已经覆盖了Canvas 的keyPressedandkeyReleased函数并将键状态存储在一个数组中(我正在使用一个Vector用于存储但我认为也可以将它们存储在一个数组中,如果这是问题的话),但这似乎不是很好的)

4

2 回答 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 回答