为什么向左滑动不起作用?

时间:2014-05-27 10:14:38

标签: android andengine game-engine

我编写了以下代码来检测并执行精简操作,单击并向右滑动。

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
    float x = 0F;
    int tapCount = 0;
    boolean playermoving = false;
    // TODO Auto-generated method stub
    if (pSceneTouchEvent.getAction() == MotionEvent.ACTION_MOVE) {
        if (pSceneTouchEvent.getX() > x) {
            playermoving = true;
            players.runRight();
        }
        if (pSceneTouchEvent.getX() < x) {

            Log.i("Run Left", "SPRITE Left");
        }
        /*
         * if (pSceneTouchEvent.getX() < x) { System.exit(0);
         * Log.i("SWIPE left", "SPRITE LEFT"); }
         */
    }
    if (pSceneTouchEvent.getAction() == MotionEvent.ACTION_DOWN) {
        playermoving = false;
        x = pSceneTouchEvent.getX();
        tapCount++;
        Log.i("X CORD", String.valueOf(x));
    }
    if (pSceneTouchEvent.isActionDown()) {
        if (tapCount == 1 && playermoving != true) {
            tapCount = 0;
            players.jumpRight();

        }
    }
    return true;
}

代码工作正常。唯一的问题是由于某些原因未检测到向左滑动事件。如何使滑动左侧动作起作用?请帮忙

1 个答案:

答案 0 :(得分:0)

因为你的x总是0而pSceneTouchEvent.getX()不能是否定的,所以它总是只做#34;运行正确&#34;。这是因为您在每个新事件中设置了x = 0。