タグ付けされた質問 「entity-system」

ゲームオブジェクト(エンティティ)がコンポーネントから構成され、システムによって操作されるプログラミングパラダイム。各エンティティは、特定のコンポーネントを指すIDです。

3
コンポーネントベースのエンティティシステムAPIの命名の問題
私のエンジンはコンポーネントベースのエンティティシステムを内部で使用しており、スクリプト用にLuaにバインドしたいと考えています。 今、私はそれをタイピングするためのスクリプトを書く人々を救いたいと思います。C ++では、エンティティの位置を設定するには、次のようにします。 pEntity->GetComponent< CPoint >()->SetPos( Vector( X, Y ) ); つまり、Lua 1:1にバインドする場合は、次のことも行う必要があります。 ent:GetComponent( CP_POINT ):SetPos( 123, 456 ) しかし、正直に言って、エンティティの位置を設定するためだけに多くの文字を入力しますか? 私はそうは思わない、それが私がLuaからコンポーネントシステムを「隠した」理由です。 今、あなたがしていることは ent:SetPos( 123, 456 ) コンポーネントのものは内部的に処理されます。ent:AddComponentやent:RemoveComponentなどを使用して、Luaのコンポーネントを手動で追加および削除することもできます。 今、これも完璧ではないようです: エンティティメタテーブルは、すべてのコンポーネントのすべての機能を実行する必要があるため、乱雑になります ネーミングの問題:ent:SetJointMotorEnabled()やはりちょっと悪いようです スクリプトの快適性を危険にさらすことなく、コンポーネント関数のより良い命名体系をどのように見つけることができるかについてのアイデアはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.