Unity3D脚本中文教程文档格式.docx

上传人:b****2 文档编号:14359423 上传时间:2022-10-22 格式:DOCX 页数:6 大小:28.02KB
下载 相关 举报
Unity3D脚本中文教程文档格式.docx_第1页
第1页 / 共6页
Unity3D脚本中文教程文档格式.docx_第2页
第2页 / 共6页
Unity3D脚本中文教程文档格式.docx_第3页
第3页 / 共6页
Unity3D脚本中文教程文档格式.docx_第4页
第4页 / 共6页
Unity3D脚本中文教程文档格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

Unity3D脚本中文教程文档格式.docx

《Unity3D脚本中文教程文档格式.docx》由会员分享,可在线阅读,更多相关《Unity3D脚本中文教程文档格式.docx(6页珍藏版)》请在冰豆网上搜索。

Unity3D脚本中文教程文档格式.docx

在任何函数之外的代码 在任何函数之外的代码在物体被加载的时候运行这个能够用来初始化脚本状态。

注意文档的这个部份假设您是用Javascript参考用C编写获取如何使用C和Boo编写脚本的信息。

您也能定义事件句柄它们的名称都以On开始例如OnCollisionEnter为了查看完整的预定义事件的列表参考MonoBehaviour文档、 概览常用操作大多数游戏物体的操作是通过游戏物体的Transform或Rigidbody来做的在行为脚本内部它们能够分别通过transform和rigidbody访问因此假如您想绕着Y轴每帧旋转5度您能够如下写function Update transform。

Rotate050假如您想向前移动一个物体您应该如下写 functionUpdatetransform、Translate002概览跟踪时间 Time类包含了一个特别重要的类变量称为deltaTime这个变量包含从上一次调用Update或FixedUpdate依照您是在Update函数依然在FixedUpdate函数中到现在的时间量。

因此关于上面的例子修改它使这个物体以一个恒定的速度旋转而不依赖于帧率functionUpdate transform。

Rotate05Time、deltaTime0移动物体functionUpdatetransform、Translate002Time、deltaTime假如您加或是减一个每帧改变的值您应该将它与Time、deltaTime相乘。

当您乘以Time、deltaTime时您实际的表达我想以10米/秒移动这个物体不是10米/帧。

这不仅仅是因为您的游戏将独立于帧而运行同时也是因为运动的单位容易理解。

米/秒另一个例子假如您想随着时间增加光照的范围。

下面的表达式以2单位/秒改变半径。

 functionUpdatelight、range2、0Time。

deltaTime当通过力处理刚体的时候您通常不必用Time。

deltaTime因为引擎差不多为您考虑到了这一点。

概览访问其他组件 组件被附加到游戏物体附加Renderer到游戏物体使它在场景中渲染附加一个Camera使它变为相机物体所有的脚本都是组件因为它们能被附加到游戏物体、最常用的组件能够作为简单成员变量访问 ponent可如下访问TransformtransformRigidbodyrigidbody Renderer renderer Cameracameraonlyoncamera objectsLightlight onlyonlightobjectsAnimation animationCollider collider…等等。

关于完整的预定义成员变量的列表。

查看ponentBehaviour和MonnoBehaviour类文档。

假如游戏物体没有您想取的相同类型的组件上面的变量将被设置为null。

 任何附加到一个游戏物体的组件或脚本都能够通过Getponent访问、 transform。

Translate030//等同于GetponentTransform、Translate010注意transfom和Transform之间大小写的区别前者是变量小写后者是类或脚本名称大写。

大小写不同使您能够从类和脚本名中区分变量。

应用我们所学您能够使用Getponent找到任何附加在同一游戏物体上的脚本和组件请注意要使用下面的例子能够工作您需要有一个名为OtherScript的脚本其中包含一个DoSomething函数。

OtherScript脚本必须与下面的脚本附加到相同的物体上。

//这个在同一游戏物体桑找到名为OtherScript的脚本//并调用它上加的DoSomethingfunctionUpdateotherScript GetponentOtherScriptotherScript、DoSomething概览访问其它游戏物体大多数高级的代码不仅需要操作一个物体Unity脚本接口有各种方法来找到并访问其他游戏物体和组件。

在下面我们假定有个一名为OtherScriptjs的脚本附加到场景的游戏物体上。

varfoo5functionDoSomething param :

 Stringprintparam quot with foo:

quotfoo1、通过检视面板赋值引用您能够通过检视面板赋值变量到任何物体 //变换拖动到target的物体var target:

TransformfunctionUpdate target、Translate010您也能够在检视面板中公开到其他物体的引用下面您能够拖动一个包含的游戏物体到检视面板中的target槽。

//设置在检视面板中赋值的target变量上的foo调用DoSomethingvartarget:

 OtherScriptfunctionUpdate//设置target物体的foo变量target。

foo 2 // 调用target上的DoSomethingtarget。

DoSomethingquotHelloquot2、通过物体层次定位关于一个差不多存在的物体能够通过游戏物体的Transform组件来找到子和父物体 //找到脚本所附加的 //游戏物体的子―Hand‖transform、FindquotHandquot。

Translate010一旦在层次视图中找到这个变换您能够使用Getponent来获取其他脚本 //找到名为―Hand‖的子//在附加到它上面的OtherScript中设置foo为2transform。

FindquotHandquot、Translate010//找到名为―Hand‖的子//然后应用一个力到附加在hand上的刚体transform、FindquotHandquot、GetponentOtherScript。

DoSomethingquotHelloquot//找到名为―Hand‖的了// 然后应用一个力到附加在hand上的刚体 transform、FindquotHandquot、rigidbody、AddForce0100 您能够循环所有的子//变换的所有子向上移动10个单位for var child:

Transformintransformchild。

Translate010参考Transform类文档获取更多信息。

Part 23。

依照名称或标签定位、您能够使用GameObject、FindWithTag和GameObject、FindGameObjectsWithTag搜索具有特定标签的游戏物体使用GameObject、Find依照名称查找物体。

functionStart//依照名称vargoGameObject。

FindquotSomeGuyquotgo、transform、Translate010//依照标签varplayerGameObject。

FindWithTagquotPlayerquot player、transform。

Translate010您能够在结果上使用Getponent在找到的游戏物体上得到任何脚本或组件。

 functionStart// 按名称 vargoGameObject、FindquotSomeGuyquot go。

GetponentOtherScript。

DoSomething//按标签varplayerGameObject、FindWithTagquotPlayerquotplayer、GetponentOtherScript、DoSomething一些特别的物体有快捷方式如主相机使用Camera、main。

4、作为参数传递一些事件消息在事件包含详细信息、例如触发器事件传递碰撞物体的Collider组件到处理函数、OnTriggerStay给我们一个到碰撞器的引用。

从这个碰撞器我们能够获取附加到其上的刚体、functionOnTriggerStayother :

 Collider// 假如另一个碰撞器也有一个刚体//应用一个力到它上面if other。

rigidbodyother、rigidbody、AddForce0 20或者我们能够通过碰撞器获取附加在同一个物体上的任何组件。

functionOnTriggerStay other:

Collider//假如另一个碰撞器附加了OtherScript// 调用它上面的DoSomething//大多数时候碰撞器可不能附加脚本//因此我们需要首先检查以幸免null引用异常ifother、GetponentOtherScriptother。

GetponentOtherScript、DoSomething注意通过上述例子中的other变量您能够访问碰撞物体中的任何组件、 5。

一种类型的所有脚本使用Object、FindObjectsOfType找到所有具有相同类或脚本名称的物体或者使用Object、FindObjectOfType、找到这个类型的第一个物体、function Start// 找到场景中附加了OtherScript的任意一个游戏物体 varother:

OtherScriptFindObjectOfTypeOtherScriptother、DoSomething 概览向量Unity使用Vector3类同一表示全体3D向量3D向量的不同组件能够通过想xy和z成员变量访问。

varaPosition:

Vector3 aPosition。

x 1aPosition、y 1aPosition、z1 您也能够使用Vector3构造函数来同时初始化所有组件、varaPositionVector3111Vector3也定义了一些常用的变量值。

var directionVector3、up//与 Vector301 0相同单个向量上的操作能够使用下面的方式访问someVector。

Normalize使用多个向量的操作能够使用Vector3类的数theDistanceVector3、DistanceoneVectorotherVector注意您必须在函数名之前写Vector3来告诉JavaScript在哪里找到这个函数这适用于所有类函数您也能够使用普通数学操作来操纵向量、bined vector1 vector2查看Vector3类文档获取完整操纵和可用属性的列表。

 概览成员变量amp 全局变量变量 定义在任何函数之外的变量是一个成员变量。

在Unity中这个变量能够通过检视面板来访问任何保存在成员变量中的值也能够自动随工程保存、varmemberVariable0、0上面的变量将在检视面板中显示为名为quotMember Variablequot的数值属性。

 假如您设置变量的类型为一个组件类型例如TransformRigidbodyCollider任何脚本名称等等然后您能够在检视面板中通过拖动一个游戏物体来设置它们。

var enemy:

TransformfunctionUpdateifVector3、Distanc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1