`
zhc0822
  • 浏览: 228584 次
  • 性别: Icon_minigender_1
  • 来自: 宝仔的奇幻城堡
社区版块
存档分类
最新评论

Torque X 官方文档中文译稿(5)——对象类型

阅读更多


对象类型

TorqueObjectType是一个有效且方便的为特定目的创建对象的方法。例如,在一些策略游戏中,你可能会给一方的所有单位标记一个对象类型,给另一方的所有单位标记一个不同的对象类型,这样单位的人工智能(AI)就能够容易地区分出敌友。对象类型在碰撞中是非常非常重要的,因为它们允许你控制哪些对象之间可以互相发生碰撞(比如,你可能会想禁用相同类型之间的碰撞,这样就可以避免友军之间的伤害)。

 

使用对象类型

对象类型可以通过TorqueObjectDatabase以名字的方式获取。就像这样:

TorqueObjectType Rebel = TorqueObjectDatabase.Instance.GetObjectType("RebelAlliance");

TorqueObjectType Imperial = TorqueObjectDatabase.Instance.GetObjectType("GalacticEmpire");

TorqueObjectType Elite = TorqueObjectDatabase.Instance.GetObjectType("Elite"); 
 

对象数据库确保每一个类型都是独一无二的。当GetObjectType方法第一次“看见”一个特殊的名字时,它会创建一个新的TorqueObjectType对象,然后下次遇到同样的名字时,返回同样的类型。对象类型之上定义了一些简单的操作。假设我们拥有一些叫做SnubFighter, Commando, Trooper, ImperialGuardTorqueObject。我们可能会这样做:

 

SnubFighter.ObjectType += Rebel;

Commando.ObjectType += Rebel;

Commando.ObjectType += Elite;

Trooper.ObjectType += Imperial;

ImperialGuard += (Imperial + Elite); 
 

设置对象类型是正确的,但是其中包含的信息只在它被使用时才有用。那么如果使用对象类型?有几种方法,让我们来看看这个例子:假设SnubFighter有一系列的人工智能组件,其中一个人工智能组件看起来可能像这个样子:

 

public List GetNearbyImperials()
{
	TorqueObjectType Imperial = TorqueObjectDatabase.Instance.GetObjectType("GalacticeEmpire");

	List ImperialUnits = new List();

	T2DSceneGraph.Instance.FindObjects(_sceneObject.Position, 30.0, Imperial, (uint)0xFFFFFFFF, ImperialUnits);

	return ImperialUnits;
} 
 

FindObject方法让你能够通过匹配一些确定的参数比如位置来在场景图中查找对象。正如你看到的那样,其中一个搜索参数是对象类型(Imperial),这会使搜索范围大大缩小,如果这正是你期望的做法。

 

对象类型和碰撞

T2DcollisionComponent暴露了一个名叫CollidesWithTorqueObjectType 属性。通过设定这个属性,不出意外,你将可以控制哪些对象类型之间可以发生碰撞:

 

TorqueObjectType ValidTarget = TorqueObjectDatabase.Instance.GetObjectType("ValidTarget"); 

ExhaustPort.ObjectType += ValidTarget;

Torpedo.Collision.CollidesWith = ValidTarget; 
 

 

分享到:
评论

相关推荐

    torque4官方文档

    Torque集群是由一个管理点和多个计算节点组成。管理节点运行pbs_server进程,计算节点运行pbs_mom进程。用于提交和管理作业的客户端命令可以安装在任何主机上(包括不运行pbsserver或pbsmom的主机)。

    Torque 引擎文档

    有关游戏引擎Torque引擎,比较有用的文档,Torque 引擎的画面感很强 可以用来做游戏

    torque文档--torqueAdminGuide

    Torque ResourceManager Adminstrator Guide 9.0.1

    Torque3D fps 完整教程文档

    torque官网的自己动手做一个第一人称射击游戏的完整文档教程。 我兄弟花了好几个小时用工具编辑成比较舒适的电子书,大家放心下载。5个积分虽然多了点,但对得起他的辛苦。

    Torque3D fps 完整教程文档part2

    torque官网的自己动手做一个第一人称射击游戏的完整文档教程。 我兄弟花了好几个小时用工具编辑成比较舒适的电子书,大家放心下载。5个积分虽然多了点,但对得起他的辛苦。 这个是第二分卷,共两分卷

    hpc作业调度 torque 6.1.2 (for Linux)

    torque 6.1.2 for Linux ,HPC作业调度软件,建议与maui配合使用。

    车况监控汉化版torque (1.5.50)

    5.支持更换主题 6.强大的设置及管理功能 7.支持切换平视显示模式(HUD) 汉化特点: 1.去除主界面图片logo,只加入文字提示logo 2.由于OBD故障码数据库过于庞大,所以此版本未汉化故障码数据库 3.由于Torque这个车用...

    torque 6.1.2

    torque-6.1.2.tar.gz版本,用于torque作业提交系统下载应用

    Torque_Pro v1.8.16繁体中文版

    Torque_Pro v1.8.16繁体中文版

    Torque 基础学习

    Torque 基础学习 学习Torque 加入模型对象 游戏特性实现 加入游戏角色 玩家机制 游戏场景实现 游戏声音和音乐

    Torque2D 中文翻译版基础教程(收集)

    torque2D 引擎的基础教程翻译版本

    Torque快速入门教程

    Torque数据层框架快速入门 由于Torque是一个比较老的框架,外面资料不多,但在使用上还是相当方便简洁的,这是一份能让你快速掌握它的简易教程文档

    Torque教程初级篇(全)

    本教程以torque引擎1.52版本为例,结合3D游戏开发大全和网络上的一些脚本教程制作而成,仅供新手参考学习,不会用于任何商业用途. 希望大家通过学习该教程以后对于引擎能够有比较大概的了解. 美工爱好者可以加Torque...

    Characterizing the Torque Lookup Table of an IPM Machine for Automotive

    With the output torque to be the main control target, various control algorithms are developed that aim to achieve high torque accuracy while maximizing the machine energy efficiency. Most of such ...

    作业提交系统Torque个人安装总结

    PBS的目前包括openPBS,PBS Pro和Torque三个主要分支。 其中OpenPBS是最早的PBS系统,目前已经没有太多后续开发,PBS pro是PBS的商业版本,功能最为丰富。Torque是Clustering公司接过了OpenPBS,并给与后续支持的一...

    Torque3D规范及说明书

    Torque3D规范及说明书,刚刚开源了,估计很多人可以学习并需要文档.

    Torque3d 英文原版 pdf

    Torque 3d 是一款3D C++ 游戏引擎,现已开源。 本PDF 是Torque 3d 英文原版 详细介绍了 Torque 3d 脚本技术 如何游戏开发细节等等.

    Torque中文教程

    学习使用Torque 游戏引,介绍使用Torque 游戏引擎进行游戏开发的原理和方法,进而使用它制作出属 于自己的游戏。

    Torque游戏引擎指南

    Torque游戏引擎的介绍,以及使用指南

    TORQUE 英文 管理手册

    TORQUE_Administrator's_Guide.pdf 英文

Global site tag (gtag.js) - Google Analytics