J2ME小游戏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J2ME小游戏——超级玛丽
超级玛丽是一款深受大家所喜爱的游戏,该J2ME版的超级玛丽其游戏主要包含了主控制界面、游戏的主要操作界面以及其他一些相关界面,包括游戏的介绍、音乐、制作组、帮助等。
此外,此款游戏共有八个类:分别是GameEnemy 类、GameFlash类、GameImage类、GameMap类、GameMusic类、GamePlayer类、MyGameCanvas类以及一个主类MIDlet类。
下面做具体介绍:
1.相关界面介绍。
程序运行之后,会进入游戏等待界面,如图所示:
等待界面1 等待界面2
当等待结束后,便可进入游戏的主界面。
该主界面主要包括了开始、音乐、介绍、退出、帮助、制作组等六个模块。
选中开始模块,单击手机中键即可进入游戏的操作界面,玩家也就可以马上进入游戏状态。
若不熟悉游戏按键的相关操作,则可以利用左右键选中帮助模块,再单击手机中键进行确认,进入帮助模块,了解此款游戏按键的相关操作。
相关界面如图所示:
主要控制界面 帮助模块界面
2.相关程序介绍。
此款游戏程序共包含八个类,分别是GameEnemy 类、GameFlash 类、GameImage 类、GameMap 类、GameMusic 类、GamePlayer 类、MyGameCanvas 类以及一个主类MIDlet 类。
① 在GameEnemy 类中,首先根据类型不同创建不同的怪物。
示例程序如下所示:
public GameEnemy(int type,int x,int y) {
this .type = type;
switch (type) {
case mogu01:
sp_mogu01 = new Sprite(img_emy_mogu01,23,16);
sp_mogu01.setPosition(x, y);
mogu01_H = sp_mogu01.getHeight();
mogu01_W = sp_mogu01.getWidth();
break ;
case mogu02:
sp_mogu02 = new Sprite(img_emy_mogu02,23,13);
sp_mogu02.setPosition(x, y);
mogu02_H = sp_mogu02.getHeight();
mogu02_W = sp_mogu02.getWidth();
break ;
case wugui:
sp_wugui = new Sprite(img_emy_wugui,26,15);
sp_wugui.setPosition(x, y);
wugui_H = sp_wugui.getHeight();
wugui_W = sp_wugui.getWidth();
sp_wugui.defineReferencePixel(wugui_W/2, 0);
break;
}
}
由此可见,一共有三种类型的怪物来作为此款游戏的敌方,分别是mogu01、mogu02、wugui。
紧接着,程序又在移动、下落、死亡等状态下根据类型不同绘制不同的怪物。
并根据不同怪物的类型实现不同的逻辑、不同的移动等。
②在GameFlash类中,主要是用来设置在游戏中所出现的一些金币和石头等,分别用jibimove和shitoumove来作为金币和石头的移动偏移量。
此类的设置主要是对玩家在玩游戏过程中所做的奖励措施,以便鼓励玩家不断继续下去。
③ GameImage类和GameMusic类作用相同,分别是用来设置在游戏中所要用到的图片和背景音乐。
④ GameMap类表明此游戏设置了两关。
该类主要用来设置两关的碰撞层、背景层、遮蔽层等。
⑤ GamePlayer类是对游戏的人物进行了相关设置,如是否进入死亡状态、是否死亡、玛丽数量、金币数量、总分数、大小关卡数等。
在死亡状态的设置中,有主角超出屏幕死亡判断、主角站立状态碰到怪物死亡判断、主角移动状态碰到怪物死亡判断等以及主角在移动、跳跃过程中地图、怪物也随之改变的移动判断。
⑥ MyGameCanvas类是对主要控制界面中有关开始、介绍、退出、帮助、制作组等几个主要模块所进行的相关设置。
⑦ MIDlet类为该程序主类。
运行该主类便可进入相关游戏界面。
如图所示:
主要操作界面。