Unity3D脚本参考脚本概览这是一个关于Unity内部脚本如何工作简单概览。Unity内部脚本,是通过附加自定义脚本对象到游戏物体组成。在脚本对象内部不同志函数被特定事件调用。最常用列在下面:Update:这个函数在渲染一帧之前被调用,这里是大部分游戏行为代码被执行地方,除了物理代码。FixedUpdate:这个函数在每个物理时间步被调用一次,这是处理基于物理游戏地方。在任何函数之外代码:在任何函数之外代码在物体被加载时候运行,这个可以用来初始化脚本状态。注意:文档这个部份假设你是用Javascript,参考用C#编写获取如何使用C#与Boo编写脚本信息。你也能定义事件句柄,它们名称都以On开始,(例如OnCollisionEnter),为了查看完整预定义事件列表,参考MonoBehaviour文档。概览:常用操作大多数游戏物体操作是通过游戏物体Transform或Rigidbody来做,在行为脚本内部它们可以分别通过transform与rigidbody访问,因此如果你想绕着Y轴每帧旋转5度,你可以如下写:functionUpdate(){(0,5,0);如果你想向前移动一个物体,你应该如下写:functionUpdate(){(0,0,2);概览:跟踪时间Time类包含了一个非常重要类变量,称为deltaTime,这个变量包含从上一次调用Update或FixedUpdate(根据你是在Update函数还是在FixedUpdate函数中)到现在时间量。所以对于上面例子,修改它使这个物体以一个恒定速度旋转而不依赖于帧率:functionUpdate(){(0,5*,0);移动物体:functionUpdate(){(0,,0,2*);如果你加或是减一个每帧改变值,。,你实际表达:我想以10米/秒移动这个物体不是10米/帧。这不仅仅是因为你游戏将独立于帧而运行,同时也是因为运动单位容易理解。(米/秒)另一个例子,如果你想随着时间增加光照范围。下面表达式,以2单位/秒改变半径。functionUpdate(){+=*;当通过力处理刚体时候,,因为引擎已经为你考虑到了这一点。概览:访问其他组件组件被附加到游戏物体,附加Renderer到游戏物体使它在场景中渲染,附加一个Camera使它变为相机物体,所有脚本都是组件,因为它们能被附加到游戏物体。ponent可如下访问TransformtransformRigidbodyrigidbodyRendererrendererCameracamera(onlyoncameraobjects)Lightlight(onlyonlightobjects)AnimationanimationCollidercollider…等等。对于完整预定义成员变量列表。ponent,Behaviour与MonnoBehaviour类文档。如果游戏物体没有你想取相同类型组件,上面变量将被设置为null。ponent访问。(0,3,0);//ponent(Transform).Translate(0,1,0);注意transfom与Transform之间大小写区别,前者是变量(小写),后者是类或脚本名称(大写)。大小写不同使你能够从类与脚本名中区分变量。应用我们所学,ponent找到任何附加在同一游戏物体上脚本与组件,请注意要使用下面例子能够工作,你需要有一个名为OtherScript脚本,其中包含一个DoSomething函数。OtherScript脚本必须与下面脚本附加到相同物体上。//这个在同一游戏物体桑找到名为OtherScript脚本//并调用它上加DoSomethingfunctionUpdate(){otherScript=ponent(OtherScript);();概览:访问其它游戏物体大多数高级代码不仅需要操作一个物体,Unity脚本接口有各种方法来找到并访问其他游戏物体与组件。在下面,我们假定有个一名为OtherScript,js脚本附加到场景游戏物体上。varfoo=5;functionDoSomething(param:String){print(param+"withfoo:"+foo);
中文Unity3D脚本参考 来自淘豆网m.daumloan.com转载请标明出处.