Я использую этот метод в 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;
}
Ооочень проблема, с которой я сталкиваюсь, заключается в том, что если пользователь дважды коснется экрана, то спрайт подпрыгнет дважды, что выведет его из позиции, в которую он должен вернуться. Потому что, когда он дважды прыгает, меняется Y.
Как я могу позволить спрайту перемещаться только ОДИН РАЗ на каждое нажатие, даже если пользователь нажимает более одного раза?