sodibgJ2ME毕业论文(5)

2019-04-02 08:58

第4章 “Pocket Boxing”手机游戏开发制作

4.1 游戏编程

众所周知,J2ME现在最流行的就是制作手机游戏,况且现在无线游戏编程现在又是一个很热门的话题,不但因为它具有极强的趣味性,更重要的是它给我们带来了无限的商机。随着JAVA手机的诞生,手机游戏编程的灵活性与轻便性使得JAVA手机游戏成为游戏市场的又一亮点。

4.2 格斗类手机游戏实例

手机游戏有很多种类,其中格斗类游戏凭借着它的趣味性和娱乐性深受人们的青睐。如何制作一款优秀的格斗类游戏,就成为手机游戏开发人员一个最关键的问题了。

4.2.1 “Pocket Boxing”游戏背景介绍及开发环境

这里将通过一款拳击游戏来介绍格斗类手机游戏中的攻击与防御等重要因素、以及如何控制对手角色。

这款游戏名字叫“Pocket Boxing”。在这款游戏中,玩家所控制的拳击手将出现在屏幕的左侧,电脑所控制的拳击手则出现在屏幕的右侧。拳击手可以进行上下两种的攻击方式,以及上下阻挡防守与后退防守的防卫。当攻击命中对手时,就可以是对手角色的生命点数减少,不过不是任何的攻击方法都可以使对手的生命点数减少的。当玩家在进行上方和下方的攻击的时候,对手进行相对应防卫的时候,在对手防守状态中是不能使对手的生命点数减少的,还有一种情况就是在对手后退一步避开你的攻击的时候也同样不会减少生命点数的。

当对手的生命点数用尽的时候,玩家就获得了这一局比赛的胜利,就可以进

入下一个回合。在进入下一个回合后,电脑控制的对手的生命值会恢复,同时拳击手的攻击力会加强,也就是难度会加大。相对的玩家控制的拳击手在前一回合所剩下的生命点数,也可以附加到下一回合的生命点数上去。

游戏中一共有五个回合,在全部的回合中取得胜利的话就是冠军了。在中途如果被打败,就算是游戏结束了。游戏流程如图4.1:

这款手机游戏是一个简单的MIDP应用程序,在这里进行开发有它需要的开发环境。MIDPlet的开发环境需要有java2 SDK1.3版以上(这里使用的是JDK1.4版)与MIDP的类库、以及后述的运行前验证工具三种。在J2MEWTK中除了包括MIDP的类库、运行前验证工具之外,还会把编译与包装(JAR文件化)、JAD文件的创建、模拟器的启动等在开发MIDP需要用到的操作加以集成。当完成了JDK1.4以及J2MEWTK的安装以后,就可以开始对游戏项目进行创建了。 4.2.2 MIDlet的构成

开发环境准备好了之后,就应该进行MIDlet的开发了。

遵循MIDP规范的基本MIDPlet是组合了JAR文件与JAD文件来运行的。JAR文件是将Class文件或者是图像等集成在一起的文件,而JAD文件则用来指定JAR文件内启动MIDlet类名称或JAR文件的大小、版本等属性。移动电话的JAM(Java Application Manager)一开始就是将这个文件读进来后才启动MIDlet的。

JAR文件虽然基本上与J2SE是相同的,不过其中所放置的列表文件内容是不一样的。列表文件中编写了许多的文件打包信息。一般来说可以在JAR文件内放置多个MIDlet,通过在JAD文件中编写MIDlet个数相等的内容,JAM就能依次判断MIDlet的数目。

MIDlet文件的构成:

(1)JAR(Java ARchive)文件:集成了Class File与图像、声音等内容的数据文件,虽然与J2SE的文件相同,但是列表的文件内容不同。

(2)JAD(Java Application Descriptor)文件:指定启动的MIDlet类名称或是数

据文件大小、版本等信息。

(3)KDDI的地方,使用组合了JAR文件与JAD文件的KDDI专用的KJK(KDDIJavaeXtension)。 4.2.3 MIDlet的生命周期

MIDlet的生命周期,与Applet或DoJa是不一样的东西.若想要在Applet与DoJa之间作相互的移植时,对这个生命周期的流程有越深入地了解,在进行移植的时候就会越轻松。

MIDlet是以下列的生命周期来运行的:

(1)当终端发出了MIDlet的运行命令时,若编写于JAD文件MIDlet有多个的时候,就让其进行选择后启动MIDlet。

(2)MIDlet的Constructor被调用。

(3)MIDlet#startAPP()方法被调用,启动MIDlet。

(4)在终端有来电的时候MIDlet#startAPP()方法就会被调用,并让MIDlet暂停。

(5)当通话结束等的时候,就再次调用MIDlet#starAPP()方法,MIDlet就会再次启动。

(6)调用MIDlet#destoryAPP(boolean)方法,以将MIDlet结束。 如图4.2 :

4.2.4 MIDlet的画面显示基础

MIDlet类本身由于并没有提供直接操作画面显示的功能,因此在MIDlet类的子类也没有直接操作画面显示的功能。因此,要使用管理画面显示功能的Display类。这个Display类可以让javax.microedition.lcdui.Displayable 类的子类显示在画面 上。

1 开始 2 显示标题界面 按下结束按钮? Yes No 按下自动按钮? Y es 1 结束 显示暂停界面 显示关卡启动界面 按下重新启 Yes 动按钮? 显示关卡游戏界面 Y es 按下停止按钮? 2 No 按下暂停按钮? No

No 过关 显示游戏 Yes Yes No 结束界面 玩家的胜利? 2 显示关卡全关卡过关? No Yes 结束界面 显示关卡结束界面 2 图4.1 游戏的流程图 Fig 4.1. The flow chart of games

new() DestoryApp() Paused

PauseApp()

Paused DestroyApp() 图4.2 MIDlet的生命周期 Fig 4.2 .The life cycle of MIDlets

StartApp() Destroyed

Displayable类的子类大致来说可以分为两种,分别用来进行线与图形、图像的低级描绘类,与用来显示警告与文本的输入、选择列表等UI组件类。前者是指javax.microedition.lcdui.Canvaslei类,用来进行低级描绘。后者是指其中的javax.microedition.lcdui.Screen类与其子类(Alert、Form、List、TextBox类等)。

Displayable类与子类之间的关系如图4.3 4.2.5 游戏项目的创建

在J2MEWTK当中,是以项目这个单位来管理MIDletSuite,因此在进行程序编写前必须先要创建项目。首先要将项目取名为SimpleMIDlet。在Windows“开始”菜单启动J2MEWTK的KToolbar,启动之后,单击“New project”按钮。然后在“New project”对话框的“project Name”与“MIDlet Class Name”的文本框输入项目的名称“Pocket Boxing”,并单击“Create project”按钮。这样就完成了对游戏项目的创建。


sodibgJ2ME毕业论文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:证券期货行业简历中的自我评价及评定

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: