[英]How to remove colliding box2d bodies in AndEngine?
我正在使用AndEngine創建一個帶有box2d擴展名的游戲。 我想實現一個條件,當兩個物體碰撞時,它們應該被移除或重生。 最初我嘗試過使用
if(sprite1.collidesWith(sprite2))
// remove the sprites
但這似乎沒有幫助,因為精靈附着在各自的身體上。 我也嘗試使用contactListener,如下所示:
bodyA=getFixtureA().getBody();
bodyB=getFixtureB().getBody();
然后是
if(bodyA!=null && bodyB!=null)
// remove the bodies
但那場比賽很糟糕。 有人知道更好的方法嗎?
所以有一些關於碰撞的東西,但我花了很長時間才弄清楚如何根據碰撞去除物體。 所以決定做一個快速的教程來嘗試幫助其他人。 關鍵是在Box2D中你不能刪除碰撞處理程序中的正文,並且需要做一些事情來標記它以便在下次更新時處理刪除。 (可能是更好的方法,但這有效並完成工作)
這是一個非常好的教程的鏈接。
這肯定會幫助您完成工作。
謝謝 :)
如果實際發生Sprite碰撞,您可以同時刪除實體:
mPhysicsWorld.getPhysicsConnectorManager().findPhysicsConnectorByShape(pSprite);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.