对象类型
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, 和 ImperialGuard的TorqueObject。我们可能会这样做:
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暴露了一个名叫CollidesWith的TorqueObjectType 属性。通过设定这个属性,不出意外,你将可以控制哪些对象类型之间可以发生碰撞:
TorqueObjectType ValidTarget = TorqueObjectDatabase.Instance.GetObjectType("ValidTarget");
ExhaustPort.ObjectType += ValidTarget;
Torpedo.Collision.CollidesWith = ValidTarget;
分享到:
相关推荐
根据提供的信息,我们可以深入探讨Torque4的相关知识点,特别是其架构、配置以及作业提交与管理等方面。 ### Torque4概述 #### 架构概览 Torque4是一种高性能的作业调度系统,它由一个管理节点(称为服务器)和多...
《深入理解Torque游戏引擎》 Torque引擎是一款强大的游戏开发工具,以其出色的画面表现力和易用性受到开发者们的青睐。本文将详细介绍Torque引擎的脚本系统、编辑器的使用以及引擎的核心特性,帮助你更好地理解和...
《Torque文档--torqueAdminGuide》是一份由Adaptive Computing Enterprises, Inc.编写的关于Torque资源管理器(ResourceManager)的管理员指南。Torque是一个开放源码的高性能计算(HPC)集群调度系统,该指南适用于...
解压后,用户可以按照官方文档或社区指南进行安装和配置步骤,确保Torque能在Linux环境中正确运行。 总结来说,Torque 6.1.2是用于Linux HPC环境的作业调度系统,通过与Maui的配合,可以实现高效、智能的作业调度。...
torque官网的自己动手做一个第一人称射击游戏的完整文档教程。 我兄弟花了好几个小时用工具编辑成比较舒适的电子书,大家放心下载。5个积分虽然多了点,但对得起他的辛苦。
8. **社区和文档**: 由于有中文翻译的基础教程,中国的开发者可以更容易地融入Torque2D的社区,获取帮助和分享经验。完善的文档能够帮助初学者快速上手。 9. **游戏实例**: 教程可能包含实际的游戏开发案例,让...
《Torque游戏引擎中文教程》是一本专注于游戏开发的专业指南,旨在帮助读者深入理解并熟练掌握Torque游戏引擎的使用技巧。Torque引擎以其高效、易用和跨平台的特性,成为了众多独立开发者和小型团队青睐的游戏开发...
torque官网的自己动手做一个第一人称射击游戏的完整文档教程。 我兄弟花了好几个小时用工具编辑成比较舒适的电子书,大家放心下载。5个积分虽然多了点,但对得起他的辛苦。 这个是第二分卷,共两分卷
5. **扩展性**:Torque PBS设计上考虑了系统的可扩展性,能够轻松应对从小型集群到大型超级计算机的各类规模。 #### 六、Torque PBS的应用场景 Torque PBS广泛应用于科学研究、工程计算、数据分析等领域,特别适合...
通过使用Torque,可以使用面向对象方式访问数据库,不再需要编写任何SQL语句,对于快速进行项目开发起到了至关重要的作用。 Torque 的应用总结文章摘要中提到了Torque在项目中的应用经验,包括Torque的配置、使用...
最后,为了便于新手入门,"Torque游戏引擎入门指南.pdf"这份文档提供了逐步的教学指导,涵盖了从安装引擎到创建第一个游戏项目的全过程。书中详细讲解了如何使用编辑器进行场景构建,如何编写脚本,以及如何测试和...
【标题】"Torque 6.1.2" 是一个重要的集群作业调度系统,它主要用于大规模计算环境,如科学计算和大数据分析。该版本是Torque作业提交系统的更新,提供了更稳定、高效的性能和功能。 【描述】"torque-6.1.2.tar.gz...
《TORQUE类方法参考》是针对TORQUE引擎的开发文档,旨在为开发者提供类似MSDN的详尽技术指导。TORQUE引擎是一款强大的游戏开发平台,它提供了丰富的工具和API,帮助开发者创建各种类型的游戏和交互式应用。这篇文档...
- **支持的文件类型**:Torque支持多种文件类型,例如.cs和.cs.dso文件用于存储游戏逻辑脚本;.gui和.gui.dso文件用于界面设计;.DTS和.DIF文件用于地形和模型数据等。 - **关键工具和编辑器**:Torque提供了多个...
Torque快速入门教程 Torque是一个Apache的公开源代码项目,主要功能是实现对数据库的访问,方式是通过生成访问数据库的资源(包括创建数据库、表和初始化表的sql语句)和java代码、提供使用这些代码访问数据库的...
对于初学者,Torque官方文档和社区论坛提供了丰富的教程和案例,帮助快速上手。同时,许多开发者分享了自己的项目和代码,是学习和借鉴的好资源。 6. 持续更新与社区支持 Torque引擎持续进行更新,以适应不断变化的...
Torque游戏实战开发I是一本针对初学者的实用游戏开发教程,主要介绍了Torque游戏引擎的使用。Torque引擎由GarageGames公司开发,因其低价位和功能全面而受到游戏开发爱好者的青睐。本书的目的是为了弥补国内关于...
《Torque3D规范及说明书》是一份详尽的技术文档,旨在为开发者提供关于Torque 3D游戏引擎的深入理解和使用指导。Torque 3D是一款强大的开源游戏开发工具,它允许开发者创建高质量的3D游戏和应用,尤其适合那些希望...
Torque+Maui 安装实例 Torque+Maui 是一种高性能的分布式计算系统,常用于科学计算、数据分析和机器学习等领域。本文将详细介绍在 Linux 上安装配置 Torque+Maui 的全过程。 一、解压安装包 Torque+Maui 的安装...
具体配置细节可以根据官方文档进行调整。 #### 六、总结 Torque是一款非常实用的作业管理软件,但它的调度器功能较为基础。通过与MAUI结合使用,可以在保持Torque原有优点的基础上进一步增强作业调度能力,提高资源...