簡體   English   中英

卸下車身上的固定裝置(cocos2d / box2d)

[英]Removing a fixture on body (cocos2d/box2d)

我有幾個球在屏幕上彈跳,每個球都有自己的身體,可以互相彈開。 用戶可以撿起一個球並將其拖動到屏幕周圍。

我想“殺死”選定的球,以便只要用戶向下觸摸它,便可以暫時將其從空間中移出。 因此,其他球會通過它彈跳,好像它不在那兒一樣。 釋放后,球將恢復其物理性質,並可以繼續反彈。

我應該如何執行呢? 我應該完全移除主體並在touchEnded上重新創建它嗎? 任何想法或幫助表示贊賞。 謝謝

我相信您無法在現有實體上添加/刪除固定裝置。 實現所需功能的方法是禁用主體(將其活動狀態設置為false)。 您還可以更改其碰撞過濾器/蒙版,以使其不會與某些游戲對象發生沖突,但仍會與世界邊界發生沖突。

您可以將Box2D主體包裝在一個自定義類中,該類將保留定義(bodyDef和FixtureDef可重用),然后可以:

  • 銷毀/重建現有物體上位置0、0的夾具,通過觸摸移動
  • 或在觸摸位置破壞/重建整個身體

我相信管理夾具可以更好地提高性能。

暫無
暫無

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

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