在cocos2d / box2d游戏中添加'warp'功能

时间:2014-01-09 00:39:54

标签: cocos2d-iphone box2d collision-detection

我无法在cocos2d / box2d游戏中正常使用“扭曲”功能。

我有两个物品供我的主精灵碰撞 - 如果精灵碰撞/进入一个,那么它会退出另一个 - 就像经线或传送功能一样。

我遇到的问题是,如果我的精灵与“A”发生碰撞,我会将它的位置移动到“B”并且它应该退出“B”并继续以与“A”之前相同的方向和速度前进“碰撞。

但是一旦精灵击中“B”,它就会被视为与“B”的碰撞,并且它会跳回到“A”!

因此,如果我的精灵遇到任何扭曲特征,它最终会陷入无限循环,它会不断地从A跳到B然后再回来!!

我尝试了很多临时修复,例如向位置添加例如(x + 10),以便在退出B时清除“B”碰撞,但这是一个混乱的解决方案。

希望有人可能有另一个好主意!!

1 个答案:

答案 0 :(得分:3)

BOOL如何跟踪你的碰撞状态?

因此,当您的对象与A发生碰撞时,请设置

_isColliding = YES 

一旦没有碰撞,请设置

_isColliding = NO

_isColliding仍然设置为YES时发生的任何冲突都将被忽略。