問題タブ [entity-component-system]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
54 参照

c++ - テンプレート化された関数の静的メンバー

私は現在、コンポーネントクラスに追加のデータを保存せずに、さまざまなコンポーネントタイプの一意の ID を作成する必要があるエンティティコンポーネントシステムに取り組んでいます (静的仮想メソッドが必要になるため、動作しません。そのため、何かを比較するたびに新しいコンポーネントをインスタンス化する必要があります)。私が最終的に行ったアプローチは、テンプレート化されたメソッドを作成することでした:

次に、GetTCompomponentID() で新しい静的 COMP_ID が初期化されるたびに一意の ID を返す静的メソッドをコンポーネントの基本クラスに設定します。

これを使用して、使用するコンポーネントの派生物ごとに一意の静的 ID を作成できます。データをクラス自体に仮想関数として格納する必要はありません (静的にすることはできないため、比較が必要になるたびに新しいインスタンス)

静的メソッド メンバーによって使用される明らかな余分なメモリを除いて、このようなシステムを使用することに根本的な問題はありますか?

-ありがとう