查看: 1760|回复: 3
打印 上一主题 下一主题

[其他] Unity3D Script 编译器属性翻译

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-6-26 23:24:52 |只看该作者 |倒序浏览

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反序
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-6-26 23:45:44 |只看该作者
Thanks for sharing this !
回复

使用道具 举报

wucnj    

1

主题

1

听众

3160

积分

中级设计师

Rank: 5Rank: 5

纳金币
1065
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-6-27 13:46:46 |只看该作者
感谢分享!!!
回复

使用道具 举报

115

主题

3

听众

5676

积分

高级设计师

Rank: 6Rank: 6

纳金币
7268
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-6-27 14:46:38 |只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-15 19:38 , Processed in 0.190060 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部