Torque引擎系列之核心类(ShapeBase)

在游戏世界中,我们不仅可以把物体分为静态的和动态的,而且可以分为有形的和无形的。游戏中的人物、交通工具、建筑都属于有形物体,而一些爆炸、激光、烟雾等粒子效果则是无形的,实际上这里的无形是指没有固定的形状。有形物体需要美工进行3D建模,另外可以挂接和被挂接、可以有动作和生命值。TGE中把这些特性抽象出来形成了ShapeBase类,可以说ShapeBase类是TGE中最重要的一个类,也是我们经常需要修改的类。它是游戏中很多重要实体类的基类,例如Player、Vehicle、Camera、Item.下面我将介绍一下shapeBase类的几个重要特性。
一、挂接和被挂接
在游戏中,我们经常需要把一个物体挂在另一个物体上。例如使用道具、换装、骑马等。在TGE中有两种挂接的方式,分别是mountObject和mountImage。前者主要用来挂接大型物体,而且被挂接的物体可以在场景中单独存在。而后者主要用来挂接一些小型物体(实际上只是图片而已),例如武器、帽子、衣服之类的东西,这些物体不能在场景中单独存在,只能依附于挂接物体。void ShapeBase::mountObject(ShapeBase* obj,U32 node)函数中,第一参数是被挂接物体,第二个参数是挂接点,挂接点需要美工在模型制作中加入。物体被加载的时候在onAdd函数中解析出来,注意物体被挂接时是被挂接物体的原点挂接在node上。而mountImage函数,我们可以在被挂接物体上指定mountPoint。
二、生命值和能量值
在shapeBase中,增加了两个重要的属性。一个是生命值,一个是能量值。并能够在界面中进行血条和生命条的绘制。shapeBase中把物体分为三种受伤状态,Enabled、Disabled和Destroyed。对应有disabledLevel和destroyedLevel,当物体当前的生命值到达某个level后,会进行状态的转换,并执行相应的回调函数。例如Disabled时,可以让人物倒地,或者车辆爆炸等。
三、播放动画
在脚本中,我们可以调用playThread函数播放指定的动画,另外调用setThreadDir函数可以控制动画的播放方向,即从前往后播或者从后往前播,另外调用pauseThread可以暂停动画。在动画播完后,还可以定义相关的回调函数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值