位置: 编程技术 - 正文

编辑器拓展 Menuitem(编辑器组件)

编辑:rootadmin
using UnityEngine;using System.Collections;using UnityEditor ;public class MyEditorWindow : EditorWindow {[MenuItem ("Window/MyWindow")]static void AddWindow(){//创建窗口Rect rect = new Rect (0,0,,);MyEditorWindow window = (MyEditorWindow)EditorWindow .GetWindowWithRect (typeof(MyEditorWindow),rect,true,"CustomWindow");window.Show();}//输入文字类容;private string text;private Texture texture; string status="hao"; bool b;public int toolbarInt = 0;public Texture icon;public string[] toolbarStrings = new string[] {"Toolbar1", "Toolbar2", "Toolbar3"};public void Awake(){ //在资源中读取一张贴图 texture = Resources.Load ("1")as Texture;}//绘制窗口时调用void OnGUI(){// button 监听按钮EditorGUILayout .TextField ("name","value");if(GUILayout .Button ("点我"))Debug .Log ("点我了");Debug .Log ("OnGUI");EditorGUILayout.LabelField ("Status: ", "Idel");

推荐整理分享编辑器拓展 Menuitem(编辑器组件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:打开编辑器,扩充编辑栏,编辑器外观,编辑器组件,编辑器界面,编辑器界面,microsoft编辑器浏览器扩展,编辑器界面,内容如对您有帮助,希望把文章链接给更多的朋友!

编辑器拓展 Menuitem(编辑器组件)

EditorGUILayout.LabelField ("Empty");

//下拉隐藏菜单

b =EditorGUILayout .Foldout (b,status);if(b){EditorGUILayout.Vector3Field("Position", new Vector3 (0f,f,1f));}//输入框控件text = EditorGUILayout .TextField ("输入文字",text);if(GUILayout.Button ("打开通知",GUILayout .Width ())){//打开通知栏this.ShowNotification (new GUIContent ("This is a Notifactiion"));}if(GUILayout.Button ("关闭通知",GUILayout .Width ())){//关闭通知栏this .RemoveNotification ();}//文本框显示鼠标在窗口的位置EditorGUILayout .LabelField ("鼠标在窗口的位置",Event.current .mousePosition.ToString ());// 选择贴图texture = EditorGUILayout .ObjectField ("添加贴图",texture,typeof (Texture),true)as Texture;if(GUILayout.Button ("关闭窗口",GUILayout .Width ())){//关闭窗口this.Close ();} // 工具条toolbarInt = GUI.Toolbar(new Rect(, , , ), toolbarInt, toolbarStrings); // GUI.Button(new Rect(,, , ), new GUIContent("Click me", icon));}void Update(){}void OnFocus(){Debug.Log("当窗口获得焦点时调用一次");}void OnLostFocus(){Debug.Log("当窗口丢失焦点时调用一次");}void OnHierarchyChange(){Debug.Log("当Hierarchy视图中的任何对象发生改变时调用一次");}void OnProjectChange(){Debug.Log("当Project视图中的资源发生改变时调用一次");}void OnInspectorUpdate(){//Debug.Log("窗口面板的更新");//这里开启窗口的重绘,不然窗口信息不会刷新this.Repaint ();}void OnSelectionChange(){//当窗口出去开启状态,并且在Hierarchy 视图中选择游戏对象时调用 foreach (Transform t in Selection .transforms){ //有可能是多选,这里开启了一个循环打印游戏对戏的名称 Debug .Log ("OnselectionChange"&#;t.name); }}void OnDestroy(){Debug.Log("当窗口关闭时调用");}}

编辑器拓展 CustomEditor usingUnityEngine;usingSystem.Collections;usingUnityEditor;//自定义样式的脚本[CustomEditor(typeof(CubeScript))]publicclassEditorTest:Editor{//自定义Inspector视图publicoverridevoidOnInspect

Unity3D Editor类(Inspector) 编写经验总结 分类:Unity3D--:人阅读评论(2)收藏举报EditoreditorInspectorunityUnityUnity3Dunity3dunity3DUnity3d1.Editor类中的全部控件描画,都是通过GUI完成的,所以不

unity优化 1.尽量避免每帧处理比如:functionUpdate(){DoSomeThing();}可改为每5帧处理一次:functionUpdate(){if(Time.frameCount%5==0){DoSomeThing();}}2.定时重复处理用InvokeRepeating函数

本文链接地址:https://www.jiuchutong.com/biancheng/369361.html 转载请保留说明!

上一篇:【unity资源管理】内存池(unity项目中的资源)

下一篇:编辑器拓展 CustomEditor(编辑器ui)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络