基于J2MEJava2MicroEdition的手机游戏开发.docx

上传人:b****5 文档编号:3326538 上传时间:2022-11-21 格式:DOCX 页数:45 大小:46.66KB
下载 相关 举报
基于J2MEJava2MicroEdition的手机游戏开发.docx_第1页
第1页 / 共45页
基于J2MEJava2MicroEdition的手机游戏开发.docx_第2页
第2页 / 共45页
基于J2MEJava2MicroEdition的手机游戏开发.docx_第3页
第3页 / 共45页
基于J2MEJava2MicroEdition的手机游戏开发.docx_第4页
第4页 / 共45页
基于J2MEJava2MicroEdition的手机游戏开发.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

基于J2MEJava2MicroEdition的手机游戏开发.docx

《基于J2MEJava2MicroEdition的手机游戏开发.docx》由会员分享,可在线阅读,更多相关《基于J2MEJava2MicroEdition的手机游戏开发.docx(45页珍藏版)》请在冰豆网上搜索。

基于J2MEJava2MicroEdition的手机游戏开发.docx

基于J2MEJava2MicroEdition的手机游戏开发

摘要:

随着移动电话的普及率越来越高,手机已经成为人们生活中的必需品。

同时,随着科技的发展,移动电话的功能也越来越强,手机娱乐已经成为一项充满发展前景和商机的产业。

虽然目前手机的处理能力与个人计算机的标准处理能力相比很有限,但是足够运行一个相对小型的游戏,甚至是3D游戏。

本文先从Java手机游戏的背景出发,介绍了Java手机游戏的发展现状,然后从整体上介绍本3D游戏开发的模型、结构分析和具体功能实现,游戏的接口和运作方式。

通过对手机游戏开发,MIDP2.0,以及JSR-184(J2ME3D技术)的研究,采用立即模式,运用深度优先遍历算法来随机生成游戏地图,并尽力模拟手机游戏的普遍性形式,实现一个操作简单,并有一定可玩性的完整3D手机迷宫游戏。

 

关键词:

J2ME;MIDP2.0;M3G(Mobile3DGraphics--JSR184);立即模式(immediatemode);深度优先遍历。

 

 

Abstract:

Withmobilephonepenetrationrateincreasing,mobilephoneshavebecomeanecessityinpeople'slives.Atthesametime,withthedevelopmentoftechnology,thefunctionsofmobilephonesmoreandmorestrong,mobileentertainmenthasbecomeafulldevelopmentprospectsandbusinessopportunitiesintheindustry.Althoughatpresentthehandlingcapacityofmobilephonesandpersonalcomputerprocessingpowerthanthestandardisverylimited,butenoughofarelativelysmalloperationofthegame,oreven3Dgame.

ThisarticlestartwiththebackgroundofJavamobilephonegamesbasedontheJavadevelopmentofmobilephonegames,andthenawholegameonthe3Dmodelofdevelopment,structuralanalysisandspecificfunctionstoachieve,thegame'sinterfaceandmodeofoperation.Throughthedevelopmentofmobilegames,MIDP2.0,andJSR-184(J2ME3Dtechnology)research,usingthedepth-firsttraversalalgorithmstogeneraterandommapgames,andtotrytosimulatetheuniversalformofmobilegames,torealizeasimpleoperation,andfunny3Dmazegameonmobilephone.

 

KEYWORDS:

J2ME;MIDP2.0;M3G(Mobile3DGraphics--JSR184);Immediatemode;Thedepth-firsttraversalalgorithms

 

目录

第一章     前言······································1

1.1引言·············································1

1.2手机游戏现状·····································1

1.3手机游戏应具有的特征·····························3

1.4论文内容及安排···································4

第二章     开发环境及相关技术····················6

2.1开发环境·········································6

2.1.1关于Eclipse及Eclipseme························6

2.1.2关于WirelessToolKit··························9

2.2MIDP2.0简介····································9

2.3J2ME概述······································11

2.4J2ME3D技术简介·······························13

2.4.1M3G(JSR-184)·······························14

2.4.2开发模式····································16

第三章     设计作品思想、结构相关··············18

3.13D游戏开发概述·································18

3.2游戏的策划······································19

3.3游戏的准备工作··································20

3.4游戏线程········································21

3.5游戏的流程······································22

3.6深度优先算法生成迷宫··························23

3.6.1深度优先遍历的基本方法······················24

3.6.2深度优先算法的基本思想····················27

第四章     3D迷宫游戏的实现····················29

4.1主类Maze3DMIDlet类····························29

4.2平面Plane类的实现······························30

4.2.1定义顶点····································32

4.2.2指定三角带状的顶点索引······················32

4.2.3设置纹理坐标································32

4.3迷宫地图Maze类的实现··························34

4.4菜单栏表MenuList类的实现····················39

4.5设备属性Graphics3DProperties类的实现···········41

4.6错误处理ErrorScreen类的实现····················42

4.7游戏画布MazeCanvas类的实现···················43

4.7.1变量和构造函数······························43

4.7.2创建开始标志································45

4.7.3创建结束标志································46

4.7.4创建迷宫的墙壁······························47

4.7.5半透明的墙壁································49

4.7.6创建地板····································50

4.7.7游戏视角的切换······························51

4.7.8游戏线程····································53

4.7.9绘制3D场景································55

4.7.10绘制2D图像·······························56

总结···············································58

参考文献··········································59

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第一章 前言

 

1.1引言

最早的手机游戏出现于1997年,经过十年的发展,随着手机终端和移动通信网路的不断进步,手机游戏也正在经历由简单到复杂的进化过程。

从全球来看,手机娱乐服务被公认为是带动移动数据业务快速发展的重要力量。

作为手机娱乐服务的重要内容之一,近年来,伴随着移动网络和移动终端性能的不断提高与完善,手机游戏业务呈现快速增长的势头,成为一座名副其实的“金矿”。

现在,手机用户不断增加,手机的手机越来越复杂,而手机的各种服务业越来越多样化。

J2ME3D技术将是未来手机游戏的发展新方向,目前很多手机厂商(Nokia,SonyEricsson等等)和手机游戏提供商(Gameloft,EA等)都十分关注。

虽然这一领域的技术尚未成熟,但可以预计的是,在未来几年里,该技术必定发展迅猛,成为手机游戏产业的又一热点。

 

1.2手机游戏现状

国内手机游戏市场在过去的几年里呈现快速发展的趋势。

2004年增长率接近100%,2005年也有50%以上的增长。

2006年9月,中国移动“百宝箱”游戏业务240家SP① 创造的接近3000万元的手机游戏收入中,收入前20名SP的手机游戏合计收入就接近2000万元,占总收入比例的70%。

这意味着占SP总数十二分之一的SP掌握了手机游戏市场约七成的财富。

中国手机游戏行业在发展的同时,一些问题也日益显露出来。

特别是人才缺乏,手机终端版本不同,网络服务较差,下载费用较贵,盗版现象时有发生,缺少良好的运营模式,收费过高等因素严重等制约了行业的进一步发展和质量的提高。

因此,中国手机游戏企业必须抓住新的发展形势,建立良好的产业环境、规范产业定位,建立法律法规制度,建立相应的收费体系和管道,重视品牌和用户的培养,充分调动社会资源,拓展手机游戏获取管道,只有这样才能在新形势下立于不败之地。

目前,移动电话是最多人拥有的可以搭载Java的终端设备,用户人数越多,也就意味着人们使用手机应用软件的机会越大。

这对一个手机应用软件开发者来说,是个很大的商机。

手机游戏的盈利主要是由于它们的涉及面很广。

手机已经与现代生活方式紧紧地结合在一起。

他们是最普遍携带的个人用品中仅次于钥匙和钱包的东西。

传统的台式机游戏大部分玩家是青少年,而手机游戏则每个人都可以访问的到——随时,随地。

所以在很多国家和地区已经发展出了很多相当成熟的手机上的单机和网络游戏。

 

1.3手机游戏应具有的特征

一个手机游戏应该具有以下特征:

易于学习:

既然手机游戏面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习游戏技巧。

消费者不会花几个小时去研究一个几元的手动操作的游戏。

保持游戏的简单是最基本的要求。

可中断性:

多任务处理是手机生活方式的基本特征。

手机用户常常在任务(如等一个电子邮件或者等车)之间有一小段时间。

而游戏、日历管理、通讯和工作数据访问使用的是同一个设备。

所以一个好的手机游戏应该提供短时间的娱乐功能,并且允许用户在游戏和工作模式之间顺利切换。

基于订阅:

手机游戏的盈利成功取决于他们巨大的使用量。

一开始开发和设计每个游戏都是昂贵的。

如果一个手机游戏开发者要赢利的话,重要的是:

同一个游戏引擎,多个标题,基本的故事情节类似。

基于订阅的游戏是不断产生收入的最好方法。

丰富的社会交互:

不管一个游戏设计得多好,只要玩家找到了它的根本模式或者玩完了所有的游戏路径很快就会厌烦这个游戏。

对于一个基于订阅的游戏,重要的是与别的玩家合作以增强所玩游戏的智力和随机性。

在今天纷繁复杂的多玩家游戏中具有丰富社会交互的游戏证明是成功的。

 

1.4论文内容及安排

本文的主要内容是使用J2ME语言,采用Eclipse作为开发平台,WTK作为开发工具,实现各子系统,保证系统的正常运行。

友好的接口设计、提示信息的显示、有一定的机器智慧和可玩性、游戏过程的正常运行、游戏的正常退出等主要功能。

本文共分为四章,具体安排如下:

第一章:

主要介绍了当前手机应用软件产业的现状,简要阐述了手机游戏的特征,以及本设计所用J2ME语言的概况。

第二章:

简要介绍了本设计所用开发环境Eclipse的情况,主要阐述J2ME3D技术和开发模式。

第三章:

阐述了3D游戏开发的概念以及本游戏的策划准备工作,并讲述了本设计所用的算法以及游戏流程设计。

第四章:

详细介绍了本设计各个类(Maze3DMIDlet;Plane;Maze;MazeCanvas;MenuList;Graphics3DProperties;ErrorScreen)的作用和运作方式。

 

 

 

 

 

 

 

 

 

 

 

 

 

第二章 开发环境及相关技术

 

 

2.1开发环境

操作系统:

MicrosoftWindowsXPSP2

程序语言:

Java2

开发包:

SunJava(TM)WirelessToolkit2.5.2forCLDC

EclipseSDKVersion:

3.3.1.1

Java(TM)2StandardEdition(jdk1.5.0_14)

IDE:

eclipse3.3.1.1

 

关于本作品的开发环境,整合J2DK+Eclipse+NLpack-eclipse+Eclipseme+WirelessToolKit,其安装配置过程为另一方面的内容也比较简单,在此不再赘述。

可以这么说,JDK提供了虚拟机来运行应用程序,而WTK提供了仿真器,Eclipse及其它插件提供了开发测试程序代码的IDE集成开发环境。

此外,这些资源都是免费的,可以从网上直接下载,在下面小节中将做简单的介绍。

2.1.1关于Eclipse及Eclipseme

Eclipse是一个开发源代码的、基于java的可扩展开发平台。

Eclipse相关的许可证是大多数基于CommonPublicLicense(CPL),CPL是一个为OpenSourceInitiative(OSI)所认可的许可证。

由于EclipseFoundation的建立,Eclipse的许可证将逐渐趋向于使用EclipsePublicLicense(EPL),EPL是一个与CPL相类似的许可证,正在进行OSI的认证工作。

作为当今最流行的java开发IDE之一,java社群使用Eclipse以及基于Eclipse技术而来的IBMWebsphere的开发者已经超过了半数。

Eclipse本身只是一个框架和一组响应的服务,并不能够开发什么程序。

在Eclipse中几乎每样东西都是插件。

同时各个领域的开发人员通过开发插件,可以构建与Eclipse环境无缝集成的工具。

eclipse的发行版都已经带有最基本的插件,方便了开发人员。

因此,除了搭建移动开发环境之外,也可以下载Jsp插件、Tomcat插件、Jboss插件来进行整合,以用于JSP、J2EE的开发。

图2-1Eclipse集成开发平台

在http:

//www.eclipse.org/downloads/index.php可以免费下载到Eclipse的解压安装文件、语言包以及许多实用工具插件。

EclipseME作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。

EclipseME并不为开发者提供无线设备仿真器,而将各手机厂商的实用仿真器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。

在http:

//www.eclipseme.org/上可以免费下载到EclipseME。

 

2.1.2关于WirelessToolKit

WTK(WirelessToolKit)是Sun公司针对J2ME推出的用于手机和Palm等移动设备的开发包,是除手机厂商的专用开发包外唯一的手机仿真器开发包。

它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性。

虽然它没有强大的功能和完善的调试手段,但它提供运行仿真器的最基本组件,是其他IDE需集成采用的必备元素。

当然,你可以从手机厂商下载相关的API及仿真器来进行开发。

同样,WTK也是个免费软件,可以在Sun上得到下载。

2.2MIDP2.0简介

MIDP即移动信息简表(MobileInformationDeviceProfile)针对的是移动信息设备,或者体积较小、能力有限的手持设备(MID),这些设备的共性是具有用户接口即屏幕和输入机制。

MIDP目标设备的典型例子就是手机。

MIDP2.0相较之前的1.0版本,加强了对用户接口、多媒体和游戏功能、网络连接功能的支持,主要包括以下几个方面:

⏹ MIDP2.0提供的游戏API使得游戏本身可以充分地利用设备自身的图形处理功能。

它的出现大大简化了J2ME游戏的开发工作,同时也使开发者能够更多地控制程序的图形处理功能。

⏹ 在通信方面,MIDP1.0仅支持HTTP,MIDP2.0增加了对HTTPS、报文、Socket通信以及串口通信的支持。

此外,MIDP2.0还支持Push体系架构,这样,手机能够收到来自服务器的报警、消息或者广播,并根据要求启动手机上的应用程序进行操作。

⏹ 支持0ver-The-Air(OTA)Provisioning,它使用户能够动态地部署和更新移动设备上的应用程序。

⏹ MIDPOTAProvisioning模型为移动服务提供商提供了单一、标准地部署MIDP应用程序的途径。

该模型已经被众多技术领先的移动设备制造商和服务提供商所采纳。

⏹ MIDP2.0增加了强大的“端到端”安全模型。

一方面,MIDP2.0支持HTTPS,可以对所传输的资料进行加密;另一方面,MIDP2.0采用了和MIDP1.0不同的安全机制,采用安全与来确保XX的MIDlet套件无法访问受权限控制的数据、应用程序以及其他网络和设备资源。

2.3J2ME概述

J2ME是一个专门面向小型设备应用的简易平台,这些小型设备包括移动电话、PDA、网络电话、数字电视机顶盒、自动娱乐系统、导航系统、网络交换、以及家用自动电器等。

J2ME的体系结构包括配置、虚拟机和简表3个部分,本设计是针对MIDP简表应用开发的。

J2ME(Java2MicroEdition)是Sun的Java2平台微型版,它被定义为“一种以广泛的消费性产品为目标的且高度优化的Java运行时环境。

”近年来随着各种电子设备,尤其是移动通信设备的发展J2ME对设备的智慧化、多样化,提供了革命性的解决方案。

随着手机的日益普及和对Java软件的支持,使得不同的手机可以运行同样的由Java开发的软件。

Java平台演进到Java2后,Java平台分别针对不同领域的需求被分成四个版本,亦即J2EE、J2SE、J2ME以及JavaCard。

其中J2ME定位在消费性电子产品的应用上。

这个版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。

这个版本的应用层面相当广泛,会是未来Java平台发展的重点项目。

J2ME在1999年的JavaOne开发人员大会上初次亮相,它的目标是面向智能无线设备和小型计算机设备的开发人员。

J2ME的一个关键优点是,J2ME与所有支持Java的设备都是兼容的。

支持Java的设备就是任何运行Java虚拟机的计算机。

Motorola、Nokia等生产厂商都生产支持Java的设备。

J2ME平台是由配置(Configuration)和简表(Profile)构成的。

配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含Java虚拟机。

简表是针对一系列设备提供的开发包集合。

在J2ME中还有一个重要的概念是可选包(OptionalPackage),它是针对特定设备提供的类库,比如某些设备是支持蓝牙的,针对此功能J2ME中制定了JSR82(BluetoothAPI)提供了对蓝牙的支持。

目前,J2ME中有两个最主要的配置,分别是ConnectedLimitedDevicesConfiguration(CLDC)和ConnectedDevicesConfiguration(CDC)。

作为第一个面对小型设备的Java应用开发规范,CLDC是由包括Nokia,Motorola和Siemens在内的18家全球知名公司共同协商完成的。

CLDC是J2ME核心配置中的一个,可以支持一个或多个profile。

其目标主要面向小型的、网络连接速度慢、能源有限(主要是电池供电)且资源有限的设备,如手机、PDA等。

J2ME(Java2MicroEdition)是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。

它的目标定位在电子消费产品与嵌入式设备上,对设备的智慧化、多样化,提供了革命性的解决方案。

在可以搭载Java的终端设备中,移动电话可以说是最为普及的,随着无线通信业的发展,Java应用程序在通信、娱乐等应用上产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的信息起着不可忽视的作用。

 

2.4J2ME3D技术简介

3D技术已经比较成熟了,在桌面游戏中已经广泛应用该技术,并开发出出色的3D游戏。

但在小型设备中,3D游戏的发展并不令人满意,主要原因是小型设备的有限资源不能满足3D技术所需求的高速的处理器,大量和快速的内存访问,以及高质量低功耗的图形加速卡,为此,各大厂商都纷纷推出自己支持3D的硬件和软件开发工具包。

为方便开发人员进行3D技术开发,JSR-184标准M3G提供了一套简单的3DAPI,目前大部分移动电话厂商和研发机构支持该标准。

2.4.1M3G(JSR-184)

M3G是J2ME的一个可选包,以OpenGL为基础的精简版一共有30各类,如图2-2所示,运行在CLDC1.1/MIDP2.0上(必须支持浮点数运算)。

图2-2M3G的类示意图

M3G只是一个Java接口,具体的底层3D引擎一般由C代码实现。

这种全新的的设计使3D技术变得不再繁琐,并且可以加入到J2ME的整体架构,保证了Java3D技术强大的扩展性。

下面简单介绍一下M3G开发包中的类:

类 名

描     述

AnimationController

控制动画序列位置、速度等因素。

例如能够控制动画应用中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1