1、 在任何函数之外的代码在任何函数之外的代码在物体被加载的时候运行这个能够用来初始化脚本状态。 注意文档的这个部份假设您是用Javascrpt参考用C编写获取如何使用C和Bo编写脚本的信息。 您也能定义事件句柄它们的名称都以On开始例如nCollisioEter为了查看完整的预定义事件的列表参考MonBehaviur 文档、概览常用操作 大多数游戏物体的操作是通过游戏物体的Tansm或Rigidbdy来做的在行为脚本内部它们能够分别通过trnsform和rigidbod访问因此假如您想绕着轴每帧旋转5度您能够如下写 functionUpatetanform。otte50 假如您想向前移动一个物体
2、您应该如下写fucio Upate trnso、Traslate002 概览跟踪时间ime类包含了一个特别重要的类变量称为detame这个变量包含从上一次调用Udate或FixedUpda依照您是在Upte函数依然在ixedUpate函数中到现在的时间量。 因此关于上面的例子修改它使这个物体以一个恒定的速度旋转而不依赖于帧率 funcin patetrnsform。RoteTie、eltaTime 移动物体 funci Upd trnsform、 Trslate 0 02Ti、deltaTime 假如您加或是减一个每帧改变的值您应该将它与Time、eltaTie相乘。当您乘以Te、deltaT
3、me时您实际的表达我想以10米/秒移动这个物体不是10米/帧。这不仅仅是因为您的游戏将独立于帧而运行同时也是因为运动的单位容易理解。 米秒 另一个例子假如您想随着时间增加光照的范围。下面的表达式以2单位/秒改变半 径。uncton Update lght、ran 2、 Tme。deltTime 当通过力处理刚体的时候您通常不必用Tm。deltaTme因为引擎差不多为您考虑到了这一点。 概览访问其他组件组件被附加到游戏物体附加eer到游戏物体使它在场景中渲染附加一个Cmea使它变为相机物体所有的脚本都是组件因为它们能被附加到游戏物体、 最常用的组件能够作为简单成员变量访问pent 可如下访问 T
4、ransform trasor Rigidy rgidbodyenderrenderCaer camera only o camrabects Light ligtonly on liht bes Aniationnmation Cllidrcie 等等。 关于完整的预定义成员变量的列表。查看ponentehviou和MnnBeaiour类文档。假如游戏物体没有您想取的相同类型的组件上面的变量将被设置为null。任何附加到一个游戏物体的组件或脚本都能够通过etponent访问、rfrm。Tansate3 /等同于 GetnenTransform、Tranlate0 1 注意tansfom和rn
5、sfm之间大小写的区别前者是变量小写后者是类或脚本名称大写。大小写不同使您能够从类和脚本名中区分变量。 应用我们所学您能够使用tponent找到任何附加在同一游戏物体上的脚本和组件请注意要使用下面的例子能够工作您需要有一个名为OterScrt的脚本其中包含一个DoSething函数。Ohecrp脚本必须与下面的脚本附加到相同的物体上。 /这个在同一游戏物体桑找到名为OtherScipt的脚本 并调用它上加的DoSmthing ncion Upt otherScptGetponenOtheScript otherSit、DoSomhng 概览访问其它游戏物体 大多数高级的代码不仅需要操作一个物体
6、nty脚本接口有各种方法来找到并访问其他游戏物体和组件。在下面我们假定有个一名为OherScriptjs的脚本附加到场景的游戏物体上。 ar foo funtion Doomehigpara:Stri printparamuotwiho: quot f 1、通过检视面板赋值引用 您能够通过检视面板赋值变量到任何物体/变换拖动到tare的物体 artart : Tansfrm unctio Updatege、Traslate0 0 您也能够在检视面板中公开到其他物体的引用下面您能够拖动一个包含的游戏物体到检视面板中的targt槽。 /设置在检视面板中赋值的target变量上的fo调用DSomet
7、hing v arge :therSript fuction Updae /设置tge物体的foo变量 arget。oo2/调用arget上的DoSomethi target。DSmethingquHelloqot 2、通过物体层次定位 关于一个差不多存在的物体能够通过游戏物体的Trnorm组件来找到子和父物体/找到脚本所附加的游戏物体的子Hand trsom、Finqotadquo。rasae0 0 一旦在层次视图中找到这个变换您能够使用Getnt来获取其他脚本找到名为Hn的子 /在附加到它上面的Oterrit中设置foo为 tranfm。FindquotHanq、ranslte 1 /找到
8、名为Hand的子 然后应用一个力到附加在hand上的刚体 tnsfom、FnqoHandquot、tpontOtherct。DoSomtigquoHlloq / 找到名为Had的了 /然后应用一个力到附加在n上的刚体trnsfor、FindqutHanqu、riidbody、Fe 1 0您能够循环所有的子 /变换的所有子向上移动1个单位 orvachild : Transform trnsfor child。rate0 1 0 参考Tranfr类文档获取更多信息。 art2 3。依照名称或标签定位、 您能够使用Gmebec、FindWitTag和GamObect、FiGameOjctsithT
9、g搜索具有特定标签的游戏物体使用ajt、Find依照名称查找物体。 fction Star / 依照名称 v g GmeObject。FiuotSomeGuyqot g、nsfrm、anlate 1 / 依照标签 ar payer aebject。dWihaguoPlyuotplaer、transfrm。rnslae0 1 0 您能够在结果上使用Gtnent在找到的游戏物体上得到任何脚本或组件。function Stat /按名称ar go Gect、FdutoGuqutg。GetponentOtherScript。DoSomei / 按标签 plar GamOjec、FndWitaquoly
10、eruo player、GeponettherScip、Doetin 一些特别的物体有快捷方式如主相机使用Camera、ai。 4、作为参数传递 一些事件消息在事件包含详细信息、例如触发器事件传递碰撞物体的Cllider组件到处理函数、 OTiggray给我们一个到碰撞器的引用。从这个碰撞器我们能够获取附加到其上的刚体、 funcin OnTrgerSta her:Collder /假如另一个碰撞器也有一个刚体 / 应用一个力到它上面 ifothr。rigidbody thr、riidody、ddFoc2 0 或者我们能够通过碰撞器获取附加在同一个物体上的任何组件。 fun OnTriggeS
11、aythr : lider / 假如另一个碰撞器附加了OtrSipt /调用它上面的DoSmething / 大多数时候碰撞器可不能附加脚本 / 因此我们需要首先检查以幸免nul引用异常 if other、GetnetOthScrip other。GetponntOrSrt、Somethin 注意通过上述例子中的oter变量您能够访问碰撞物体中的任何组件、5。一种类型的所有脚本 使用Object、FindObjctOTy找到所有具有相同类或脚本名称的物体或者使用Objec、idObjetfype、找到这个类型的第一个物体、 futonStar /找到场景中附加了OtherScript的任意一个
12、游戏物体var oth : OherScipt indOjectOfTypeteScript the、DoSoethig概览向量 Uit使用Vetor3类同一表示全体D向量3向量的不同组件能够通过想x和成员变量访问。 ar aitin : Vector3ati。x1 aPoiton、y aositi、z 您也能够使用Vector3构造函数来同时初始化所有组件、 var Position Vr3 1 1 ector3也定义了一些常用的变量值。 variretion Vcor、u / 与ctor30 10相同 单个向量上的操作能够使用下面的方式访问 someector。ormalize 使用多个向
13、量的操作能够使用Veco3类的数 thDince Vcto、DiancneVet otherVcor 注意您必须在函数名之前写Vcto来告诉JaaScrt在哪里找到这个函数这适用于所有类函数 您也能够使用普通数学操作来操纵向量、 inedtoeor 查看V3类文档获取完整操纵和可用属性的列表。概览成员变量 mp全局变量变量定义在任何函数之外的变量是一个成员变量。在Uity中这个变量能够通过检视面板来访问任何保存在成员变量中的值也能够自动随工程保存、 var emberVaribl 0、0 上面的变量将在检视面板中显示为名为uotMebeVbqot的数值属性。假如您设置变量的类型为一个组件类型例如ranform Rigdbd Coller任何脚本名称等等然后您能够在检视面板中通过拖动一个游戏物体来设置它们。 arenem : Traorm untin Udate if Vet3、stnc
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1