【转载】Unity3D Script 脚本所有编译器属性详解
原文地址: http://blog.163.com/kingmax_res/ ... 442201031712215404/ Script属性是基于IDE的一系列编译器属性 JS中用@script 属性方法()访问,c#中用[属性方法()]访问。 一共就只有9种属性访问方式: AddComponentMenu 在Component菜单中添加新的菜单项 ContextMenu 在当前脚本的组件中添加右键菜单内容 ExecuteInEditMode 让当前脚本可以在运行模式中实时更新修改 HideInInspector 是变量在检测时不被显示,但是会被实例化? NonSerialized 标记一个变量不会被序列化? RPC ? RenderBeforeQueues 附加一个自定义渲染 在整个引擎渲染队列之前 RequireComponent 强制添加一个组件,(限定一定要有某个组件) Serializable 序列化一个类 --------------------------------------------------------------------------------------------------------------------------------------------------------------- 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 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; }用处: 将一个类序列化,(别告诉我不懂什么叫序列化,就是把一个类按一个格式枚举,可以用于保存文件或者网络传输,但是不知道U3d反序列化怎么办-.-) -------------------------------------------------------------- 目前一些不懂的会在以后用到后再完善
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报 。