我想要一個很好的方式來定義我使用DirectX在C++中創建的小遊戲的基本項目。眼下的結構將類似於:創建「項目」定義
struct itemdef {
string name;
ID3DXMesh* mesh;
vector<IDirect3DTexture9*> textures;
vector<short> abilities;
};
我遇到的問題是,我基本上是想使這些基礎性的陣列,而不創造紋理或能力的上限。
基本上把它想象成具有「itemdef」
vector<itemdef> itemDefs;
另一個數組,然後想要將項目添加到該陣列中,無論是硬編碼或者從一個文件:
itemDefs.push_back(NewItem("Wall", Assets.GetMesh(Mesh_Wall), ???, ???));
基本上,我有不知道如何將多個單個項目放入矢量數組的參數列表中。第二個問題是需要在一組參數中創建兩個列表。
所以我的問題是:什麼應該取代「???」在上面的聲明中的字段?或者,如果失敗了,我應該用什麼方法來存儲這些基本定義? (爲了清楚起見,紋理的指針實際上與上面的網格相同,而「能力」只是短整數。儘管應該注意的是,對於這些定義,網格和紋理都可以用他們的枚舉,而不是指針)
如果您爲使用的編程語言和API添加了標籤,這將有所幫助。 – 2012-07-23 18:05:02
增加:) 我的不好 – user1539405 2012-07-24 02:04:02
你真的需要指針嗎? – 2012-07-24 06:14:33