我用 box2D 物理制作了一個 2D 游戲,我想在物件之間實作一個父子系統。孩子的位置將相對于它的父母。例如,父物件位置為 (10, 0),相對子物件位置為 (0, 1),結果子物件位置為 (10, 1)。
我正在考慮如何實作類似的東西,我得出的結論是,將父當前位置減去父上一幀位置添加到子位置向量的每個分量,就達到了這個效果。
這在普通游戲中運行良好,但是對于 box2d 物理,存在一些“延遲”,并且子位置的更新速度似乎比父親慢。
有沒有正確的方法可以更準確地實作這種效果?
uj5u.com熱心網友回復:
您所描述的內容在物理模擬世界中被稱為約束。它只是意味著受約束的物件不能隨意移動,而是有一些限制。約束的一個特例是將兩個物體連接在一起的關節——Box2D支持它們。在您的特定情況下,如果您希望孩子始終與父母完全相同,您可能需要一個“焊接”接頭。
話雖如此,如果您希望父子之間 100% 互鎖,您可能希望通過組合 Fixtures 或使用 ChainShape創建一個復合形狀;這將保證系統永遠不會考慮它們相對于彼此移動的可能性,至少不會考慮動態力。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/507881.html
