1
好吧,我創建了我自己的實體組件系統,並將其鎖定在AddComponent實體方法中,添加組件到Enity,這裏是它的外觀:將類作爲模板參數,並將類構造函數的參數作爲方法參數的方法
template <typename T>
void AddComponent() {
NumOfComponents++;
AllComponents.push_back(new T());
}
這工作正常,但如果我有一個組件構造?像這樣
class Transform : public Component
{
public:
Transfrm(Vector3f newPosition, Vector3f newRotation, Vector3f newScale) : Component("Transfrm") {};
Vector3f Position;
Vector3f Rotation;
Vector3f Scale;
~Transfrm();
};
我試圖做到的,是這樣的:
Entity ent1;
Vector3f Pos, Rot, Scl;
ent1.AddComponent<Transform>(Pos, Rot, Scl); // This is currently not possible
如何接受變換的方法參數AddComponent方法參數,實現類似的東西上面?
你好代碼你告訴我是給我兩個錯誤的是「無效AddComponent(參數&& ..args){」錯誤行24 \t C3484 \t語法錯誤:預期「 - >」的返回類型之前 錯誤\t C3613 \t' - >'(假設爲'int')後缺少返回類型24 – kooldart
小寫字母錯誤。一段時間不見了。 –
不要固定它,用3個虛線參數替換「..args」:「......參數」 – kooldart