Unity3D 脚本 编译器属性详解

来源:互联网 发布:android 打开淘宝app 编辑:程序博客网 时间:2024/06/07 20:57
JS中使用 @script 属性方法();
C#中使用 [属性方法()] 
------------------------------------------------------------------------------------

1 AddComponentMenu 在菜单里往GameObject里添加组件实例

用法:
@script AddComponentMenu ("Transform/Follow Transform")


class FollowTransform : MonoBehaviour
{

------------------------------------------------------------------------------------

2 ContextMenu 使用当前脚本时候可以用右键菜单触发开发环境中运行的函数

用法:
@ContextMenu ("Update Waypoints")


function UpdateWaypoints()
{

------------------------------------------------------------------------------------

3 ExecuteInEditMode 使当前脚本可以在运行中实时更新修改,每帧都会重新导入脚本,可以方便调试使用。

用法:
@script ExecuteInEditMode()
------------------------------------------------------------------------------------

4 HideInInspector 隐藏public变量在属性面板上的显示

用法:
@HideInInspector
var p = 5; 


[HideInInspector]
public int p;
------------------------------------------------------------------------------------

NonSerialized  标记一个变量不会被序列化 
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;
}
------------------------------------------------------------------------------------

6 RenderBeforeQueues  在引擎渲染之前添加一个自定义的渲染

用法:
@RenderBeforeQueues(1000, 2000)
function OnRenderObject (queue : int) {
// do some custom rendering...
}
------------------------------------------------------------------------------------

7 RequireComponent  强制添加一个组件到这个object上,如果存在,则该组件不允许被删除。

用法:
@Script RequireComponent(Rigidbody)


[RequireComponent (typeof (Rigidbody))] 
------------------------------------------------------------------------------------
0 0
原创粉丝点击