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。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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搭建本