gsyhgz 发表于 2013-4-17 09:43

unity3d工具列选单处理

一般使用Unity3D主要是用来制作Client内容播放与操作,但制作游戏或任何系统软体,比较少被注意到却很重要的就是编辑或後端工具,虽然 Unity 编辑器本身就很强大且方便了,但有时候还是有些客制化需求,希望能更方便於我们制作及设置游戏,所以Unity的Script除了有运作游戏内容的Runtime Classes之外还有 Editor Classes,它其中一个功能就是可以让我们自订工具列选单,选单命令的动作就像我们平常撰写script 一样,相当方便。通常我们自己建立的class只要是继承MonoBehaviour,都会自动在工具列中的Component/Scripts出现,如果为class加上、
AddComponentMenu则可以为此class定义它在Component选单内的路径,如下所示:
脚本代码如下
//Javascript
@script AddComponentMenu ("MyScripts/My Unity Script")
class MyUnityScript extends MonoBehaviour {
.....
}

// C#

public class MyCSharpScript : MonoBehaviour{
.....
}
unity3d教程其实Javascript部份的写法不需要特别宣告class继承MonoBehaviour,因为Unity在编译时会自动为Javascript处理这个部份,所以只要在程式档内找个地方插入 AddComponentMenu 那一行就可以了。
这种自订工具列选单的方式只是运用在为物件加入Component,如果我们在编辑游戏时,常有一连串动作需要常常重复操作,此时就能利用Editor Classes的MenuItem另外自订工具列选单做为执行命令,制作重点及步骤如下:
1.在Project视窗任意路径建立名为 Editor 的目录。
2.在Editor目录内建立新的script档。
3.如果是使用C#请记得using UnityEditor;。
4.给工具列选单呼叫的method必须为static。
5.在被呼叫执行的method上一行加入MenuItem,Javascript的写法为@MenuItem(“选单路径字串”),C# 的写法
6.视需求为自订选单命令加入快捷键,在[选单路径字]后空一格加入参数字元,% 符号代表Ctrl键,# 符号代表Shift键,& 符号代表Alt键,_ 符号代表无功能键,例如 %&b 代表按住 Ctrl+Alt 再按 B 键可执行此选单命令。

Zack723 发表于 2017-5-20 16:56

很不错

edward0x0 发表于 2017-5-20 17:09

楼主是超人

yetrw123123 发表于 2017-5-20 16:56

好帖就是要顶

日华 发表于 2017-5-20 17:41

难得一见的好帖

日华 发表于 2017-5-20 17:37

LZ真是人才

cooli 发表于 2017-5-29 22:27

很不错

a499801806 发表于 2017-5-29 21:39

顶顶多好

cooli 发表于 2017-5-29 22:07

真心顶

orz2013 发表于 2017-5-29 21:52

说的非常好
页: [1] 2 3 4 5 6 7
查看完整版本: unity3d工具列选单处理