C# 在运行时向同一游戏对象添加多个脚本

C# 在运行时向同一游戏对象添加多个脚本,c#,unity3d,C#,Unity3d,问候, 我想知道在运行时开始时是否可以使用数组将多个不同的脚本添加到同一个游戏对象中 这是我想到的伪代码: public GameObject TargetObject; public string[] ScriptsToAdd; void Start(){ for(int i = 0; i < ScriptsToAdd.Length; i++){ TargetObject.addComponent<ScriptsToAdd[i]>();

问候,

我想知道在运行时开始时是否可以使用数组将多个不同的脚本添加到同一个游戏对象中

这是我想到的伪代码:

public GameObject TargetObject;
public string[] ScriptsToAdd;

void Start(){
     for(int i = 0; i < ScriptsToAdd.Length; i++){
           TargetObject.addComponent<ScriptsToAdd[i]>();
     }
}
公共游戏对象TargetObject;
公共字符串[]ScriptsToAdd;
void Start(){
for(int i=0;i

如果我在这里做错了什么,请一定要让我知道。

有些事情你做错了:

  • 第一:使用
    AddComponent
    而不是
    AddComponent
  • 第二:不能将字符串添加为您使用类型的组件,例如
    列出组件

首先,
AddComponent
而不是
AddComponent
。其次,您需要的是类型,而不是字符串。它在imo中不起作用。-您需要使用其文字名称来获取类型。OP似乎希望使用的替代方法是
AddComponent(string)
,但同意只要有可能,就应该选择
AddComponent()