J2ME手机游戏设计.docx
- 文档编号:8960305
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:38
- 大小:212.10KB
J2ME手机游戏设计.docx
《J2ME手机游戏设计.docx》由会员分享,可在线阅读,更多相关《J2ME手机游戏设计.docx(38页珍藏版)》请在冰点文库上搜索。
J2ME手机游戏设计
摘要
JAVA已经从一种平台无关的编程语言演变成一种与厂商及平台无关的健壮的服务器端技术,促使IT业界深入发掘以Web为核心的应用程序的巨大潜力。
J2ME的出现使这一变化达到了一种新的高度。
J2ME,简称Java2平台袖珍版(Java2Platform,MicroEdition(J2ME)),是SUN公司在J2SE和J2EE之后,致力于消费产品和嵌入式设备的最佳解决方案。
作为JAVA的三个版本之一,J2ME在无线编程技术中正发挥着它独特的作用。
J2ME为在小型电子设备上创建性能卓越的网络应用提供了一套完整的解决方案。
它也使设备制造商、服务提供商及应用开发人员为他们的用户发布新的软件应用成为可能。
本篇论文共分为七个部分:
包括绪论、J2ME技术概览、游戏设计的需求分析、“PocketBoxing”手机游戏开发制作、手机游戏开发存在的困难、J2ME手机游戏前景展望和结论。
其中第四部分“PocketBoxing手机游戏开发制作”是本篇论文的重点。
整篇论文都是围绕着这一部分来展开论述的,在这一部分里详细介绍一款手机游戏“PocketBoxing”的开发全过程和开发过程中存在的疑难问题。
其中包括:
游戏事件、游戏API等以及对事件的处理,另外在游戏描绘处理部分也将作为重点进行介绍。
通过对J2ME的详细介绍我们可以从中了解到其自身的作用,近年来,随着JAVA手机的诞生,其无可替代的灵活性与轻便性致使JAVA手机游戏成为游戏市场的又一亮点,它的前景无可限量,必将在我们以后的生活中发挥着重要的作用。
关键字:
J2ME,MIDP,游戏编程,事件,描绘处理
Abstract
Javaisalreadychangedfromaplatform-independentprogramminglanguagetoamission-criticaltechnologicalwithmanufactureplatformindependent,andjavaencourageITcircletodeeplytapthehugepotentialofapplicationwiththecareofWeb.TheemergencesofJ2MEpushittoanewhighlevel.J2ME(Java2Platform,MicroEdition(J2ME))called“Java2platform”forshort—apocket-editionisaprefectsolutionplanofconsumeproductsandembeddedequipment,afterJ2SE&J2EEinSUNcompany.J2MEismakingaspecialeffectatthewirelessprogramtechnology.J2MEprovideacompletesetofsolutionplan,it’salsomakeitbecomepossiblethatissuethenewsoftwareapplicationbythemanufactureofequipment,servicesupplierandthepeopleofdevelopapplication.
Thisarticlehassevenportions:
includetheintroduction,thegeneralsituationofJ2MEtechnology,thedemandofthegamedesignanalyzes,thesignificanceanddevelopmentofPocketBoxing,thedifficult,theprospectofmobilephonegamesexploitationandtheConclusion.Theforthpart—“theproductionofPocketBoxingmobilephonegames”isthefocusofthisarticle.Thisentirearticleisaroundthisfocus,andthispartdetailintroducestheexploitationprocessofamobilephonegameandtheissues.Thispartintroduces:
thecase,APIofgames,dealwiththeaccidentandtheotherfocustointroduceisthemanageofgamesdescription.
ThroughthedetailintroduceofJ2ME,thefunctionofjavaisobvious.Oflateyears,followtheemergeofjavamobilephoneitsunimpededidentityandportabilitymakejavamobilephonegamesbecomeanewfocalpointofgamemarket.J2MEhaveunlimitedbrightenandmakeanimportantroleinthefuturelife.
Keywords:
J2ME,MIDP,Gameprogramming,Dealwithdescription,Case
第1章绪论
手机是人们日常生活中所用的非常频繁的通信工具,虽然现在其费用比有线电话高,但是其随时随地的沟通优势,使人们摆脱了线路的束缚。
目前中国的一些大城市几乎人手一部或几部手机,正是由于手机的高普及率,使得无线移动商务才得以迅速普及和发展。
JAVA技术已经从一种最初用来编写与硬件无关的嵌入式系统的编程语言变成了一种与厂商无关、与硬件无关的健壮的服务器端技术,它使整个企业界可以全面发掘以Web为核心的应用程序的巨大潜力。
随着JAVA技术的不断更新提高,J2ME技术的出现,使得手机游戏越来越成为我们关注的焦点。
J2ME技术目前最流行的就是在制作手机游戏方面,JAVA手机的出现使得这一技术更有它的用武之地,发挥着他灵活、轻便、快捷的作用。
下面在本篇文章中就将详细的介绍J2ME这一技术在手机游戏制作方面的具体过程以及其重要的作用。
第2章J2ME技术概览
2.1J2ME的概念
J2ME的全称是Java2MicroEdition(J2ME)——Java2技术微型版,与J2SE、J2EE一样都是有美国SUN微系统公司提出的JAVA技术规范。
2.2J2ME简介
J2ME是为了能够开发运行在小型设备、独立设备、互联移动设备、嵌入式设备上的JAVA应用程序而被提出的。
J2ME是建立在一个由概要描述、配置、JAVA虚拟机和操作系统等部分组成的标准架构之上的,这些内容共同组成了完整的J2ME实时运行环境。
它的技术核心是由一个JAVA虚拟机(JVM)及一套适合运行在上述设备环境上的API接口构成。
J2ME在1999年的JavaOne开发人员大会上初次亮相,它的目标是面向智能无线设备和小型计算设备的开发人员,这些开发人员需要在他们的产品中整合跨平台的能力。
无线设备和小型计算设备的消费者期望这些设备能够有较高的性能。
他们希望小型计算设备有快速的响应时间,与同种设备相兼容,拥有功能完备的应用程序。
消费者希望桌面计算机和笔记本电脑上的软件和功能同样能够运行在移动电话和个人数字助理上。
为了满足他们的需求,开发人员必须重新考虑他们设计计算机系统的方式。
开发人员需要利用商业计算机上现有的前端和后端软件的计算能力,并将这些能力传递到微型、移动和无线的计算设备上。
J2ME能够以最小的修改来实现这种传递,如果应用程序的设计是可伸缩的,应用程序就可以适应小型计算设备上有限的资源。
J2ME为在小型电子设备上创建性能卓越的网络应用提供了一套完整的解决方案,能很好的解决软件跨平台的兼容性和安全性的问题。
[5]
2.2.1J2ME架构
J2ME架构的模块化设计使应用程序可以灵活适应小型计算设备的限制。
J2ME架构没有替代小型计算设备的操作系统。
相反,J2ME架构由位于原生操作系统之上的多层软件组成,这些软件共同称为“连接有限设备配置”(ConnectedLimitedDeviceConfiguration,CLDC)。
安装在操作系统之上的CLDC形成了小型计算设备的运行时环境。
J2ME架构由3个软件层组成:
第一层是包括在内的配置层,这个层次直接与原生操作系统进行交互。
配置层还处理profile和JVM之间的交互。
第二层是profile层,由小型计算设备的应用程序编程接口(API)的最小集合组成。
第三层是MobileInformationDeviceProfile(MIDP)层。
MIDP层由用户网络连接、永久存储和用户界面的javaAPI组成。
它还能够访问CLDC库和MIDP库。
2.2.2JVM(虚拟机)
JVM是专门为微型电子设备与资源受限设备如:
手机、寻呼机、移动互联网设备、家用微电子设备等设计的一种轻便、紧凑的JAVA虚拟机。
JVM可以为微型电子设备提供一个完整的JAVA运行环境,除了一些微型设备所必需的适当的功能有所不同外,它是由JAVA虚拟机规范定义的真实的JAVA虚拟机。
它是专门为那些受资源限制,只有几百K字节内存的微型设备设计的。
JVM起初是由SUN微系统实验室为一个名叫“Spotless”的项目创建的。
它的目标是为资源受限制的Palm(是目前较为流行的掌上电脑操作系统)可连接的电子设备,实现一个java虚拟机。
基于上述原因,JVM具有以下几个特点:
(1)小,仅具有40KB至80KB的静态内存。
(2)轻便、精巧。
(3)模块化并可定制。
(4)尽可能完全紧凑的完成设计目的。
2.2.3MIDP(移动信息设备简表)
MIDP是专门为互联受限设备配置设计的,它为移动设备提供了一套API集合,MIDP包含用户界面类、持久存储功能与网络功能。
它同时也包括一个供用户下载新应用到终端设备的标准运行环境。
运行在MIDP下的小应用程序叫做MIDlet移动设备小应用程序,它与Applet类似。
MIDP要求平台设备提供一个机制用来存储简单的数据记录,通过正常的平台事件,比如重新启动和电池更新维护系统的完整性。
MIDP是以SUN、Motorola、Nokia为中心的MIDPEG组织(MobileInformationProfileExpertGroup)所制订出来使用在CLDC上的Profile,是以能使用在移动电话、双向对讲机、可无线通信的PDA(个人数字助理)上面为前提设计出来的。
另外,像日本国内的NTTDoCoMo、J-PHONE、KDDI等电信商与移动电话制造商也都曾参与了MIDPEG。
MIDP是在CLDC的功能上附加提供适合目标设备用的GUI与事件处理功能。
这样一来,就可以当成MIDP应用程序(MIDlet)来运行了。
MIDP由于是由多个企业所共同策划出来的开放标准,因此主要的移动电话制造商也会制造出大量的对应机种。
也就是说,以MIDP为基准所制作出来的应用程序,也将可以在流通于市面上的移动电话上执行。
另外,MIDP不仅限于移动电话,也已经被移植到PDAPalmOS上,而以MIDPforPalmOS的名字来称呼(与KJava是不同的)。
在不使用各电信商的扩展API的时候,制作给移动电话用的MIDlet也将可以使用在PalmOS上面。
由于未来MIDP也将会搭载到不同设备之上,也由于其兼容性高,只要写过一次程序,就可以在其他移动电话或是移动电话以外的设备上执行;而这也就是它最大的好处。
2.3手机游戏的发展
手机是现在人们生活中必不可少的通讯工具之一,有着其重要的作用,现在的人们越来越认识到它的重要性。
作为手机中的一部分——手机游戏,也发挥着它特有作用。
可以说,手机游戏发展到今天已经越来越为人们所熟知,也越来越受到人们的喜爱。
但是应该看到,国内手机游戏的发展还是刚刚起步,与欧美日韩等先进国家还有着一定的差距,但是这种差距正在一步一步的缩小。
2.3.1目前国内的发展情况
随着技术对游戏经验的促进,游戏市场持续增长。
商业IT革命为我们节省了时间和金钱,从而提高了我们的工作水平,我们因此花费更多的时间和金钱在游戏上,来改善生活的整体质量。
甚至在当今困难的经济时代,游戏仍保持快速增长,它仍然是盈利行业的组成部分。
Java开发者应该注意到这里蕴藏着的巨大的商机。
在全球数字娱乐的快速发展浪潮中,中国的游戏产业正以其惊人的井喷式发展速度前进,牢牢吸引住了世界目光。
当然,目前中国游戏产业一片大好的形势可以说是电脑网络游戏一枝独秀的成绩。
据信息产业部2004年10月统计出的主要业务量数据表,到本年10月止,中国移动电话用户合计32503.4万户,比上年末新增5508.1万户。
明年或者后年3G手机牌照发放下来以后,手机游戏的硬件设备更是日趋完善。
2004年里,又有很多手机游戏中小型开发企业成立,很多新的手机游戏涌入内容市场。
似乎在这红红火火形势下“手机游戏马上会火起来”这一想法已经点燃了很多人心里的希望之火。
手机游戏市场的确有很大的市场发展空间,前景看好,但是在中国游戏市场中马上占据主流地位是不大可能的,那应该还需要至少一年的“磨合期”。
中国大众还不大熟悉手机游戏这一新鲜事物,在消费心理和习惯上需要引导和培养,尤其是在电脑网络游戏大行中国的时期。
这也是一个消费对象需要被确定的问题。
什么样的人会为手机游戏而消费呢?
而这直接关系到这一新兴产业的存活。
只有有了消费需求,才能带动整个手机游戏产业链的循环。
在发展不见明朗的萌芽期,手机游戏营运方式、费用结算方式也是需要一段摸索时间的。
内容提供商、电信运营商、手机终端生产商之间利益的协调还需要实践地调整。
而这都是目前中国手机游戏界内无法做到的事情。
手机游戏肯定会有大发展,但是,目前不适合非理智地冒进。
[9]
2.3.2目前国际的发展情况
在国际上日本、韩国在这方面处于领先地位。
日本在手机游戏领域占据了绝对的领导地位。
1999年,包括北美在内的很多国家和地区对手机游戏还一无所知,日本就已拥有超过30万的手机游戏用户,占全球手机游戏用户的70%以上。
2001年初,当短信游戏在全球逐步发展之时,日本NTTDoCoMo已经推出了近500款i-mode游戏。
2004年4月,日本计算机娱乐协会(CESA)发表的统计报告显示,2003年日本国内利用手机上网玩游戏的用户数达897万人。
日本在手机游戏领域走在世界前列的主要的原因是:
其一,日本拥有庞大的移动数据业务用户群。
经过近年来的不断发展,到2004年6月底,日本移动用户数已经达到8270万,其中7000万以上的用户使用移动数据业务。
NTTDoCoMo的i-mode业务是世界公认的经营最成功的移动数据业务。
而手机游戏作为其中的一项业务,拥有广泛的用户群。
其二,日本是传统的电子游戏大国。
世界传统游戏市场的巨头索尼、世嘉和任天堂都在日本,他们手中掌握了丰富的视频游戏和PC游戏资源,都可以转化为手机游戏产品。
2004年,NTTDoCoMo推出了新一代FOMA手机,具有更强大的“i-appli”(Java)游戏功能。
新一代FOMA手机,把软件存储区域和数据保存区域(高速缓存)的总容量提高到现有230k的2倍以上,从性能上看已经超过了任天堂GBA掌机。
这说明,随着日本手机功能的升级和无线宽带网络数据承载能力的提高,手机游戏已经对高端的游戏厂商产生了强大的吸引力,手机游戏已不再是简单游戏的代名词。
到2007年,日本的手机游戏市场规模将会增长到近6亿美元。
近年来,韩国网络游戏一直保持着高速增长的势头,这为手机游戏的发展奠定了良好的用户基础。
与此同时,韩国的移动通信用户基础非常雄厚。
2004年,在韩国总共4500万人口中,移动通信用户数已经超过了3500万。
韩国政府一直在努力推动包括网络游戏和手机游戏在内的数字内容产业的发展,相应的优惠政策和充足的资金投入催生了大批的手机游戏开发商,有力推动了手机游戏内容的开发进程。
与此同时,诸如NCSoft、Webzen、Nexon等韩国领先的网络游戏开发商也积极跻身移动游戏领域,而主要的移动门户运营商NHN和DAUM积极致力于移动在线交互式游戏的开发,从而促进了手机游戏内容的繁荣。
虽然韩国的手机游戏产业发达,但其国内市场是有限的。
为此,随着市场竞争的加剧,韩国企业致力于推动手机游戏产品的出口。
目前,韩国手机游戏产品主要向美国、日本和欧洲出口,出口的市场份额分别为:
美国56%、日本19.9%、欧洲12.6%、其他国家11.5%。
欧洲很早就推出了手机游戏业务,但在2003年以前,欧洲手机游戏市场还主要停留在SMS和WAP游戏时代。
与日韩相比,欧洲的手机游戏市场相对滞后。
随着移动数据业务的不断发展和市场压力的不断加大,欧洲移动运营商已认识到改善手机游戏市场环境的必要性和紧迫性。
在终端问题上,欧洲的运营商开始直接引入日韩的高端手机,打破了传统欧洲手机市场为欧洲手机厂商垄断的局面;在经营模式上,他们也采取了开放的数据业务经营模式。
比如Vodafone公司就推出了VodafoneLive,通过合作分成的模式鼓励手机游戏开发商的积极参与。
也有公司直接引入日本imode的运作模式和游戏内容。
这些举措大大推动了欧洲手机游戏业务的发展。
到2003年年底,欧洲手机游戏市场的环境已基本成熟,Java手机在欧洲已经十分普及,还出现了像N-Gage这样的专用手机游戏终端。
据预测,2008年欧洲手机游戏市场达到30亿欧元,占移动娱乐内容收入的19%。
美国手机游戏市场起步虽晚,但是发展却十分迅速。
从2002年秋天开始,美国大多数移动网络速度得到了提升,更加适于手机游戏业务的发展。
如今,美国移动运营商每月都在推出新的游戏,手机厂商也在不断推出新的支持手机游戏的产品。
从游戏提供的数量看,美国移动运营商已经大大超过了欧洲运营商。
2003年,手机游戏已经成为美国众多移动数据下载应用的第一应用。
IDC数据显示,2003年美国手机游戏用户渗透率为7.9%;预测到2008年,美国手机游戏渗透率将达到34.7%,达到6520万户的规模。
YankeeGroup的分析师表示,美国手机游戏业务的迅速发展,使得手机平台有望成为继电脑、控制杆、掌机游戏、互联网之后的第五大游戏平台。
从当今国内外形势看,我国在手机游戏制作方面还刚刚处于起步阶段,还不像日韩和欧美国家处于一个高速发展阶段。
我们只是刚刚引进这一技术,但是随着时代的发展,我们应该看到手机游戏制作在中国的市场以及在中国发展的潜力。
我们要相信在不久的将来,国内手机游戏市场一定回迎来一个春天的!
[8]
第3章游戏设计的需求分析
3.1MIDP中的游戏API
MIDP是专门为互联受限设备配置设计的,它为移动设备提供了一套API集合,MIDP包含用户界面类、持久存储功能与网络功能。
早在MIDP1.0版本时,是没有单独的游戏API的,在MIDP2.0后增加了一个新的专门的游戏软件包Javax.microedition.lcdui.game,顾名思义,此包中定义了游戏开发的各种类型。
这个软件包是一个专门为在移动信息设备上开发游戏应用而设计的,所以又叫作游戏API。
[10]它里面的成员类有以下几个:
GameCanvas、Layer、LayerManager、Sprite、TiledLayer。
GameCanvas是提供基本的游戏界面;Layer是一个用来表示游戏中的可视元素的抽象类;LayerManager管理一系列的Layer;Sprite是一个基本的可视元素,它本身包含了许多操作,比如将一个图片切分成若干画面帧(RowFrame),再对这些画面帧编排出一个动画序列(FrameSequence);TiledLayer是一个可以被许多图片填充的类似于表格的可视元素。
[10]本论文在设计游戏过程中涉及到其中的GameCanvas类和Sprite类。
[7]
3.2游戏类构成
在游戏中,主要的一些类构成有PocketBoxing、Boxer、Enemy、GameCanvas。
其中PocketBoxing类继承了MIDlet类,用来进行MIDlet的LiveCycle控制;Boxer存储了玩家的拳击手的信息,进行拳击手的描绘;Enemy存储电脑控制的拳击手的信息,进行拳击手的描绘,它继承了Boxer类;GameCanvas继承了Canvas类,进行画面的描绘与操作。
各类都是用与类名称相同的文件名来存储的。
[3]各类间的关系如图3.1。
3.2.1Boxer类的实现
Boxer类是用来存储玩家拳击手状态的信息,再以次为根据进行描绘。
Boxer类由于与用来表现对手的Enemy类大致上是相同的,所以要以继承了Enemy类为
DefaultPackage
图3.1游戏类图
Fig3.1.Gamediagram
前提来实现。
在Boxer类的Constructor当中,会进行拳击手图像的获取。
这里要准备拳击手的身体、上段防御的手腕、下段防御的手腕、上段拳击的手腕、下段拳击的手腕等五种图像。
通过身体图像四种类图像的配合,就可以描绘出生动拳击手动态。
3.2.2GameCanvas类的功能及特点
GameCanvas类是Javax.microedition.lcdui软件包中的Cavas类的一个子类,它可以为游戏提供基本的显示功能;GameCanvas类是提供了游戏的中心属性,如游戏键当前状态的能力、双缓存绘图等;GameCanvas类是一个专门的为每一个GameCanvas实例填充初始化纯白像素的缓存器;通过调用Graphics对象可以改变缓存器中的内容。
[4]
3.2.3Sprite类的功能及特点
Sprite类是一个能显示几个绘图帧(frame)中的其中一帧的基本动态层;这些帧大小相同并且由一个单独的图片(image)对象提供;Sprite类可以使许多帧连续的运动,可以使一个定制的序列以任何方式被放置;另外还可以提供转化于检测方法。
下面是Sprite代码样例:
[1]
importjavax.microedition.lcdui.game.*;
importjavax.microedition.lcdui.*;
publicclassTextLayerextendsSprite{
Image_image;String_string;
TextLayer(Imagei){
super(i);}
publicvoiddraw(Graphicsg)throwsNullPointerException
{
Graphics.LEFT);
}
3.3游戏角色的处理
这里的游戏角色——拳击手的初始化是以将拳击手设为后退,并将生命值设为默认值为主要目的。
拳击手在挥出拳之后,将会在等待一段时间后恢复原本的防御状态。
为了要进行这个等待处理,使用到了Tick计数。
当现在的状态为上下拳击时,就会开始Tick计数,当数到4以上的状态时就会回到原来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- J2ME 手机 游戏 设计