碰撞时中断 libgdx 操作
Posted
技术标签:
【中文标题】碰撞时中断 libgdx 操作【英文标题】:Interrupt libgdx Action on collision 【发布时间】:2014-02-01 01:36:39 【问题描述】:我正在使用 libgdx 开发游戏。我的游戏对象都是 Actor 的子类。现在我想利用可以与演员一起使用的动作。如果我的键控播放器与计算机控制的敌人发生碰撞,则应该将播放器击退。我可以通过 moveBy-Action 得到这个。但是当我的玩家由于击退而仍在移动时与墙或另一个僵尸碰撞时,动作应该中断。 有没有办法做到这一点?还是不是为了这样的事情而采取的行动?
谢谢
【问题讨论】:
【参考方案1】:当然有办法停止行动。
-
一种方法是使用
actor.removeAction(Action action)
。
您可以使用actor.clearActions()
清除您的演员动作。这会删除所有操作。
您可以重置您的Action
或SequenceAction
。 sequence.reset()
或 action.reset()
通过覆盖你的actor的.act(float delta)
来停止在碰撞时更新动作
否则写一个MyAction extends Action
或MyAction extends
TemporalAction
覆盖update (float percent)
的类型
并且有一个用于中断的布尔值。如果中断不更新如果
不更新。
我建议查看一下这些动作,看看它们是如何工作的,也许可以编写你自己的可以被中断的动作。 (您自己的操作应该是最好的,因为这将是您喜欢的方式)否则删除碰撞操作。
【讨论】:
哇,谢谢伙计(:我想我会使用第 5 点(:听起来很棒。第 4 点似乎也可用于动作之外的碰撞。谢谢 欢迎您。我认为第 5 点将是最好的,所以去吧。以上是关于碰撞时中断 libgdx 操作的主要内容,如果未能解决你的问题,请参考以下文章