[Unity3D]Script 脚本所有编译器属性详解
来源:互联网 发布:sql数据库大小限制 编辑:程序博客网 时间:2024/04/29 10:24
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反序列化怎么办-.-)
JS中用@script 属性方法()访问,c#中用[属性方法()]访问。
一共就只有9种属性访问方式:
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 On
// 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反序列化怎么办-.-)
0 0
- [Unity3D]Script 脚本所有编译器属性详解
- Unity3D Script 脚本所有编译器属性详解
- Unity3D Script 脚本所有编译器属性详解
- unity3D Script 脚本所有编译器属性详解
- Unity3D Script 脚本所有编译器属性详解
- Unity3D Script 脚本所有编译器属性详解
- [Unity3D]Script 脚本所有编译器属性详解
- [Unity3D]Script 脚本所有编译器属性详解
- [Unity3D]Script 脚本所有编译器属性详解
- [Unity3D]Script 脚本所有编译器属性详解
- [Unity3D]Script 脚本所有编译器属性详解
- [Unity3D]Script 脚本所有编译器属性详解
- [Unity3D]Script 脚本所有编译器属性详解
- [Unity3D]Script 脚本所有编译器属性详解
- [Unity3D]Script 脚本所有编译器属性详解
- Unity3D:Script 脚本所有编译器属性详解
- unity Script 脚本所有编译器属性详解
- Script 脚本所有编译器属性详解
- Putty的一些常用设置
- IPC - Linux 消息队列函数及应用欣赏一
- 论 __lookup_machine_type的消失(Linux-3.0 ARMv7)
- 字符统计
- 申请IOS开发企业帐号官方给予的回复
- [Unity3D]Script 脚本所有编译器属性详解
- 安装外部的maven依赖到自己的本地仓库,通过mvn命令的方式
- sed例子
- App Extension编程指南(iOS8/OS X v10.10)中文版
- UITabbar 显示小红点 (消息提示)
- ACdream 1084 寒假安排(阶乘素因子分解)
- 【机房收费系统】关闭提醒与清空数据,显示条数
- 原型模式(Prototype)
- Component-Based or Interface-Based Arch.