本帖最后由 Candy 于 2014-7-15 14:12 编辑
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上,如果存在,则该组件不允许被删除。
-------------------------------------------------------------------------------------------
- <p>Serializable
- 用法:
- js继承Object类默认就是会被序列化
- class Test extends System.Object
- {
- var p = 5;
- var c = Color.white;
- }
- var test = Test ();</p>
- <p>// C# Example
- [System.Serializable]
- class Test
- {
- public int p = 5;
- public Color c = Color.white;
- }</p>
复制代码
用处:
将一个类序列化,(别告诉我不懂什么叫序列化,就是把一个类按一个格式枚举,可以用于保存文件或者网络传输,但是不知道U3d反序列化怎么办-.-)
|
|