2014-01-09 78 views
3

我無法在cocos2d/box2d遊戲中正常使用「warp」功能。向cocos2d/box2d遊戲中添加「warp」功能

我有兩個項目可以與我的主精靈發生碰撞 - 如果精靈碰撞/進入一個,那麼它會退出另一個 - 就像變形或傳送特徵。

我遇到的問題是,如果我的精靈與「A」碰撞,那麼我將它的位置移動到「B」,它應該退出「B」並繼續沿着與「 「碰撞。

但是,一旦精靈命中「B」,它被視爲與「B」的碰撞,並且它跳回到「A」!因此,如果我的精靈擊中了任何一個扭曲特徵,它就會陷入一個無止境的循環中,它只是不停地從A跳到B,然後再跳回來!

我已經嘗試了很多臨時修復,比如將位置(例如(x + 10))添加到位置,以便它在退出B時清除「B」碰撞,但這是一個混亂的解決方案。

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

+0

只要記下與B的下一次碰撞應該被忽略的事實。 – iforce2d

回答

3

BOOL如何跟蹤你的碰撞狀態?

所以,當你的對象與碰撞,設置

_isColliding = YES 

一旦你自由碰撞,設置

_isColliding = NO 

這種情況發生,同時_isColliding仍設置爲YES會忽略任何衝突。

+0

這就是我最終做的,它似乎工作正常! – Richard