中文unity3d脚本参考

中文unity3d脚本参考

ID:12080835

大小:1.64 MB

页数:454页

时间:2018-07-15

中文unity3d脚本参考_第1页
中文unity3d脚本参考_第2页
中文unity3d脚本参考_第3页
中文unity3d脚本参考_第4页
中文unity3d脚本参考_第5页
资源描述:

《中文unity3d脚本参考》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Unity3D脚本参考一、脚本概览这是一个关于Unity内部脚本如何工作的简单概览。Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的。在脚本对象内部不同志的函数被特定的事件调用。最常用的列在下面:Update:这个函数在渲染一帧之前被调用,这里是大部分游戏行为代码被执行的地方,除了物理代码。FixedUpdate:这个函数在每个物理时间步被调用一次,这是处理基于物理游戏的地方。在任何函数之外的代码:在任何函数之外的代码在物体被加载的时候运行,这个可以用来初始化脚本状态。注意:文档的这个部份假设你是用Javascript,参考用C#编写获取如何使用C#和Boo编写脚本的信

2、息。你也能定义事件句柄,它们的名称都以On开始,(例如OnCollisionEnter),为了查看完整的预定义事件的列表,参考MonoBehaviour文档。概览:常用操作大多数游戏物体的操作是通过游戏物体的Transform或Rigidbody来做的,在行为脚本内部它们可以分别通过transform和rigidbody访问,因此如果你想绕着Y轴每帧旋转5度,你可以如下写:functionUpdate(){transform.Rotate(0,5,0);}如果你想向前移动一个物体,你应该如下写:functionUpdate(){transform.Translate(0,0,2);}

3、概览:跟踪时间Time类包含了一个非常重要的类变量,称为deltaTime,这个变量包含从上一次调用Update或FixedUpdate(根据你是在Update函数还是在FixedUpdate函数中)到现在的时间量。所以对于上面的例子,修改它使这个物体以一个恒定的速度旋转而不依赖于帧率:functionUpdate(){transform.Rotate(0,5*Time.deltaTime,0);}移动物体:functionUpdate(){transform.Translate(0,,0,2*Time.deltaTime);}如果你加或是减一个每帧改变的值,你应该将它与Time.d

4、eltaTime相乘。当你乘以Time.deltaTime时,你实际的表达:我想以10米/秒移动这个物体不是10米/帧。这不仅仅是因为你的游戏将独立于帧而运行,同时也是因为运动的单位容易理解。(米/秒)另一个例子,如果你想随着时间增加光照的范围。下面的表达式,以2单位/秒改变半径。functionUpdate(){light.range+=2.0*Time.deltaTime;}当通过力处理刚体的时候,你通常不必用Time.deltaTime,因为引擎已经为你考虑到了这一点。概览:访问其他组件组件被附加到游戏物体,附加Renderer到游戏物体使它在场景中渲染,附加一个Camera使

5、它变为相机物体,所有的脚本都是组件,因为它们能被附加到游戏物体。最常用的组件可以作为简单成员变量访问:Component可如下访问TransformtransformRigidbodyrigidbodyRendererrendererCameracamera(onlyoncameraobjects)Lightlight(onlyonlightobjects)AnimationanimationCollidercollider…等等。对于完整的预定义成员变量的列表。查看Component,Behaviour和MonnoBehaviour类文档。如果游戏物体没有你想取的相同类型的组件,上

6、面的变量将被设置为null。任何附加到一个游戏物体的组件或脚本都可以通过GetComponent访问。transform.Translate(0,3,0);//等同于GetComponent(Transform).Translate(0,1,0);注意transfom和Transform之间大小写的区别,前者是变量(小写),后者是类或脚本名称(大写)。大小写不同使你能够从类和脚本名中区分变量。应用我们所学,你可以使用GetComponent找到任何附加在同一游戏物体上的脚本和组件,请注意要使用下面的例子能够工作,你需要有一个名为OtherScript的脚本,其中包含一个DoSomet

7、hing函数。OtherScript脚本必须与下面的脚本附加到相同的物体上。//这个在同一游戏物体桑找到名为OtherScript的脚本//并调用它上加的DoSomethingfunctionUpdate(){otherScript=GetComponent(OtherScript);otherScript.DoSomething();}/////////////////////概览:访问其它游戏物体大多数高级的代码不仅需要操作一个物体,Unity脚本接口

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。