我编写了以下代码来检测并执行精简操作,单击并向右滑动。
@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;
}
代码工作正常。唯一的问题是由于某些原因未检测到向左滑动事件。如何使滑动左侧动作起作用?请帮忙
答案 0 :(得分:0)
因为你的x总是0而pSceneTouchEvent.getX()不能是否定的,所以它总是只做#34;运行正确&#34;。这是因为您在每个新事件中设置了x = 0。