四分木と、ビデオゲーム コードの衝突検出におけるその使用法について研究しています。
ただし、これまでのすべての実装は、C++、C#、javascript、および Lua のオブジェクト指向機能に依存してすべてのノードを実行しており、それを生の C に変換する方法がまったくわかりません。
目的は、複数のオブジェクト (ショット) をアクター (常に移動) と地形 (静的) に対してテストすることです。次に、地形を持つ俳優。「純粋な」C 用語 (つまり、メソッドや自己参照オブジェクトを使用しない) で読むことができる例を見つけることができないため、それをコーディングする方法の基本的な考え方さえ把握できませんが、その背後にある考え方は理解しています。アルゴリズム。設定方法、参照方法、使用するデータ型など、まったくわかりません。私は C++ についてまったく何も知らないので、C に翻訳することは不可能です。
また、地形にはタイルマップを使用する予定で、完全な正方形ではなく、縦長または横長のマップなどを作成したいと考えています。四分木はそのようなマップでも機能しますか?
また、多くの移動要素があり、地形は唯一の静的な部分です (移動するブロックやドアなどの要素は別のエンティティです)。更新が頻繁に必要になる場合、四分木を使用する価値はありますか? グローバルデータにする必要さえありますか?(一部の関数内で偽造され、衝突が有効になったときに渡される可能性もあります)。そのような場合、メモリを割り当てる必要がありますか?