使用Corona在动画精灵中创建可碰撞检测区域

时间:2012-10-02 20:50:20

标签: corona sprite sprite-sheet

我有一个精灵表,其中包含一个人的框架,对应于许多不同的动作,例如“walk_left”,“walk_right”等......这些动作可能有不同数量的帧,但在每个动作中都有只会是精灵的一个特定区域,我想检测与其他物体的碰撞。

有没有办法为每个动作设置一个复杂的主体?请记住,“walk_left”的复杂主体可能包含一个位于“walk_right”不同坐标处的复杂主体

任何帮助和/或示例都有用吗?

如果有帮助,我可以提供代码。

1 个答案:

答案 0 :(得分:0)

在这些情况下我做的实际上是为每个动画创建一个“字符”,然后根据需要随时切换它们......

所以你有一个带有walk_left动画的newSprite和我想要的碰撞,另一个walk_right等等......

请记住,使用Box2D你必须立即移动它们(Box2D不喜欢你突然移动物体)。

如果您不使用Box2D并且自己处理碰撞,那么只需在同一个对象上创建几个碰撞,每个动画对应一个,并使用object.getSequence查看正在播放的动画,并使用您想要的碰撞,也许像是

local currentCollision = object.collision[object.getSequence]