中断libgdx碰撞时的动作

Spr*_*bua 3 java action collision-detection game-development libgdx

我正在使用libgdx开发游戏.我的Gameobjects都是Actor的子类.现在我想利用可以与Actors一起使用的动作.如果我的钥匙控制玩家与计算机控制的敌人发生碰撞,那么玩家应该被击退.我可以通过moveBy-Action获得此功能.但是当我的玩家与一个墙或另一个僵尸发生碰撞时,他仍然会动作回击原因,行动应该打断.有没有办法实现这个目标?或者炬是不是为这样的事情做的?

谢谢

Ben*_*nnX 8

因为有一种方法可以停止行动.

  1. 一种方法是从你的演员中删除动作 actor.removeAction(Action action).
  2. 您可以清除演员的动作actor.clearActions().这会删除所有操作.
  3. 您可以重置您的ActionSequenceAction.sequence.reset()要么action.reset()
  4. 通过覆盖.act(float delta)你的演员来停止在碰撞时更新动作
  5. 否则写一个MyAction extends ActionMyAction extends TemporalAction类型覆盖它update (float percent) 并具有一个布尔值用于中断.如果中断则不更新,如果不更新.

我会建议你看看行动,看看它们是如何工作的,也许可以编写你自己可以中断的行动.(你自己的动作应该是最好的,因为它会是你喜欢它的方式)否则删除碰撞时的动作.