手机游戏(堡垒)的设计与开发

手机游戏(堡垒)的设计与开发

摘要

随着手机业务的迅速发展,手机游戏逐渐成为移动增值服务的兴奋点。本毕业设计就着眼于J2ME 技术的应用,设计与开发一款探险类手机游戏(堡垒) 。

该堡垒游戏是基于J2ME 开发的手机RPG 游戏,采用midp2.0技术实现了菜单、地图、主角动作及怪物动作和AI 等,主要通过精灵间的碰撞检测来触动事件发生。游戏的主流程是玩家利用手机键盘操作主角在堡垒中拾取道具破解迷宫,并且随着关数的增加,游戏的难度也逐渐增加。另外,游戏中还包括了排行榜,声音设置,帮助等各种附加功能。其中充满了趣味性和刺激性,是适合各年龄段的益智冒险类游戏。

本论文介绍了J2ME 的相关技术及该堡垒游戏程序的结构分析和具体功能的实现。

关键词:J2ME ; 手机游戏; 堡垒

The Design and Development of a Handset Game (Castle)

Abstract

With the rapid development of cell phone business, cell phone games have gradually become the hotspot of mobile value-added services. This graduate design which focuses on J2ME technology designs and develops a handset adventure game (castle).

This castle game is a handset RPG game based on J2ME which mainly examines the demon’s collision to touch off the event. It uses midp2.0 technology to achieve the menu, the map, the hero moves, monster AI etc. The game has included the order list, the sound establishment, helps of function etc. Player operates the lead through the handset to collect the stage prop in the castle to break through the labyrinth. The difficulty of the game will gradually increase along with the increase of stage. Otherwise, this intelligence and risk game is filled with enjoyment and the irritating quality witch suits many ages.

This paper introduces related technology of the J2ME and the structure analysis and the concrete function realization of this castle game procedure.

Key words: J2ME;handset game;castle

目 录

论文总页数:23页

1引 言 . .......................................................................................................................................... 1

2 手机游戏的现状和J2ME 的概况 .............................................................................................. 1

2.1软件现状 . ............................................................................................................................... 1

2.2 J2ME 概况 ............................................................................................................................ 2

2.2.1 J2ME 的由来 ................................................................................................................ 2

2.2.2 J2ME 的3层体系结构及MIDP 简介 .......................................................................... 2

2.2.3 Configuration 和Profiles .............................................................................................. 3

2.3 J2ME 现状和前景 .................................................................................................................. 4

2.4 手机游戏业务 ....................................................................................................................... 5

3 开发环境介绍 . ............................................................................................................................. 5

3.1开发环境 . ............................................................................................................................... 5

3.2 关于S ONY E RICSSON W IRELESS T OOL K IT ....................................................................... 5

4手机游戏(堡垒)的开发 . .......................................................................................................... 5

4.1 游戏的的思路、构想 ........................................................................................................... 5

4.1.1 游戏想法的产生 . .......................................................................................................... 5

4.1.2 对游戏设计的初步认识 . .............................................................................................. 6

4.1.3 模块成型阶段 . .............................................................................................................. 6

4.2 程序的类结构 ....................................................................................................................... 7

4.3 游戏的流程图 ....................................................................................................................... 7

4.4 游戏的实现 ........................................................................................................................... 8

4.4.1 主类GameMIDlet 的实现 ........................................................................................... 8

4.4.2 游戏画布MyGame 类的实现 . ................................................................................... 13

4.4.3 玩家精灵GamePlayer 类的实现 ............................................................................... 17

4.4.5 SoundEffects 类的实现 .............................................................................................. 19

5 程序设计过程中遇到的一些重要问题 . ................................................................................... 19

5.1 关于碰撞的问题 ................................................................................................................. 19

5.2 关于游戏画面的显示问题 ................................................................................................. 20

结 论 . ....................................................................................................................................... 20

参考文献 . ....................................................................................................................................... 20

致 谢 . ....................................................................................................................................... 22

声 明 . ....................................................................................................................................... 23

1引 言

Java 语言是美国Sun Microsystem的James Gosling、Pratrick Naughton及Mike Sheridan等人于1991年精心设计出来的计算机编程语言,其构想在于实现使用同一种编程语言所写出来的程序可以在不同的平台上运作。这种架构对于消费性电子产品而言是具有革命性的,因为在消费性电子产品中的处理器及操作系统各不相同,要在这些平台上开发程序必须要了解各个平台的特性,以及其提供的API 使用方式,分别开发不同的版本才能执行,影响应用程序的普及性。

近几年,由于微处理器性能的大幅提升,加上无线通讯技术的突破,手持式移动设备开始受到大众的青睐。短短几年内,手机已经升级了几代产品,普及率逐年攀升,生产效率不断上升,产品价格比个人电脑的摩尔定律有更惊人的下调,以至手机是大多是城市居民不可缺少的一件随身设备。继短信、彩信等服务之后,中国移动提供基于Java 的百宝箱业务,应用产品遍及商务应用、信息获取、英汉互译、游戏娱乐等多媒体领域。

为了适应移动数据的发展,推动无线电子商务等业务的发展,J2ME (Java 2 Micro Edition)既用于嵌入式系统的Java 被引入无线领域。J2ME 的出现实际上是Java 技术的回归。作为Java2平台的一部分,J2ME 与J2SE 、J2EE 一起,为无线应用的客户端和服务器端建立了完整的开发、部署环境。随着J2ME 的应用,它为移动互联引入了一种新的模型,既允许手机可以从互联网上下载各种应用程序,并在手机创造可执行环境离线运行这些程序。由于定义了可执行下载的标准,并在手机上创立了可执行环境和程序开发语言,由此,在移动通信业第一次为软件开发商创造了巨大的商业机会,手机用户在得到丰富应用体验的同时,也大大提高了运营商的网络流量。

2 手机游戏的现状和J2ME 的概况

2.1软件现状

在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机存在以下弊端:

1. 传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。

2. 传统手机访问互联网是通过WAP(Wireless Application Protocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。

而Java 技术在无线应用方面的优势非常明显:

1. 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空大。

2. Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰

富的用户界面(GUI);

3.Java 技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。

2.2 J2ME概况

2.2.1 J2ME的由来

Java 的最大目标和特点,就是“一次编写,到处运行”的平台无关性。但是,一套标准无法适应各种不同的需求。因此,Java 技术目前共有三套,分别针对不同的平台和应用。

Standard Edition (J2SE ,标准版):针对桌面端PC 和工作站的个人和低端商务应用。

Enterprise Edition(J2EE ,企业版):针对服务器端企业级应用,支持Servlets, JSP和XML 等等。

Micro Edition(J2ME ,袖珍版):针对有限内存,显示和处理能力的设备,主要是消费电子和嵌入式设备领域(这实际正是Java 语言设计最初的目标领域)。

图1 java 结构

在消费电子和嵌入式设备领域,内存从几百K 到几十M ,从没有屏幕Web-TV ,CPU 从低功耗的嵌入式处理器到206MHz 的RISC 处理器,硬件条件的差异是相当大的。这就使得J2ME 的标准需要有不同的层次和类别来适应这个复杂的领域,因此相比之下J2ME 就比J2SE 和J2EE 的标准要复杂得多。因此,清楚的理解J2ME 的体系结构的划分才能更好的理解和掌握J2ME 。

2.2.2 J2ME的3层体系结构及MIDP 简介

J2ME 的3层体系结构依照各种设备的资源特性,将J2ME 技术构架分为简表(Profile )、配置(Configuration )和Java Virtual Machine (JVM )3

层,然

后再进一步细分,这使J2ME 能够在每一类设备的限制下工作,而同时提供最低限度的Java 语言功能性。

关于J2ME 的体系结构,可以这样来进行总结:Configuration 的分类是根据计算能力的不同来划分的,同类设备的计算能力相近。Configuration 是一个规范,定义了这类设备的共同Java 平台,定义与设备无关的Java 虚拟机和核心库,是平台相容性的基础。Profile 的分类是根据设备功能划分的,同类功能的设备其他各种硬件条件和需求也相近。Profile 是一组API ,在某Configuration 的基础上扩展了针对设备特定功能的API ,使得标准能够完全适应特殊的设备,彻底发挥设备的功能。

J2ME 体系的一般结构是:由Configuration 定义的Java 虚拟机运行于设备的宿主操作系统之上,构成整个平台的基础。Configuration 提供了基本的语言特性,Profile 提供针对设备的特殊功能API 和扩展类库。应用程序的运行环境需要一个Configuration 和至少一个Profile ,多个Profile 可以共存,也可以叠加。

MIDP (Mobile Information Device Profile)定义了针对移动信息处理设备(主要指智能手机和一部分具有无线通信功能的PDA )的图形界面,输入和时间处理,持久性存储,无线电话网络连接之上的一些消息处理(例如短消息),安全等等API ,并且考虑到了移动信息设备的屏幕和内存限制。类似于J2SE 中的Applet 框架,MIDP 提供了基于javax.microedition.midlet 包的MIDlet 应用程序框架。

因为MIDP 提出的比较早,目前重要的智能手机和PDA 操作系统上都已有了相应的实现,而且应用的也比较广泛。

2.2.3 Configuration和Profiles

针对消费电子和嵌入式设备领域丰富多样的设备和彼此相差极大的计算能力及各种硬件条件,J2ME 首先根据最基本的一些特征把它们划分为两类。

具备间断网络通讯能力的个人移动信息设备:如手机,双向呼机,PDA

(Personal Digital Assistant,个人数字助理,也称掌上电脑)等等。 有固定的不间断网络连接的共享连接信息设备:如置顶盒(set-top boxes ),Web-TV ,支持Internet 的有屏幕电话,汽车娱乐/导航系统等等。

Sun 对J2ME 有一个很好的概括:J2ME 技术有两个设计中心——手持的设备,和可以插到墙上插座的设备。第一类设备往往是个人化的,移动的,使用电池,体积和功耗都有限制,因此功能和计算能力有限。第二类设备一般是固定的,因此体积没有太大限制。由于固定,可以有持续电源供应,因此功耗没有太大问题,计算能力相对充裕。

计算能力是这两类设备的主要区别,对其上可能的应用和环境显然有着本质影响,不同类别的设备不可能采用同样的Java 平台,必须分别定义。针对这两大类设备的平台规范就是Configuration 。第一类设备的Configuration 称为CLDC (Connected, Limited Device Configuration ),第二类称为CDC (Connected Device Configuration)。

属于同一类的设备计算能力是相似的,但是其他功能和条件还有非常大的区别。作为Java 平台必须保证相容性,这就必须舍弃所有的设备特殊性。因此,Configuration 就是支持一组通用设备的最小Java 平台,作为这些设备的最小公分母来保证不同设备间的平台相容性。这里的Java 平台主要是指Java 虚拟机(JVM )和核心库。

在Configuration 中舍弃了设备的特殊性来保证Java 平台的相容性,但是仅仅有Configuration 显然是不够的,特殊的具体设备其独有的功能和硬件条件都没有得到支持。为此,在Configuration 的基础上,根据设备具体功能再进行一次划分,比如智能手机,PDA 等等。功能的划分也就是其他硬件条件的划分,比如屏幕大小,内存,计算能力,电力供应等等都是从属于功能的,因此同功能的设备的硬件条件都是非常相似的。Profile (译为简表或者简档)就是针对每一类功能设备的特殊性定义的与设备特性相关的API ,建筑于Configuration 之上,作为Configuration 的扩展和补充。例如MIDP (Mobile Information Device Profile ,移动信息设备Profile )就定义了关于移动信息设备(主要指智能手机和一部分具有无线通信功能的PDA )的图形界面,输入和时间处理,持久性存储,短消息等等的API ,并且考虑到了移动信息设备的屏幕和内存限制。而正在制定中的PDA Profile 则定义了针对PDA 的API ,其屏幕,内存条件都要大于MIDP ,但是网络方面的要求则显然和手机有所不同。如下图所示,同属于Configuration 的设备根据功能不同由不同的Profile 来支持,Profile 体现设备的特殊性,但是都建筑在一个共同的基础Configuration 平台之上。

2.3 J2ME现状和前景

J2ME 已经广泛的应用在了很多的移动设备上,很多的移动设备都实现MIDP 的参考实现,但不同的移动设备还是有一些不同的地方,比如应用与手机上的Profile 就不适合在PDA 的Profile 。有一些系统,比如Symbian 实现了CLDC 和MIDP ,作为智能手机的操作系统,是理想的MIDP 应用平台。其他的系统,如在Compaq 的iPaq 上已经实现了CDC ,IBM 的WebSphere Micro Environment 在Pocket PC 上实现了CLDC ,CDC 和MIDP 。可见,在硬件条件较好的PDA 上都可以实现CDC 的标准。由于这些主要操作系统平台都是开放的,基本可以相信,主要的移动信息设备操作系统都将一直提供J2ME 的支持,但是具体支持哪个标准则并不一定

死板地按照CLDC 和CDC 的最初定义,和设备的硬件条件和厂商的选择有关,或者可能同时实现多个标准。所以说J2ME 的还是在快速的发展的。

2.4 手机游戏业务

手机游戏是移动多媒体时代最有价值的应用。这是因为,游戏是多媒体应用中集大成的业务,图像、音乐、互动都能在游戏中实现,能充分满足用户各方面的需求。

虽然目前手机游戏还无法与PC 游戏相比,其显示功能和键盘输入、声音处理能力也形成一定制约。但是随时随地可操作可联网的特性大大拓展了人们娱乐休闲的时间和空间,以游戏功能为主的手机终端在市场上渐被认可,多媒体功能正向手机的标配功能演进,制约手机游戏发展的技术瓶颈将被打破。当前的手机游戏产业尽管仍然存在很多制约其发展的瓶颈,但手机游戏已显示出非比寻常的发展速度,其市场潜力十分巨大,将成为移动增值服务市场新的增长点。 3 开发环境介绍

3.1开发环境

操作系统:Microsoft Windows XP

程序语言:Java 2

开发平台:Java 2 Micro Edition

开发工具: Wireless Tool Kit 2.1+ UltraEdit-32_12.00a+1_SC

3.2 关于SonyEricsson Wireless Tool Kit

SonyEricsson WTK(Wireless Tool Kit)是SonyEricsson 公司针对J2ME 推出的用于手机和Palm 等移动设备的开发包,是手机厂商的专用开发包。它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性。虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他IDE 需集成采用的必备元素。

当前的最新Release 的版本为J2ME WTK2.2。

4手机游戏(堡垒)的开发

4.1 游戏的的思路、构想

4.1.1 游戏想法的产生

相信大家一定都在8位机机上玩过《冒险岛》这款游戏,非常有趣味性。 游戏中玩家通过不断的闯关,来解救公主。在每个关都很很多的怪物阻挡着你,所以需要运用各种机关或者秘籍来杀死它们。杀死他们的同时还可以获得各种奖励,加生命,加血等,增加了游戏的趣味性。

如图2所示:

图2 游戏截图

这款《冒险岛》游戏的实现相对于其他RPG 或者网络版手机游戏稍简单一些,适合初学者作为练习,所以我决定编写一款类似的手机游戏。

由于之前对手机游戏的编程知识以及游戏的设计只有初步的了解,因此,我们在游戏的构架和思路上经历了几个阶段。

4.1.2 对游戏设计的初步认识

刚开始我们只对J2ME 有初步的了解。这时我们只是模仿之前在PC 上看到的游戏,用语言把游戏的实现感性的描述为几大部分:

游戏界面系统:包括游戏开始界面;游戏开局界面;游戏运行界面;游戏结束界面。

游戏元素:菜单类;画布类;人物类;排行榜类。

4.1.3 模块成型阶段

在进一步熟悉了J2ME 知识后,对框架做出了一些修改,逐步把游戏的基本功能确定。游戏依次进入加载界面;主菜单;游戏运行界面;游戏结束界面。

具体实现的功能为:

1.主菜单,有如下选项:

(1)开始游戏——进入游戏界面。

(2)声音——设置声音的有无选项。

(3)帮助——介绍游戏的玩法。

(4)排行榜——玩家所得分数的排行榜。

(5)关于——用来显示说明信息以及背景图片。

2.游戏运行界面,包括:

游戏界面;目前游戏得分;游戏关数;生命次数;

3.游戏结束界面:游戏结束后,显示一行说明信息,然后退回到菜单。 游戏的主要模块为:

1.游戏主MIDlet (GameMIDlet )——对游戏生命周期的判断;对画布类的调用;管理游戏程序中各个屏幕之间的转换。

2.游戏画布(MyGame )——对游戏所用变量,常量的设定;游戏的初始化;游戏中精灵运动轨迹的控制;精灵与砖块的碰撞检测以及砖块状态的控制;游戏中各关卡的基本设定;游戏中对按键状态的处理。

3.菜单类——游戏中菜单事件的处理。

4.GameOgre 类——游戏中怪物的类。

5.GamePlayer 类——玩家控制的精灵类。

6.GameRMS 类——用于实现分数排行榜。

7.PlayMusic 类——用于实现音乐的播放。

8.MySet 类——声音大小的设置。

4.2 程序的类结构

程序一共有8个主要类,其中菜单类负责各个屏幕的切换。程序的类结构如图3所示:

图3 类结构 4.3 游戏的流程图

进入游戏菜单。初始情况下,游戏菜单有5个选项,它们分别是开始游戏、游戏说明和排行榜、设置、关于。选择开始新游戏则进入游戏,在游戏中如果按下非游戏键则中断游戏返回菜单,此时菜单中增加了一个继续游戏的选项,可以返回游戏也可以重新开始新的游戏。在菜单中选择游戏说明或者高分记录,则进入相应的屏幕,他们都能用“后退”软键返回菜单。菜单中的退出选项用于退出

手机游戏(堡垒)的设计与开发

摘要

随着手机业务的迅速发展,手机游戏逐渐成为移动增值服务的兴奋点。本毕业设计就着眼于J2ME 技术的应用,设计与开发一款探险类手机游戏(堡垒) 。

该堡垒游戏是基于J2ME 开发的手机RPG 游戏,采用midp2.0技术实现了菜单、地图、主角动作及怪物动作和AI 等,主要通过精灵间的碰撞检测来触动事件发生。游戏的主流程是玩家利用手机键盘操作主角在堡垒中拾取道具破解迷宫,并且随着关数的增加,游戏的难度也逐渐增加。另外,游戏中还包括了排行榜,声音设置,帮助等各种附加功能。其中充满了趣味性和刺激性,是适合各年龄段的益智冒险类游戏。

本论文介绍了J2ME 的相关技术及该堡垒游戏程序的结构分析和具体功能的实现。

关键词:J2ME ; 手机游戏; 堡垒

The Design and Development of a Handset Game (Castle)

Abstract

With the rapid development of cell phone business, cell phone games have gradually become the hotspot of mobile value-added services. This graduate design which focuses on J2ME technology designs and develops a handset adventure game (castle).

This castle game is a handset RPG game based on J2ME which mainly examines the demon’s collision to touch off the event. It uses midp2.0 technology to achieve the menu, the map, the hero moves, monster AI etc. The game has included the order list, the sound establishment, helps of function etc. Player operates the lead through the handset to collect the stage prop in the castle to break through the labyrinth. The difficulty of the game will gradually increase along with the increase of stage. Otherwise, this intelligence and risk game is filled with enjoyment and the irritating quality witch suits many ages.

This paper introduces related technology of the J2ME and the structure analysis and the concrete function realization of this castle game procedure.

Key words: J2ME;handset game;castle

目 录

论文总页数:23页

1引 言 . .......................................................................................................................................... 1

2 手机游戏的现状和J2ME 的概况 .............................................................................................. 1

2.1软件现状 . ............................................................................................................................... 1

2.2 J2ME 概况 ............................................................................................................................ 2

2.2.1 J2ME 的由来 ................................................................................................................ 2

2.2.2 J2ME 的3层体系结构及MIDP 简介 .......................................................................... 2

2.2.3 Configuration 和Profiles .............................................................................................. 3

2.3 J2ME 现状和前景 .................................................................................................................. 4

2.4 手机游戏业务 ....................................................................................................................... 5

3 开发环境介绍 . ............................................................................................................................. 5

3.1开发环境 . ............................................................................................................................... 5

3.2 关于S ONY E RICSSON W IRELESS T OOL K IT ....................................................................... 5

4手机游戏(堡垒)的开发 . .......................................................................................................... 5

4.1 游戏的的思路、构想 ........................................................................................................... 5

4.1.1 游戏想法的产生 . .......................................................................................................... 5

4.1.2 对游戏设计的初步认识 . .............................................................................................. 6

4.1.3 模块成型阶段 . .............................................................................................................. 6

4.2 程序的类结构 ....................................................................................................................... 7

4.3 游戏的流程图 ....................................................................................................................... 7

4.4 游戏的实现 ........................................................................................................................... 8

4.4.1 主类GameMIDlet 的实现 ........................................................................................... 8

4.4.2 游戏画布MyGame 类的实现 . ................................................................................... 13

4.4.3 玩家精灵GamePlayer 类的实现 ............................................................................... 17

4.4.5 SoundEffects 类的实现 .............................................................................................. 19

5 程序设计过程中遇到的一些重要问题 . ................................................................................... 19

5.1 关于碰撞的问题 ................................................................................................................. 19

5.2 关于游戏画面的显示问题 ................................................................................................. 20

结 论 . ....................................................................................................................................... 20

参考文献 . ....................................................................................................................................... 20

致 谢 . ....................................................................................................................................... 22

声 明 . ....................................................................................................................................... 23

1引 言

Java 语言是美国Sun Microsystem的James Gosling、Pratrick Naughton及Mike Sheridan等人于1991年精心设计出来的计算机编程语言,其构想在于实现使用同一种编程语言所写出来的程序可以在不同的平台上运作。这种架构对于消费性电子产品而言是具有革命性的,因为在消费性电子产品中的处理器及操作系统各不相同,要在这些平台上开发程序必须要了解各个平台的特性,以及其提供的API 使用方式,分别开发不同的版本才能执行,影响应用程序的普及性。

近几年,由于微处理器性能的大幅提升,加上无线通讯技术的突破,手持式移动设备开始受到大众的青睐。短短几年内,手机已经升级了几代产品,普及率逐年攀升,生产效率不断上升,产品价格比个人电脑的摩尔定律有更惊人的下调,以至手机是大多是城市居民不可缺少的一件随身设备。继短信、彩信等服务之后,中国移动提供基于Java 的百宝箱业务,应用产品遍及商务应用、信息获取、英汉互译、游戏娱乐等多媒体领域。

为了适应移动数据的发展,推动无线电子商务等业务的发展,J2ME (Java 2 Micro Edition)既用于嵌入式系统的Java 被引入无线领域。J2ME 的出现实际上是Java 技术的回归。作为Java2平台的一部分,J2ME 与J2SE 、J2EE 一起,为无线应用的客户端和服务器端建立了完整的开发、部署环境。随着J2ME 的应用,它为移动互联引入了一种新的模型,既允许手机可以从互联网上下载各种应用程序,并在手机创造可执行环境离线运行这些程序。由于定义了可执行下载的标准,并在手机上创立了可执行环境和程序开发语言,由此,在移动通信业第一次为软件开发商创造了巨大的商业机会,手机用户在得到丰富应用体验的同时,也大大提高了运营商的网络流量。

2 手机游戏的现状和J2ME 的概况

2.1软件现状

在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机存在以下弊端:

1. 传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。

2. 传统手机访问互联网是通过WAP(Wireless Application Protocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。

而Java 技术在无线应用方面的优势非常明显:

1. 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空大。

2. Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰

富的用户界面(GUI);

3.Java 技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。

2.2 J2ME概况

2.2.1 J2ME的由来

Java 的最大目标和特点,就是“一次编写,到处运行”的平台无关性。但是,一套标准无法适应各种不同的需求。因此,Java 技术目前共有三套,分别针对不同的平台和应用。

Standard Edition (J2SE ,标准版):针对桌面端PC 和工作站的个人和低端商务应用。

Enterprise Edition(J2EE ,企业版):针对服务器端企业级应用,支持Servlets, JSP和XML 等等。

Micro Edition(J2ME ,袖珍版):针对有限内存,显示和处理能力的设备,主要是消费电子和嵌入式设备领域(这实际正是Java 语言设计最初的目标领域)。

图1 java 结构

在消费电子和嵌入式设备领域,内存从几百K 到几十M ,从没有屏幕Web-TV ,CPU 从低功耗的嵌入式处理器到206MHz 的RISC 处理器,硬件条件的差异是相当大的。这就使得J2ME 的标准需要有不同的层次和类别来适应这个复杂的领域,因此相比之下J2ME 就比J2SE 和J2EE 的标准要复杂得多。因此,清楚的理解J2ME 的体系结构的划分才能更好的理解和掌握J2ME 。

2.2.2 J2ME的3层体系结构及MIDP 简介

J2ME 的3层体系结构依照各种设备的资源特性,将J2ME 技术构架分为简表(Profile )、配置(Configuration )和Java Virtual Machine (JVM )3

层,然

后再进一步细分,这使J2ME 能够在每一类设备的限制下工作,而同时提供最低限度的Java 语言功能性。

关于J2ME 的体系结构,可以这样来进行总结:Configuration 的分类是根据计算能力的不同来划分的,同类设备的计算能力相近。Configuration 是一个规范,定义了这类设备的共同Java 平台,定义与设备无关的Java 虚拟机和核心库,是平台相容性的基础。Profile 的分类是根据设备功能划分的,同类功能的设备其他各种硬件条件和需求也相近。Profile 是一组API ,在某Configuration 的基础上扩展了针对设备特定功能的API ,使得标准能够完全适应特殊的设备,彻底发挥设备的功能。

J2ME 体系的一般结构是:由Configuration 定义的Java 虚拟机运行于设备的宿主操作系统之上,构成整个平台的基础。Configuration 提供了基本的语言特性,Profile 提供针对设备的特殊功能API 和扩展类库。应用程序的运行环境需要一个Configuration 和至少一个Profile ,多个Profile 可以共存,也可以叠加。

MIDP (Mobile Information Device Profile)定义了针对移动信息处理设备(主要指智能手机和一部分具有无线通信功能的PDA )的图形界面,输入和时间处理,持久性存储,无线电话网络连接之上的一些消息处理(例如短消息),安全等等API ,并且考虑到了移动信息设备的屏幕和内存限制。类似于J2SE 中的Applet 框架,MIDP 提供了基于javax.microedition.midlet 包的MIDlet 应用程序框架。

因为MIDP 提出的比较早,目前重要的智能手机和PDA 操作系统上都已有了相应的实现,而且应用的也比较广泛。

2.2.3 Configuration和Profiles

针对消费电子和嵌入式设备领域丰富多样的设备和彼此相差极大的计算能力及各种硬件条件,J2ME 首先根据最基本的一些特征把它们划分为两类。

具备间断网络通讯能力的个人移动信息设备:如手机,双向呼机,PDA

(Personal Digital Assistant,个人数字助理,也称掌上电脑)等等。 有固定的不间断网络连接的共享连接信息设备:如置顶盒(set-top boxes ),Web-TV ,支持Internet 的有屏幕电话,汽车娱乐/导航系统等等。

Sun 对J2ME 有一个很好的概括:J2ME 技术有两个设计中心——手持的设备,和可以插到墙上插座的设备。第一类设备往往是个人化的,移动的,使用电池,体积和功耗都有限制,因此功能和计算能力有限。第二类设备一般是固定的,因此体积没有太大限制。由于固定,可以有持续电源供应,因此功耗没有太大问题,计算能力相对充裕。

计算能力是这两类设备的主要区别,对其上可能的应用和环境显然有着本质影响,不同类别的设备不可能采用同样的Java 平台,必须分别定义。针对这两大类设备的平台规范就是Configuration 。第一类设备的Configuration 称为CLDC (Connected, Limited Device Configuration ),第二类称为CDC (Connected Device Configuration)。

属于同一类的设备计算能力是相似的,但是其他功能和条件还有非常大的区别。作为Java 平台必须保证相容性,这就必须舍弃所有的设备特殊性。因此,Configuration 就是支持一组通用设备的最小Java 平台,作为这些设备的最小公分母来保证不同设备间的平台相容性。这里的Java 平台主要是指Java 虚拟机(JVM )和核心库。

在Configuration 中舍弃了设备的特殊性来保证Java 平台的相容性,但是仅仅有Configuration 显然是不够的,特殊的具体设备其独有的功能和硬件条件都没有得到支持。为此,在Configuration 的基础上,根据设备具体功能再进行一次划分,比如智能手机,PDA 等等。功能的划分也就是其他硬件条件的划分,比如屏幕大小,内存,计算能力,电力供应等等都是从属于功能的,因此同功能的设备的硬件条件都是非常相似的。Profile (译为简表或者简档)就是针对每一类功能设备的特殊性定义的与设备特性相关的API ,建筑于Configuration 之上,作为Configuration 的扩展和补充。例如MIDP (Mobile Information Device Profile ,移动信息设备Profile )就定义了关于移动信息设备(主要指智能手机和一部分具有无线通信功能的PDA )的图形界面,输入和时间处理,持久性存储,短消息等等的API ,并且考虑到了移动信息设备的屏幕和内存限制。而正在制定中的PDA Profile 则定义了针对PDA 的API ,其屏幕,内存条件都要大于MIDP ,但是网络方面的要求则显然和手机有所不同。如下图所示,同属于Configuration 的设备根据功能不同由不同的Profile 来支持,Profile 体现设备的特殊性,但是都建筑在一个共同的基础Configuration 平台之上。

2.3 J2ME现状和前景

J2ME 已经广泛的应用在了很多的移动设备上,很多的移动设备都实现MIDP 的参考实现,但不同的移动设备还是有一些不同的地方,比如应用与手机上的Profile 就不适合在PDA 的Profile 。有一些系统,比如Symbian 实现了CLDC 和MIDP ,作为智能手机的操作系统,是理想的MIDP 应用平台。其他的系统,如在Compaq 的iPaq 上已经实现了CDC ,IBM 的WebSphere Micro Environment 在Pocket PC 上实现了CLDC ,CDC 和MIDP 。可见,在硬件条件较好的PDA 上都可以实现CDC 的标准。由于这些主要操作系统平台都是开放的,基本可以相信,主要的移动信息设备操作系统都将一直提供J2ME 的支持,但是具体支持哪个标准则并不一定

死板地按照CLDC 和CDC 的最初定义,和设备的硬件条件和厂商的选择有关,或者可能同时实现多个标准。所以说J2ME 的还是在快速的发展的。

2.4 手机游戏业务

手机游戏是移动多媒体时代最有价值的应用。这是因为,游戏是多媒体应用中集大成的业务,图像、音乐、互动都能在游戏中实现,能充分满足用户各方面的需求。

虽然目前手机游戏还无法与PC 游戏相比,其显示功能和键盘输入、声音处理能力也形成一定制约。但是随时随地可操作可联网的特性大大拓展了人们娱乐休闲的时间和空间,以游戏功能为主的手机终端在市场上渐被认可,多媒体功能正向手机的标配功能演进,制约手机游戏发展的技术瓶颈将被打破。当前的手机游戏产业尽管仍然存在很多制约其发展的瓶颈,但手机游戏已显示出非比寻常的发展速度,其市场潜力十分巨大,将成为移动增值服务市场新的增长点。 3 开发环境介绍

3.1开发环境

操作系统:Microsoft Windows XP

程序语言:Java 2

开发平台:Java 2 Micro Edition

开发工具: Wireless Tool Kit 2.1+ UltraEdit-32_12.00a+1_SC

3.2 关于SonyEricsson Wireless Tool Kit

SonyEricsson WTK(Wireless Tool Kit)是SonyEricsson 公司针对J2ME 推出的用于手机和Palm 等移动设备的开发包,是手机厂商的专用开发包。它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性。虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他IDE 需集成采用的必备元素。

当前的最新Release 的版本为J2ME WTK2.2。

4手机游戏(堡垒)的开发

4.1 游戏的的思路、构想

4.1.1 游戏想法的产生

相信大家一定都在8位机机上玩过《冒险岛》这款游戏,非常有趣味性。 游戏中玩家通过不断的闯关,来解救公主。在每个关都很很多的怪物阻挡着你,所以需要运用各种机关或者秘籍来杀死它们。杀死他们的同时还可以获得各种奖励,加生命,加血等,增加了游戏的趣味性。

如图2所示:

图2 游戏截图

这款《冒险岛》游戏的实现相对于其他RPG 或者网络版手机游戏稍简单一些,适合初学者作为练习,所以我决定编写一款类似的手机游戏。

由于之前对手机游戏的编程知识以及游戏的设计只有初步的了解,因此,我们在游戏的构架和思路上经历了几个阶段。

4.1.2 对游戏设计的初步认识

刚开始我们只对J2ME 有初步的了解。这时我们只是模仿之前在PC 上看到的游戏,用语言把游戏的实现感性的描述为几大部分:

游戏界面系统:包括游戏开始界面;游戏开局界面;游戏运行界面;游戏结束界面。

游戏元素:菜单类;画布类;人物类;排行榜类。

4.1.3 模块成型阶段

在进一步熟悉了J2ME 知识后,对框架做出了一些修改,逐步把游戏的基本功能确定。游戏依次进入加载界面;主菜单;游戏运行界面;游戏结束界面。

具体实现的功能为:

1.主菜单,有如下选项:

(1)开始游戏——进入游戏界面。

(2)声音——设置声音的有无选项。

(3)帮助——介绍游戏的玩法。

(4)排行榜——玩家所得分数的排行榜。

(5)关于——用来显示说明信息以及背景图片。

2.游戏运行界面,包括:

游戏界面;目前游戏得分;游戏关数;生命次数;

3.游戏结束界面:游戏结束后,显示一行说明信息,然后退回到菜单。 游戏的主要模块为:

1.游戏主MIDlet (GameMIDlet )——对游戏生命周期的判断;对画布类的调用;管理游戏程序中各个屏幕之间的转换。

2.游戏画布(MyGame )——对游戏所用变量,常量的设定;游戏的初始化;游戏中精灵运动轨迹的控制;精灵与砖块的碰撞检测以及砖块状态的控制;游戏中各关卡的基本设定;游戏中对按键状态的处理。

3.菜单类——游戏中菜单事件的处理。

4.GameOgre 类——游戏中怪物的类。

5.GamePlayer 类——玩家控制的精灵类。

6.GameRMS 类——用于实现分数排行榜。

7.PlayMusic 类——用于实现音乐的播放。

8.MySet 类——声音大小的设置。

4.2 程序的类结构

程序一共有8个主要类,其中菜单类负责各个屏幕的切换。程序的类结构如图3所示:

图3 类结构 4.3 游戏的流程图

进入游戏菜单。初始情况下,游戏菜单有5个选项,它们分别是开始游戏、游戏说明和排行榜、设置、关于。选择开始新游戏则进入游戏,在游戏中如果按下非游戏键则中断游戏返回菜单,此时菜单中增加了一个继续游戏的选项,可以返回游戏也可以重新开始新的游戏。在菜单中选择游戏说明或者高分记录,则进入相应的屏幕,他们都能用“后退”软键返回菜单。菜单中的退出选项用于退出


相关内容

  • 手机推荐榜
  • 益智游戏推荐 益智游戏推荐最近一段时间的App Store上连续出现数款备受期待的游戏大作,不过一款游戏的品质与耐玩性并不总是同他们的画面或是体积呈正比.能够长期留在我们手机中的,自然还是要数那些百玩不厌的益智类小游戏: <堡垒>Bastion 推荐理由:XBox Live的神作移植iO ...

  • 网络安全课程设计
  • 河南理工大学 计算机科学与技术学院 课程设计报告 2012- 2013学年第一学期 课程名称 网络安全 设计题目 简单防火墙设计 姓 名 孙亚飞 学 号 专业班级 网信10-3 指导教师 刘 琨 2013 年1月5日 目录 一.概述.................................. ...

  • xx人民医院网络安全解决方案V2
  • XXXXXXX人民医院 网络安全解决方案建议书 xxxxxx安全测评中心 二零一五年十月 目录 目录---------------------------------------------------------------------------------------------------- ...

  • 建筑环境与设备工程专业实习报告
  • 前言 实习方式:认识实习期间,学生在指导老师的带领下,通过参观已建成的典型车间.建筑.节能建筑物等地点,采取实习指导老师讲解,工程人员指引等方式,完成人纲现定的实习内容. 实习地点:上海百富勤空调制造有限公司.上海博物馆.上海世博园.节能示范楼. 实习时间:2011年7月5日--2011年7月16日 ...

  • 毅力帮助我们进步
  • <毅力帮助我们进步>教案 教学目标: 1.情感态度价值观目标:使学生知道学习是自己的责任:敢于面对学习中的困难和挫折. 2.能力目标:学会独立学习,培养在学习中的毅力和耐心,养成良好的学习习惯. 3.知识目标:学会给自己制定不同时期的目标,树立自信心. 教学重点: 引导学生分析自己的学习 ...

  • 网络安全试题题库
  • 网络安全练习题 一.单项选择题 1. 在以下人为的恶意攻击行为中,属于主动攻击的是 A .身份假冒 B .数据GG C .数据流分析 D .非法访问 (标准答案:A) 2. 在网络攻击的多种类型中,以遭受的资源目标不能继续正常提供服务的攻击形式属于哪 一种? A. 拒绝服务 B. 侵入攻击 C. 信 ...

  • 银行下半年工作计划
  • 上半年,ⅩⅩ银行全体员工在总部年初工作会议精神的指引下,紧紧围绕“巩固、完善、改革、发展”的工作方针,以“双五”战略为目标,结合东北老工业基地的振兴,鼓足干劲、同心协力,克服不利因素,继续发扬艰苦创业精神,以“诚实守信、创新务实”为座右铭,不断拓展新的业务领域,开辟广阔的生存空间。   截止六月末, ...

  • N多毕业设计题目
  • 基于Ajax技术的WEB应用的设计 又快到毕业的时候了,大家该准备做毕业设计了.大学问问特意收集了一些毕业设计(论文)的题目,供大家选择. VB售楼管理系统 VB无纸化考试系统 VB小区物业管理系统 VB航空公司管理信息系统 VB计算机机房管理系统 VB房地产评估系统VB+SQL2000 VB光盘信 ...

  • 小学信息技术游戏化教学初探
  • E圈墼兰堡室 刘富金!主里塾查堡!量垡2堕堡壹!坐堂!:!虫:堡小学信息技术"游戏化"教学初探 (扬州市邗江区头桥镇中心小学,江苏扬州225109) 摘要:如果用电脑游戏和电脑知识进行比较,大多数的学生对电脑游戏更感兴趣.那么,探讨小 学信息技术教学的着眼点就在于:怎样利用学生& ...