我在一个cocos2d/box2d游戏中遇到了“warp”功能无法正确工作的问题。
我的主要精灵有两个物品可以碰撞 - 如果精灵与其中一个碰撞/进入,则它会从另一个物品出现,就像传送或者瞬移一样。
我的问题是,如果我的精灵与“A”碰撞,我将其位置移动到“B”,然后它应该退出“B”,并以相同的方向和速度继续前进,在与“A”碰撞之前的状态下。
但是,一旦精灵碰到“B”,它就被视为与“B”碰撞,并跳回“A”!
因此,如果我的精灵碰到任何一个传送门,它最终会陷入一个无限循环中,不断地从A跳到B再跳回A!!
我尝试了很多临时解决方法,例如添加(x+10)到位置,以便当它退出B时清除“B”碰撞,但这是一个混乱的解决方案。
希望有人能提供另一个好的想法!
我的主要精灵有两个物品可以碰撞 - 如果精灵与其中一个碰撞/进入,则它会从另一个物品出现,就像传送或者瞬移一样。
我的问题是,如果我的精灵与“A”碰撞,我将其位置移动到“B”,然后它应该退出“B”,并以相同的方向和速度继续前进,在与“A”碰撞之前的状态下。
但是,一旦精灵碰到“B”,它就被视为与“B”碰撞,并跳回“A”!
因此,如果我的精灵碰到任何一个传送门,它最终会陷入一个无限循环中,不断地从A跳到B再跳回A!!
我尝试了很多临时解决方法,例如添加(x+10)到位置,以便当它退出B时清除“B”碰撞,但这是一个混乱的解决方案。
希望有人能提供另一个好的想法!