TORQUE引擎核心类SIMOBJECT.docx

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TORQUE引擎核心类SIMOBJECT

第一部分:脚本入门************************1)打开控制台(console)运行torquedemo.exe进入主界面或游戏后,按 ~ 键(不用按shift,其实是`键)激活控制台是一个调试程序的好地方。2)试一下最简单命令 echo() 在控制台键入echo(hello!); (注意必须加; 就象c++一样)可以看到console窗口就立即显示 hello!别小看echo(),有时为了调试脚本程序,在适当的地方加入echo(),显示有关变量的值,可以监测程序是否正确。使用echo()时,如要输入多行语句,只须连续输入即可,torque会根据;来分行执行如:$a=1;echo($a);输出:13)torque的脚本script的特点:a) 无须预定义,即开即用。 b) 变量类型灵活性,如 12 与12 是一样的c) 变理大小写不敏感,%a 与%A 是一样的d) 与c++类似,每个语名均须以 ; 作为结束标记4)变量,torque脚本中,$表示全局变量,%表示局部变量表示法: $a 为全局变量a (在网络中,全局变量只表示在本客户端的全局变量,并不是整个网络)%b 为局部变量b (一般用于function中)变量类型:a)数字型 1234 (整数interger)1.234 (浮点数floation point) 1234e-3 (科学记数scientific notation b)字符型 abcd (字符串string) abcd (标记字符串 tagged string) 再试一下一个有意思的语句:echo(1+2);会输出:3 而不是把2个字符串连接,连接是用 @ 来操作,如: echo(1 @ 2); 输出:12 这就是torque的script脚本的灵活之处,更多的字符连接符: @ 连接两个字符串TAB 两个字符串间加入tabSPC 两个字符串间加入一个空格 NL 两个字符串间加入一个加车(换行)注意:这些操作符的英文必须是大写。如:echo(abcd NL CDEF);会输出:abcd CDEF 较常用的是字符的颜色处理:原则上是对后面的字符产生影响,直到一个新的字体色操作符出现,但只对当前行字符产生影响,并不会影响默认字体色。echo(\c2hello!\c0hello!);前一个hello!会显示红色,后一个hello!会显示正常的黑色。C)逻辑型:与其它语言一样,torque也只有两个值 true (1) false (0)d)数组(arrays)表示法:$AA[n] 一维数组 $AA[M,N] 多维数组 $AA[M_N] 多维数组的另一种表示法,变量与数组的名字可以相同,但值并不会产和影响:$a=2;$a[0]=3;更有趣的是,torque脚本中,数组可以用如下方法指向:接着上例,你试试:echo($a0);输出的是$a[0]的值,同理,如果要输出$a[0,0],可以用如下方法:echo($a0_0);再次可见,torque的脚本是具有相当的灵活性。d)矢量(vectors):格式如:1.0 1.0 1.0 1.0 矢量是引擎中一个应用很广的变量类型,在3D坐标,动力,粒子,声效等等都有相应的应用。5)操作符,这方面与C++很相似6)控制语句,与c++的基本相同7)功能模块 function function 功能模块名([参数0],...,[参数n]) {语句; [return 返回值;] 可选} 8)物体定义,介绍了一些基本的知识,这里开始进入torque特有的语法了。在torque中,所有项目都是“物体”,并且所有游戏中的物体都可以访问,如人物,汽车,场景中的物体。且都可以用脚本进行访问,而物体的属性是在引擎中定义的。我们看一个脚本中的代码(节选自server\scripts\player.cs )datablock PlayerData(PlayerBody){ renderFirstPerson = false; emap = true; className = Armor; shapeFile = ~/data/shapes/player/player.dts; cameraMaxDist = 3; computeCRC = true; canObserve = true; cmdCategory = Clients; cameraDefaultFov = 90.0; cameraMinFov = 5.0; cameraMaxFov = 120.0; debrisShapeName = ~/data/shapes/playe

文档评论(0)

sh4125733 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档