AddComponentMenu ContextMenu ExecuteInEditMode HideInInspector NonSerialized RPC RequireComponent Se
来源:互联网 发布:ctf数据库截断 编辑:程序博客网 时间:2024/05/16 08:10
AddComponentMenu
用法:
@script AddComponentMenu ("Transform/Follow Transform")
class FollowTransform : MonoBehaviour
{
}用处:
可以自己开发组件类,在菜单里往GameObject里添加组件实例。
------------------------------------------------------------------------------------
ContextMenu
用法:
@ContextMenu ("Update Waypoints")
function UpdateWaypoints()
{
}
用处:
使用当前脚本时候可以用右键菜单触发开发环境中运行的函数
----------------------------------------------------------------------------------------
ExecuteInEditMode
用法:
@script ExecuteInEditMode()用处:
使当前脚本可以在运行中实时更新修改,每帧都会重新导入脚本,可以方便调试使用。
----------------------------------------------------------------------------------------
HideInInspector 用法:
@HideInInspector
var p = 5;用处:
是变量在检测时不被显示,但是会被实例化??
具体用处不详,猜测为在脚本外部变量设置的时候不会被显示,但是会被作用到
-------------------------------------------------------------------------------------------
NonSerialized
用处:
标记一个变量不会被序列化。
具体用处不详,我理解为不会被外部改变但是可以保持public状态
-------------------------------------------------------------------------------------------
RPC
什么鬼东西-.- RPC火箭筒?还是标记他用RPC协议传输?反正官网什么都没写。
-------------------------------------------------------------------------------------------
RenderBeforeQueues
用法:
@RenderBeforeQueues(1000, 2000)
function On
// do some custom rendering...
}用处:
在引擎渲染之前添加一个自定义的渲染
具体用法不详,里头能用什么东西渲染我也不清楚,还有那个参数我也没搞明白,以后用到再说吧
--------------------------------------------------------------------------------------------
RequireComponent
用法:
js:
@Script RequireComponent(Rigidbody)
c#:
[RequireComponent (typeof (Rigidbody))]
用处:
强制添加一个组件到这个object上,如果存在,则该组件不允许被删除。
-------------------------------------------------------------------------------------------
Serializable
用法:
js继承Object类默认就是会被序列化
class Test extends System.Object
{
var p = 5;
var c = Color.white;
}
var test = Test ();
// C# Example
[System.Serializable]
class Test
{
public int p = 5;
public Color c = Color.white;
}用处:
将一个类序列化,(别告诉我不懂什么叫序列化,就是把一个类按一个格式枚举,可以用于保存文件或者网络传输,但是不知道U3d反序列化怎么办-.-)
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
[SerializeField] 在Inspector版面中显示非public属性,并且序列化;若写在public前面,等于没写……(至于序列化是啥,自行脑补……),上图:
[NonSerialized]在Inspector版面中隐藏public属性,并且序列化;如果写在非public属性前面,等于没写……,上图:
[HideInInspector] 在Inspector版面中隐藏public属性,与上面相比,只是隐藏,没有序不序列化的功能……,上图:
[AddComponentMenu("XXX/XX/XXX")] 让Component菜单下出现你自定义的类,位置是“XXX/XX/XXX”,至于功能么,用过Component的都知道,不用解释了吧……,上图:
[ExecuteInEditMode] 在编辑界面让你的功能(类)起作用,就是你不用点开始,就可你让你的功能起作用,打个比方,NGUI里面的Slider的滑动条就是酱紫……,上图:
这个真没点开始……真的……
[RequireComponent (typeof (ClassName))] 就是在你把被这句话标记的类拖到(或者AddComponent)GameObject上时,自动再给你加上“ClassName”这个类……,上图:
[ContextMenu ("XXX")] 在Inspector版面中,右击包含这条标记的类,在菜单中会出现名为“XXX”的选项,点击选项,会执行被标记的功能(注:此乃标记功能也,非标记类),上图:
只是个例子,名字乱写了的……一般来说“XXX”就是被执行的功能的名字,方便查找……
[MenuItem ("XXX/XXX")] 在菜单中出现选项栏,点一下,执行对应功能。注:对应的功能必须是static,同时,使用的时候需要加上using UnityEditor,这个类也要找个Editor文件夹放(一般放“Assets\Editor”),要不……就等着纠结吧~~,上图:
另外,关于[NonSerialized]和[RPC],理解起来比较麻烦,也不是很常用,就算了……
0 0
- AddComponentMenu ContextMenu ExecuteInEditMode HideInInspector NonSerialized RPC RequireComponent Se
- NonSerialized 与 HideInInspector
- [ExecuteInEditMode] 和 [RequireComponent(typeof(UIRoot))]理解
- Inspector属性面板中[HideInInspector]、ExecuteInEditMode等属性介绍
- AddComponentMenu
- AddComponentMenu
- ExecuteInEditMode
- ContextMenu
- ContextMenu
- ContextMenu
- ContextMenu
- contextmenu
- ContextMenu
- ContextMenu
- ContextMenu
- Contextmenu
- ContextMenu
- ContextMenu
- Mac下如何显示隐藏文件/文件夹
- 数据挖掘
- 【java学习笔记s】封装
- iOS 8使用Touch ID进行身份认证
- 【学习笔记】linux与windows中wchar_t的问题
- AddComponentMenu ContextMenu ExecuteInEditMode HideInInspector NonSerialized RPC RequireComponent Se
- iOS面试题3
- SQLite数据库
- python pandas
- TextView 显示html
- Intent显式启动和隐式启动
- UIView block动画
- 树莓派玩黄油,编译运行ONScripter
- Consul入门