1 / 67
文档名称:

Unity3D脚本中文参考.doc

格式:doc   大小:1,249KB   页数:67页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Unity3D脚本中文参考.doc

上传人:260933426 2017/8/22 文件大小:1.22 MB

下载得到文件列表

Unity3D脚本中文参考.doc

相关文档

文档介绍

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