- 最后登录
- 2016-10-1
- 注册时间
- 2013-12-28
- 阅读权限
- 90
- 积分
- 5805
- 纳金币
- 2954
- 精华
- 3
|
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
{
}
用处:
[attachment=1:2wcpjq1s]图片.jpeg[/attachment:2wcpjq1s]
可以自己开发组件类,在菜单里往GameObject里添加组件实例。
ContextMenu
用法:
@ContextMenu ("Update Waypoints")
function UpdateWaypoints()
{
}
用处:
[attachment=0:2wcpjq1s]图片-1.jpeg[/attachment:2wcpjq1s]
使用当前脚本时候可以用右键菜单触发开发环境中运行的函数
ExecuteInEditMode
用法:
@script ExecuteInEditMode()
用处:
使当前脚本可以在运行中实时更新修改,每帧都会重新导入脚本,可以方便调试使用。
HideInInspector
用法:
@HideInInspector
var p = 5;
用处:
是变量在检测时不被显示,但是会被实例化??
具体用处不详,猜测为在脚本外部变量设置的时候不会被显示,但是会被作用到
NonSerialized
用处:
标记一个变量不会被序列化。
具体用处不详,我理解为不会被外部改变但是可以保持public状态 |
|