扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年9月22日
关键字:
在本页阅读全文(共4页)
2 角色管理
角色就是存在于场景中的一切东西,它可以是活动的如RPG中的NPC,也可以是静止的,如一个箱子。角色的数据结构视作用而不同,但基本的都有坐标、速度、使用到的图片等数据。具体到不同的游戏会增加各种数据,比如RPG中,会增加很多角色属性。这里我们只谈最根本的一些东西,主要讲角色的绘制和相互作用。
绘制角色简单的只是绘制一个帧序列的动画。不同于动画片,角色的动画根据AI变化。不同的AI对应不同的动作和动画。复杂些的角色是由很多部分组合而来,可称之为组合精灵技术,或者称为纸娃娃系统(Avatar)。这种技术可以实现换装效果。组合精灵的复杂之处就在于要组织好每个小部分之间的关系,这需要组合精灵编辑器完成。在专业游戏开发中,会大量运用到各种工具,编写工具也是游戏程序员的工作之一。无论什么样的绘制系统,在最终绘制到屏幕时都要注意两个基本点 - 角色的坐标和层次。角色的坐标是AI运算的结果,绘制时要将地图坐标转换成屏幕坐标。角色的层次需要排序得到,最后根据从远到近的顺序绘制各个角色,这样才能显示正确的遮挡关系。
角色的物理作用分为和场景之间的物理作用和角色间的物理作用。前者已经在场景管理中讲过。角色间的碰撞检测的时机是某个角色运动时。对于RPG这种类型的游戏,一个矩形碰撞框就可以表示角色的轮廓。对于格斗等类型的游戏,需要用多个碰撞框表示角色。碰撞框的检测非常简单,只要进行矩形相交测试。也有用圆形表示碰撞框的,利用圆心距离和半径的关系就可以判断。在2D飞机类游戏中,三角型的碰撞框也常常使用到。总之用一些几何形状粗略的描述角色的轮廓是2D游戏碰撞检测的通用方法。
场景中的所有角色往往用一个数组存储起来,这样方便遍历操作。主角做为一个例外,是需要玩家操纵的角色,而其他角色都是用AI控制的。AI虽然是人工智能的缩写,但这里借用来表示操纵角色的代码。
场景和角色是游戏中两个重要的基础组成部分,而开发一个游戏的工作主要部分就是设计各种场景和角色,按照设计编写角色的AI。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。