0

こんにちは
、単純な j2me 電卓を書いて​​います。インターフェイスの基礎としてGameCanvasクラスを使用します。カーソルを移動するために、テンキー キー イベントとゲーム関連のイベント ( UPDOWNFIREなど) の両方を処理する必要があります。問題は、エミュレーターも私のソニー・エリクソンも、テンキーやゲーム関連のイベントを受信しないことです。たとえば、SOFT1SEND24ASTERISKキーが押されたイベントを取得しますが、 13LEFTRIGHUPDOWNを受け取りません。FIREイベント。

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キャンバス( GameCanvasの基本クラス)がこのすべてのイベントを受け取ることがわかりましたが、 GameCanvas を使用する必要があります

4

1 に答える 1

2

GameCanvas コンストラクターの javadoc を確認してください。"false" で呼び出す必要があります。

于 2011-10-16T09:45:17.713 に答える