实例化一个派生自 MonoBehaviour 的类

编程入门 行业动态 更新时间:2024-10-28 13:17:18
本文介绍了实例化一个派生自 MonoBehaviour 的类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

有没有办法实例化从 MonoBehaviour 派生的类,例如下面的示例而不会收到警告:您正在尝试使用 'new' 关键字创建 MonoBehaviour.这是不允许的.只能添加 MonoBehaviours使用 AddComponent().或者,您的脚本可以从 ScriptableObject 继承或根本没有基类"

Is there a way to instantiate a class that derives from MonoBehaviour such as the example bellow without getting the warning: "You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all"

示例:

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);
    }
}

推荐答案

不要从 MonoBehaviour 派生它.

Just don't derive it from MonoBehaviour.

public class Move 
{
    public int number = 5;

    public void Printing()
    {
        print(number);
    }
}

如果它真的必须是 MonoBehaviour,那意味着你可能将它放在预制件上,在这种情况下你使用 Instantiate().

And if it really must be a MonoBehaviour, that means you probably have it on a prefab, in which case you use Instantiate().

这篇关于实例化一个派生自 MonoBehaviour 的类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-28 18:03:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1176869.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:实例   MonoBehaviour

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!