這是我的問題。設計問題幫助
我正在使用名爲Box2D的物理庫。我可以連接一個聽衆,告訴我兩個燈具相撞的時間。
本質上,Box2D的工作方式是通過創建b2Body。因此,我只知道碰撞的夾具屬於哪個b2Body。在我的遊戲中,我有一個實體,從中我有一個PhisicsEntity。 PhysicsEntity擁有一個指向b2Body的指針。它也有一個來自實體的sendMessage方法。問題是,從b2Body中,我如何向PhysicsEntity發送碰撞消息。我想要做的是將b2Body的userData void *設置爲其對應的PhysicsEntity。不得不拋出void *來做這件事似乎是非常錯誤的。
有沒有更好的方法可以很快地知道與b2Body相關聯的物理實體而無需投射或查找?
謝謝
C++需要和void *相關。部分原因是它可以幫助人們將void *用作「指向某物的指針」,或者將其從一種類型轉換爲另一種類型的廉價類型,這會在多重繼承的情況下引發破壞。 – dascandy