编辑: XR30273052 2019-06-30
基于J2ME的手机RPG游戏g I擎架构 税琳琳石民辫 《孛嗣佟蝶大学动嫡掌靛,DECA炭验室{热豪) 摘拦:本文奸牛桃游戏开躐中的若干赣要技术珊行了深入探计,提出了一种基于J2ME 的RPG游戏引擎架构方案,在争执游戏开发过程中能够提高游戏搬产效率,提离游戏的产董 和震量.

关镳谶:手瓤游戏,框架设计,场景管璃,角色管理,键盘缓冲,聪像压缩 薹'

季} 言 手机游戏产品的生命期非常短,~款比较好 触游戏通常也只能维持在两个星期发右,因此, ,擎撬游戏努须要臻短舔发周薅,蘩逮高效建提交 新作品.,而游戏弓f擎槲当于游戏的心脏和骨 架[s],它把游戏制作中梭心的部分阉定下来,使 胬游戏尝去了谗多重复我鹳舞续写,获羲黧够必 大键高游戏帮发的速度稀葳量. 本文在

第二节里首先总括了游戏的基本络 麴,随后豹几劳分别扶璐景翡显忝秘绘剃、煮色 管理、嚣家交要叛及蚕冀烛理露令模块讲述了游 戏开发中的掩键技术,随后给出了引浆的具体燕 现,最后提成总结和展望. 2游戏的基本结构 在游戏中,至少需璎兰个功能:嫩永域面,接 受凝家羧人釉霹辏太产生爱壤,逶鬻髂鸯渲聚, 输入赣出鞍逻辑三夺模祆雒_j. . r将这三个模块组合栈一起有很黟方法,比如 攀件驱动:让矮面保持不变宣到检测劐输入,触 发逻饕运冀势摄据橥暴辫蘑嚣重薪瀛染.夔憝 游戏往往并术是这样,游戏是时间聪动的.秃论 憋否有事件,游戏都在幂停地循环,检查是否有 输入,运行邂辍,渲染囊添.获一定整囊上游,游 戏镬像电影,随着时闻流迸画面在改变. ~ 既然是时间驱动,游戏中就会有帧的概念. 帧是某个黠粼显示在嚣纂上麓域霹.从整体上 饕+辩戏就怒一系秀懿帧不断捶藏罄,像饕蘸羚 一嚣,送期在于魂巍片每鞍懿内容霆凄燕辨覆先 设定好麓,两游戏审玩家可泼透过交互敬交摇敷 的内容.开发游戏的主要任务就是安排镪一帧具 棼播放酌内容.农每一次游戏循环中,搜集玩家 魏籍入、运费逻辑更耨数鬟、然焉蓑蠢更薪翳斡羧 据安斜}下一帧显示的内容.所以一个最简单的游 戏结构如图1所永. 邋m瑟1游戏酶蒸本结梅 遮魁一个最熬本的结构,特别对于比较简单 豹J2ME游戏寒滋,这个结构更翅宥提袭牲. ・

6 ・ 计算机动画与游戏 3场景渲染模块 场景是游戏角色所存在的世界.它从视觉上 看是游戏的地图.不过从程序的角度看,场景是 一种数据结构,不但包含了地图显示的图形信息 也包含了角色在场景中活动所需要的物理信息 和事件信息.比如地图上有些地方是不可以通 过的,有些地方主角走过去会触发一个事件,等等,这些信息往往包含在场景中. 3.1地图绘制 常见的方法是拼Tile,俗称贴瓷砖.因为二 维数组很好的对应了二维坐标.二维数组的每 一项对应地图上某格使用那个瓷砖,整个二维数 组就能表示整张地图.但是由于一维数组开销 更少,所以在手机设备上使用一维数组更为合理. 3.2地图卷轴 在卷轴式地图中,屏幕可以看成是一个摄像 机,每次只显示地图的一部分.随着主角的移动, 屏幕所显示的部分跟着变化,形成卷轴.如图2 所示. Tile在地图上的坐标为(x,y),屏幕相对于地图的 坐标为(SX,sy),那么Tile在屏幕上的坐标就是 (X--sx,y--sy).注意单位要统一,往往Tile的单 位是格,所以要转换成像索单位,即格子坐标乘上 Tile宽度或高度.到这里其实地图的主要功能都 已经实现了,再加上管理Tile图片的部分,一个 简单的Tile引擎就成形了. 3.3碰撞和事件检测 场景中有些地方是无法通过的,有些地方经 过时会触发某个机关,这些碰撞和事件信息也存 储在场景信息中,用另一个一维数组表示,可以称 之为物理层. 碰撞检测在游戏开发中是一个永恒的话题, 由于使用了物理层,我们只要计算出下一帧角色 所要到达的位置是哪一格,如果这一格的物理层 信息是不可通过,则阻止角色前进.这种碰撞检 测不同于物体问的碰撞检测,不必和所有的物体 进行遍历判断.缺点是不够精确.减小物理层格 子的大小可以提高精确度,但会使数据变多.所 以物理层的碰撞检测只用在地图上,如果有比较 特殊的物体,就让它作为一个角色存在.利用角色 间的碰撞检测. 4角色管理模块 角色可以是存在于场景中的一切东西.它可 以是活动的如NPC,也可以是静止的,如一个箱 子.角色的数据结构视作用而不同,但基本的应 该有坐标,速度,以及使用到的图片等数据. 图2地图卷轴原理 4.1 玩家角色 卷轴式地图显示的时候,从屏幕(摄像机)所 玩家角色是玩家在游戏世界中的化身,代替 覆盖的第一个Tile开始绘制.需要注意的是屏 玩家在游戏世界中游历.这里涉及三个比较主要 幕所能覆盖的Tile包括部分覆盖的Tile.图2中 的概念:任务、经验和物品交易.任务和物品交易 第一个Tile就是一个部分覆盖的Tile,尽管只是 信息保存在NPC的属性当中,由具体的NPC负 部分覆盖,它也是需要绘制的第一个Tile,否则屏 责处理;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题