创建脚本而不将其附加到GameObject

时间:2017-09-29 15:04:33

标签: c# unity3d initialization

在Unity中有一个类cars.cs和garage.cs在garage.cs中我想添加不同的汽车类对象。

public class Car : MonoBehaviour {
    public int color {get;set;}
    public string name {get;set;}

    public Car(int color, string name){
        this.color      = color;
        this.name       = name ;
    }
}

public class Garage : MonoBehaviour {
    public Car c01 = new Car(1,"BMW");
    public Car c02 = new Car(3,"Honda");
}

Garage.cs附加到Unity中的EmptyObject。现在我总是得到不允许使用“new”关键字创建的错误。但是如何才能设置/初始化? (颜色,名称)如果我不想在项目中为每辆车创建一个空对象并通过拖放附加它?!

您正在尝试使用'new'关键字创建MonoBehaviour。这是不允许的。 MonoBehaviours只能使用AddComponent()添加。或者,您的脚本可以继承自ScriptableObject,也可以不继承任何基类

提前感谢您:)

0 个答案:

没有答案