2012-05-20 62 views
0

我有幾個球在屏幕上彈跳,每個都有自己的身體,可以互相反彈。用戶可以拿起球並在屏幕上拖動它。去除身體上的裝置(cocos2d/box2d)

我想「殺死」選中的球,只要用戶在球上觸碰它就暫時將球從球場上移開。所以其他球會彈跳,就好像它不在那裏一樣。一旦釋放,球將恢復其物理屬性,並可以恢復被反彈。

我該如何執行此操作?我是否應該完全移除身體並在touchEnded後重新創建它?任何想法或幫助表示讚賞。謝謝

回答

0

我相信你不能添加/刪除燈具到現有的身體。實現你想要的方式是禁用正文(將它的活動狀態設置爲false)。您也可以更改它的碰撞過濾器/蒙版,以便它不會與某些遊戲對象發生衝突,但仍然會與世界邊界發生衝突。

0

你可以用你的Box2D的身體在自定義類,將保持定義(bodyDef和fixtureDef是可重複使用的),那麼你可以:

  • 破壞/在位置0,0對現有機構重新夾具通過觸摸
  • 或破壞移動/重新創建整個身體觸摸位置

我相信管理夾具是獲得更好的性能。