gpt4 book ai didi

Java 2 ME GameCanvas -- 如何接收所有 keyPressed 事件?

转载 作者:行者123 更新时间:2023-12-02 08:19:53 25 4
gpt4 key购买 nike

你好
我正在写一个简单的j2me计算器。使用 GameCanvas 类作为我的界面的基础。我需要处理小键盘按键事件和游戏相关事件(例如 UPDOWNFIRE 等)来移动光标。问题是模拟器和我的索尼爱立信都没有收到一些数字键盘和游戏相关的事件。例如,我得到 SOFT1SEND24ASTERISK 键按下事件,但不接收 13LEFTRIGHUP strong>、DOWNFIRE 事件。

class CalculatorCanvas extends GameCanvas
{
public CalculatorCanvas() throws java.io.IOException
{
super(true);
setFullScreenMode(true);

cursor = new Sprite(Image.createImage("/cursor.png"));
}

public void paint(Graphics g)
{
g.setColor(0);
g.fillRect(0, 0, getWidth(), getHeight());
cursor.paint(g);
}

protected void keyPressed(int keyCode)
{
System.out.println("keyPressed: " + getKeyName(key));
if (keyCode == getKeyCode(RIGHT))
cursor.move(STEP, 0);
if (key == getKeyCode(LEFT))
cursor.move(-STEP, 0);
/*...*/
repaint();
}

private final int STEP = 3;
private Sprite cursor;
}

我怎样才能收到所有这些事件?
提前致谢

PS我发现Canvas(GameCanvas的基类)重新接收所有这些事件,但我必须使用GameCanvas

最佳答案

检查 GameCanvas 构造函数的 javadoc。你应该用“false”来调用它!

关于Java 2 ME GameCanvas -- 如何接收所有 keyPressed 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5682263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com