簡體   English   中英

如何在AndEngine中刪除碰撞的box2d體?

[英]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中你不能刪除碰撞處理程序中的正文,並且需要做一些事情來標記它以便在下次更新時處理刪除。 (可能是更好的方法,但這有效並完成工作)

這是一個非常好的教程的鏈接。

Box2D碰撞和移除

這肯定會幫助您完成工作。

謝謝 :)

如果實際發生Sprite碰撞,您可以同時刪除實體:

mPhysicsWorld.getPhysicsConnectorManager().findPhysicsConnectorByShape(pSprite);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM