12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 4034|回复: 13
打印 上一主题 下一主题

[经验分享] Script 脚本所有编译器属性详解

[复制链接]

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2011-10-14 08:15:00 |只看该作者 |倒序浏览


           一些编程概念性知识点:
           

           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反序列化怎么办-.-)
           

            
         
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

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

沙发
发表于 2012-2-2 23:25:00 |只看该作者
沙发不解释
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

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

板凳
发表于 2012-3-15 23:28:32 |只看该作者
不错啊 经典
回复

使用道具 举报

797

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
5568
精华
0

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

地板
发表于 2012-3-16 18:59:52 |只看该作者
  学习
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

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

5#
发表于 2012-4-22 23:20:38 |只看该作者
凡系斑竹滴话要听;凡系朋友滴帖要顶!
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

6#
发表于 2012-5-1 23:26:37 |只看该作者
沙发不解释
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

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

7#
发表于 2012-5-3 23:25:18 |只看该作者
非常感谢,管理员设置了需要对新回复进行审核,您的帖子通过审核后将被显示出来,现在将转入主题
回复

使用道具 举报

markq    

511

主题

1

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
15839
精华
0

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

8#
发表于 2012-5-4 23:20:36 |只看该作者
  谢谢分享



爱生活 爱3D 爱纳金网



www.narkii.com
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

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

9#
发表于 2012-5-7 23:21:51 |只看该作者
先垫一块,再说鸟
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

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

10#
发表于 2012-6-13 23:22:33 |只看该作者
很经典,很实用,学习了!
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

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

GMT+8, 2024-11-25 16:54 , Processed in 0.123475 second(s), 28 queries .

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

© 2008-2019 Narkii Inc.

回顶部