Unity3D 脚本 编译器属性详解

本文详细介绍了Unity3D脚本中的一些关键编译器属性,包括AddComponentMenu用于在GameObject中添加组件,ContextMenu允许通过右键菜单触发函数,ExecuteInEditMode实现运行时实时更新脚本,HideInInspector隐藏属性面板上的public变量,以及RenderBeforeQueues和RequireComponent分别用于自定义渲染顺序和强制添加组件。
摘要由CSDN通过智能技术生成
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))] 
------------------------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值