Unity在Script组件上添加button等GUI组件

其实很简单,举个例子,比如说我们原有一个脚本,这个脚本是空的,叫做Original,我们把它挂载在一个空的GameObject上,如下图所示:
在这里插入图片描述

Original继承MonoBehaviour,是个空脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Original : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

我们想在这个Original组件上加GUI控件,可以这么做,再创建一个负责加控件的脚本,这个脚本只要创建了就行,该脚本不是继承Monobehaviour的,不用挂载到GameObject上,具体代码如下所示:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

[CustomEditor(typeof(Original))] //表明挂载的是Original脚本
public class MakeOriginalShowGUI : Editor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        bool isBool1 = false;
        bool isBool2 = false;

        isBool1 = EditorGUILayout.Toggle("Toggle", isBool1);
        isBool2 = GUILayout.Button("Button");
    }
}

可以看到,此时的Original组件变成了这样:
在这里插入图片描述
勾选Toggle,或者点击Button,isBool1或isBool2分别会变为True。

猜你喜欢

转载自blog.csdn.net/alexhu2010q/article/details/105388364
今日推荐