Я использую этот метод в AndEngine
, чтобы определить, когда пользователь нажимает на экран,
@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {
if(pSceneTouchEvent.isActionDown()) {
if(pSceneTouchEvent.isActionDown()) { //Jump only if the user tapped, not moved his finger or something
taps++;
if(taps == 1){
if(isJumping == false){
final float jumpDuration = 2;
final float startX = player.getY();
final float jumpHeight = 100;
final MoveYModifier moveUpModifier = new MoveYModifier(.1f, startX, startX - jumpHeight);
final MoveYModifier moveDownModifier = new MoveYModifier(.1f, startX - jumpHeight, startX);
final SequenceEntityModifier modifier = new SequenceEntityModifier(moveUpModifier, moveDownModifier);
player.registerEntityModifier(modifier);
isJumping = true;
hipp_jump.play();
return true;
}
}
}
}
return false;
}
Sooo Проблема, с которой я сталкиваюсь, заключается в том, что если пользователь дважды нажимает на экран, спрайт дважды прыгает, что перемещает его из положения, в которое он должен вернуться. Потому что, когда он прыгает дважды, меняется Y.
Как я могу разрешить спрайту перемещаться только ОДИН РАЗ при каждом касании, даже если пользователь нажимает более одного раза?