编译器属性

AddComponentMenu用法:

@script AddComponentMenu ("Transform/Follow Transform")

class FollowTransform : MonoBehaviour

{}

用处:可以自己开发组件类,在菜单里往GameObject里添加组件实例。

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

ContextMenu 用法:

@ContextMenu ("Update Waypoints")

function UpdateWaypoints()

{}

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

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

ExecuteInEditMode 用法:

@script ExecuteInEditMode()

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

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

HideInInspector 用法:

@HideInInspectorvar p = 5;

用处:是变量在检测时不被显示,但是会被实例化具体用处不详,使得public属性在脚本外部变量设置的时候不会被显示,但是会被作用到

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

NonSerialized 用处:

标记一个变量不会被序列化。具体用处不详,不会被外部改变但是可以保持public状态

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

RPC          未知

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

RenderBeforeQueues  用法:

@RenderBeforeQueues(1000, 2000)

function OnRenderObject (queue : int)

 {

// 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;

}

你可能感兴趣的:(编译器属性)