编辑: XR30273052 | 2019-06-30 |
经验从战斗中获得,保存在怪物的属性当 幕上就会出现没有图像的部分.造成部分覆盖 中,由怪物负责处理.玩家角色要负责的只是接 的原因是屏幕的卷动速度并不是Tile宽度的整 受键盘输入的控制,进行相应的描绘,以及判断下 数倍.实际上,卷轴速度往往可能是变化的,这样 一步是否可以跨越,更新RMS数据等. 的卷轴显得比较自然. 把这些功能从玩家角色中划分出去的原因 按照一定的顺序将屏幕所能覆盖到的所有 是游戏中只有一个玩家,玩家角色对其他角色的 Tile都绘制一遍,场景的绘制工作就完成了.这 碰撞和事件处理是很容易判断的,但是游戏中怪 些Tile绘制的时候要采用相对于屏幕的坐标,而 物和NPC却不止一个,要玩家角色需要把所有的 不是相对于地图的坐标.游戏中经常用到屏幕 怪物和NPC都遍历一次,手机中会难以承受这样 坐标和地图坐标的转换.转换的方法很简单.设 大的开销. 基于J2ME的手执RPG游戏gl擎笨耪 ,7・ 4.2 NPC和怪物人工智能 游戏中NPC翻怪物可以是站立不动的.但多 数融候镌匍会簌一定范磊瘫自麦溪动,并穰据寻 路算法有自己的行动路线. 常用的寻路算法有两种:状态空间搜索和启 发装搜索. 状态空间愁指从出发点戮目标点之闻由予 求解条件的不确定性和不兜备性,而出现的多条 求锵路径组成舱魇,有深发优先和广度优先两秘 攘索方法.餐怒状态空阕接索有一令骧显酶缺 点t它需要在一个给定的空间中实施穷举H]. 启发式搜索是在宽度优先搜索的嗣射,先将 下一层豹溪有繁点逶蓬一令佶徐丞数送行过滤, 然靥再决定搜索方向n].该方法在一定程度上 缩小了搜索范围,提高了搜索速度,从而比状态 空瓣搜索更适会在手规上波援. 游戏中广泛使用的A'
算法就是一种典型酶 启发式搜索算法,但考虑到手机游戏巾内存和容 量的限制,需簧将经典A.算法的估价函数和数 据绦梅俸一定调整. 在节点行,出发点到目标点之间的移动耗费 可以用估价函效,(摊)来表永: .必黠)=譬(,1)+矗(拜) 其中,g( )是状态空阋中从出发赢掰7'
1节点 的实际代价.^(疗)是从疗节点到目标点最佳路径 的然诗代价. 徭臻显.g(箨)的篷是鬻定酶,h(箨)酶选取是 整个估价函数的关键.在学机中,h(雄)可采用曼 哈顿方法计算,即考虑从当前节点到嗣的节点之 阉容平霸垂套豹筵赛豹葱鞠,忽臻对凳线方淘. 此外,A'
算法还保存着一张Open表和一张 Close表,分别用来存放来访问和已访闸的节点. 在PC乎台上这榉豹数据绻梅可毙直接震链表裁 窭璃了,捶入和删除氇非誉容易,健怒JAVA是 没有指针的,需要改用动悉数组,存储的移动路 径也不能用栈,丽要改用JAVA提供的Stack类 袋处瑾. 5玩家交互模块 游戏弱其德艺本形式鹣最太差剐在于嗣磊 家的交互性.龟就是接受键盘输入,遴行逻辑运 算并重新渲染. 手机上捕获键盘输入有专用的接口:key- Pressed.餐邃榉势盛把接键楚瑾秘其穗逻辑运算 分离在keyPressed和接个游戏的逻辑循环中,但 是如果所有逻辑都放在keyPressed显然照不会 适,嚣秀狳了按键事搏渡挣,游戏还有稷多其绝懿 逻辑要处理.所以我们采用键盘缓冲将按键信息 存起来,然后在整个游戏的逻辑处理时就可以判 薮这一恢按键的获态. . 利丽按键缓冲,除了可瑷势l断一个键是否按 下、松开,还可以判断一个键是褥一直被按住了, 甚至可以判断组合键. 隽了第终蠹存,蜀渡磊一令整数寒表承耩骞 的按键状态.整数有32位,每做代表一个按键状 态,足够表示大多数乎机的按键了.可以搬目前 瓣按键状态记秀Key. 同时由于不丽黧号的手枕设备差异憔比较 大.读入间一个输入攀件,可能杂返回不同的数据 格式,爨戴在处理按键事件的代码中需要对不嗣 懿手税终一个骜装簸瑾,把读霞零静数据统一秀 用整数液示的形式,记为keyCode. 那么,在处理按键按下的代码中将keyCode 与Key遴季i或运算,在处瑾按键橙舞翡代码串进 行异或落算,即可得知接受玩家输入以后最新的 按键状态KeyNew,这个KeyNew就是从key- Pressed巾获取了输入信息以蘑,保存出来,用在 整个游戏逻辑处理审的键盘状态. 6图片处理模块 手撬孛因秀馥赛麓力畜限,掰羧诲多缀典瓣 图形学算法都不能寓接使用.相对用得较多的还 是对图片资源的处熙.也就是谯保证游戏效果的 黎撵下嚣爱蔫省季撬约空舞纛痰襻. PNG格式是手机游戏串瞧一支持的黼片格 式,每张PNG图片嘲图片内容信息和一定的格 式信患组成.这些榛式信息在镣张图片中都簧占 用一定象瓣,燕莱褒疆处理嚣雩辘够把露张PNG蓬 集成为一张大图,使用时再裁切成单张图片使用, 就可以节省露一l份格式信息所占的空间,程手机 孛这逶誉楚一令不冬懿数字. 不过作为游戏的图形弓l擎模块,还要考虑蠲 一些更专业的技术,如角色换装.这项技术用一 份图片数据与一扮溺色叛片段缕合,能够生成耘 的图背,如图3所零. 新网片与原图片相比,角包外型并不发生变 化,变化的是服装翔道具的颜色.这里,新悫包的- 产生灵多存7一份濮色叛数豢,瓣疆多懿文箨强 ・8・ . 计算机动画与游戏 图3角色换装技术 式信息,角色姿态信息等都复用的是原来图片的 数据,这样就有效节省了手机内存.