编译器属性

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MsCode脚本编译器教程 程序编写:汪京苑/教程编写:汪京苑/论坛昵称:幕夜流星/联系QQ:420452913 MsCode脚本编译器脚本录制步骤(以迅雷为例): 1.录制新脚本 点击录制新脚本。 2.软件配置 这里的软件名称没有任何讲究,随便输入。 点击选择指定安装程序的路径,然后点击下一步。 3.脚本录制 比如我想点击下一步这个按钮,那就先把鼠标移到下一步这个按钮前,记住只是移到按钮前,并不是点击这个按钮,然后按Home键获取该控件的信息。 当提示已经获取控件句柄,请选择执行命令的时候就表示编译器已经获取了该控件的信息,接下来选择你要进行的操作,比如你想点击该控件就点击单击控件,编译器就会自动执行你的命令。 看,你只是点击了单击控件,编译器就自动点击了程序上你想要点击的那个按钮,如果你想要点击我同意此协议那个选择框,只要重复上述的步骤,先把鼠标移到我同意此协议选择框前按Home键获取该控件的信息,然后点击单击控件,编译器就会自动记录该步骤并执行你的命令。 如果你想要更改安装路径,那么就先把鼠标移到安装路径所在的那个编辑框前按Home键获取该控件的信息。 然后点击更改控件内容,在弹出的输入框里输入新的安装路径,点击确认输入,编译器就会自动记录该步骤并执行你的命令,其他程序比如WinRAR在安装完成后会弹出一个名为WinRAR的文件夹,这时你可以把鼠标移到文件夹的标题前按Home键获取该控件的信息,然后点击关闭窗口,编译器就会自动记录该步骤并执行你的命令,最后如果安装结束点击下一步封装脚本,封装成功后就可以回到编译器主窗口去点击执行脚本来看看效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值