-1

嗨,我已经在 Android 的 andengine 中开始了一个游戏,我想在一个精灵上应用一个跳跃功能,这就像一些抛射运动,向上和向前也是如此。我已应用移动修饰符来获得该功能。但这不是抛射运动。

我怎样才能做到这一点,而我的精灵通过再次点击它不能再次跳跃,直到它完成它跳跃。我不想在场景触摸上使用延迟功能。任何帮助。

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);
4

1 回答 1

2

尝试使用and 来完成一些真正的物理工作,JumpModifier查看并浏览一些示例代码。Box2d ExtensionAndEngineAndEngine

编辑:

AndEngine有修饰符列表。JumpModifier是其中之一。保持一个类级别或项目级别flag,即true您的对象处于跳转状态并且false对象处于正常状态。

每个修饰符都采用IModifierListnerset that flagto truein onStartof的对象并将其IModifierListner设置为falseat onEndof IModifierListner。在每次点击时检查这flag是否很true简单return并且什么也不做。

于 2012-07-03T06:43:23.510 回答