我无法在cocos2d / box2d游戏中正常使用“扭曲”功能。
我有两个物品供我的主精灵碰撞 - 如果精灵碰撞/进入一个,那么它会退出另一个 - 就像经线或传送功能一样。
我遇到的问题是,如果我的精灵与“A”发生碰撞,我会将它的位置移动到“B”并且它应该退出“B”并继续以与“A”之前相同的方向和速度前进“碰撞。
但是一旦精灵击中“B”,它就会被视为与“B”的碰撞,并且它会跳回到“A”!
因此,如果我的精灵遇到任何扭曲特征,它最终会陷入无限循环,它会不断地从A跳到B然后再回来!!
我尝试了很多临时修复,例如向位置添加例如(x + 10),以便在退出B时清除“B”碰撞,但这是一个混乱的解决方案。
希望有人可能有另一个好主意!!
答案 0 :(得分:3)
BOOL如何跟踪你的碰撞状态?
因此,当您的对象与A发生碰撞时,请设置
_isColliding = YES
一旦没有碰撞,请设置
_isColliding = NO
_isColliding仍然设置为YES时发生的任何冲突都将被忽略。