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。

posted @   弹吉他的小刘鸭  阅读(361)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示