0

だから、ここに私の問題があります:私のゲームでは、ゲームの開始時にユーザーが画面を押すことができないカウントダウンを行ったので、カウントダウンが終了するまで待ってOnSceneTouchListenerを有効にします。有効にするとすぐに、ユーザーは指を動かして何かを行うことができるようになります(重要ではありません)。

問題は、カウントダウン中にユーザーが指を動かし始めると、onSceneTouchEventメソッドが入力を取得し始めるとすぐに、ユーザーがすでに指を動かしているため、ACTION_DOWNイベントをスキップすることです。

これを防ぐために、もちろんonSceneTouchEventメソッド内でブール値を使用できますが、この方法では、すべての入力に対して常にブール値がチェックされます。パフォーマンスにはあまり影響しませんが、可能であれば別の方法を見つけたいと思います。

だから私は、AndEngineにタッチ入力イベントを取得する方法があるかどうかを考えていました(座標の情報が押された状態で、それが本当に必要です)。そうすれば、必要なことを簡単に実行するだけでACTION_DOWNイベントを「強制」できます。カウントダウンを行う方法でそれを行いますか?

前もって感謝します!

4

1 に答える 1

0

タッチ座標を取得する方法の例を次に示します。

public boolean onTouchEvent(MotionEvent event) {
    int myEventAction = event.getAction(); 

    float X = event.getX();
float Y = event.getY();

    switch (myEventAction) {
       case MotionEvent.ACTION_DOWN:
        break;
       case MotionEvent.ACTION_MOVE: {
            mySprite.setPosition(X, Y);
            break;}
       case MotionEvent.ACTION_UP:
            break;
    }
    return true;
}

この例のソース

于 2012-12-04T06:46:29.530 に答える