基于J2ME WTK的2D手机游戏开发
主角与地图碰撞检测
Sprite中提供了专门的碰撞判断方法,通过该方法可以容易的对角色是否接触进行判断。碰撞判断常用的方法为collidesWith(Sprite sprite,boolean pixelLebel);第一个参数为与自身可能发生碰撞的精灵对象;第二个参数为是否像素级别碰撞检测,如果为false,则当精灵图片的边框接触时候将为碰撞发生;如果为true,则需要在当图片中真实的像素内容接触时碰撞才发生,通常设定为false使得游戏中减少运算量。
但如果是主角是与地图的碰撞,就需要自己写方法。首先,在地图上铺一层特定的碰撞块,当主角判定到脚下是碰撞块时就站住,如果不是就往下掉。因此我们必须知道主角脚下是哪一块。
取主角脚下是哪一块的代码如下:
man_y = (this.getY() + this.getHeight()) / 32;//取主角脚下站在哪一行上
if (man_y >= GamePlay.map_hit.getRows()) {//得到图层中单元格的行数
man_y = GamePlay.map_hit.getRows();//如果man_y超过总行数,就把总行数赋//给man_y
}
如果主角脚下是“13”这一块的话,就把状态变成停止,并且主角位置就设当前位置。
判定主角动作的代码如下:
switch (num) {
case 13:
this.setPosition(this.getX(), (this.getY() + getHeight()) / 32
* 32 - this.getHeight());//设置主角位置
if (state != WALK) {//设置主角状态
this.setNextState(STOP);
}
break;}
4.3 程序打包与运行
当游戏代码写完,并程序运行、编译都没出错后。就可以进行打包。打包工具可以用之前安装的Wireless Toolkit 2.5。程序打包步骤如下:
1)打开Wireless Toolkit 2.5 ,点击“New Project”在弹出的窗口,分别输入游戏名和MIDlet类的名称,再点击“Create Project”。如图4-6所示。
图4-6 新建项目
2)点击“Create Project”,在弹出窗口中的“Target Platrorm”中选择“Cuetom”然后选择“MIDP2.0”,点击确定。如图4-7所示。
图4-7 属性设置
3)再将eclipse,2DGame中的“src”“res”两个文件复制粘贴到“c:\wtk2.5\apps\2DGame”中,将里面的“src”“res”两个文件替换。再点击“Build”对程序进行编译。如图4-8所示。
图4-8 检测代码
4)然后点击“Project”,对游戏进行打包。如图4-9所示。
图4-9 游戏打包
5)最后打包完成后生成“JAR”和“JAD”两个文件。JAD 包含组成 MIDlet 套件的类文件资源和打包信息。JAR即运行文件。如图4-10所示。
图4-10 生成文件
4.4 最后效果图
打包完成后,运行游戏。如图4-11、4-12、4-13、4-14所示。
图4-11 游戏LOGO界面 图4-12 游戏中主角站立
图4-13游戏中主角跳 图4-14 游戏中主角蹲
结 语
本文以基于J2ME WTK平台的手机游戏的功能开发为线索,进行了相关理论研究,实验和项目开发。首先介绍了J2ME的用途和基于J2ME平台手机开发的国内外发展情况,然后研究介绍了J2ME平台的特点和手机游戏开发的关键知识点。最后以如何在J2ME环境下实现一款动作冒险类手机游戏的开发过程做了一个详细的介绍。其主要工作为:
1)探讨和分析J2ME平台的用途和基于J2ME平台手机开发的国内外发展情况。
2)介绍了J2ME平台的特性和体系结构。重点介绍了MIDP类库,应用程序的体系结构,工具和实例。
3)介绍了J2ME游戏开发的技术知识。
4)实现了一款2D游戏,重点解决了游戏主角的碰撞,游戏主角的画法及游戏背景的画法,并对整个游戏开发过程做了一个详细的介绍。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
基于J2ME WTK的2D手机游戏开发(英文文献翻译) 第8页下载如图片无法显示或论文不完整,请联系qq752018766