Hy,我已经在andengine中为Android启动了一个游戏,我想在一个精灵上应用一个跳跃功能,就像一些射弹运动一样,向上和向前。我已经应用了移动修改器来获得该功能。但这不是弹丸运动。
我怎样才能实现这一点,而我的精灵跳跃再次点击它不能再跳,直到它完成它跳。我不想在场景触摸上使用延迟功能。任何帮助。
final Entity playerEntity = move;
final float jumpDuration = 1;
final float startX = playerEntity.getX();
final float jumpHeight = 60;
move.getTextureRegion().setFlippedVertical(true);
final MoveModifier jumpForwardUp = new MoveModifier(jumpDuration/2, startX, startX - jumpHeight, playerEntity.getY(), playerEntity.getY() + 130);
final MoveModifier jumpForwardDown = new MoveModifier(jumpDuration/2, startX - jumpHeight, startX, playerEntity.getY() + 130, playerEntity.getY() + 170);
final SequenceEntityModifier modifier = new SequenceEntityModifier(jumpForwardUp ,jumpForwardDown);
playerEntity.registerEntityModifier(modifier);
答案 0 :(得分:2)
尝试使用JumpModifier
,对于一些真实的物理工作,请转到Box2d Extension
的{{1}}并查看一些AndEngine
示例代码。
修改强>
AndEngine
包含修饰符列表。 AndEngine
就是其中之一。在对象处于跳转状态时保持JumpModifier
的类级别或项目级别flag
,当对象处于正常状态时保持true
。
每个修饰符都会将false
中的IModifierListner
对象设置为flag
true
onStart
的对象,并将其设置为IModifierListner
{ {1}}的{1}}。在每次点按时检查false
是onEnd
是IModifierListner
还是简单flag
并且什么也不做。