【发布时间】:2015-06-16 03:26:50
【问题描述】:
有没有办法实例化从 MonoBehaviour 派生的类,例如下面的示例而不会收到警告:“您正在尝试使用 'new' 关键字创建 MonoBehaviour。这是不允许的。只能添加 MonoBehaviour使用 AddComponent()。或者,您的脚本可以从 ScriptableObject 继承或根本没有基类"
例子:
public class e1506131012test2 : MonoBehaviour
{
Move move = new Move();
//Move move = gameObject.GetComponent<Move>();
void Update()
{
move.Printing();
}
}
public class Move : MonoBehaviour
{
public int number = 5;
public void Printing()
{
print(number);
}
}
【问题讨论】:
-
您能否澄清一下“不允许这样做”的哪一部分需要更多解释?或者,您可以说明您的实际目标,并且可能有不同的方法来实现它。
-
尝试:AddComponent(Move);在 "class e1506131012test2" 中,不要让 Move 派生自 MonoBehaviour...
-
添加组件(移动);或 gameObject.Addcomponent
();给我另一个控制台错误(见下面的答案)。我希望实例化一个派生自 MonoBehaviour 的类(例如:class myClass : MonoBehaviour into myOtherClass)
标签: c# inheritance unity3d