付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
java的j2me与serve开发手机网络游戏
0视频娱乐的业务手机游戏和手机游戏是未来游戏市场的主要发展方向。只要你有手机,你就可以进入新世界游戏的世界。游戏正成为无线增值服务的主力军,各游戏开发商早已洞察到这一点。2G和3G通信技术的发展,给手机用户带来高达284Kbps的移动带宽;语音、图像、视频有序地结合,给手机用户带来了丰富多彩的多媒体娱乐服务。借此东风,各游戏开发商将进入全新的无线网络游戏时代,市场潜力巨大。本文将介绍如何使用Java的J2ME技术与Servlet技术开发手机网络游戏。1j2me介绍1.1平台市场及技术分类Java平台目前最新的版本是Java2Platform。这个平台根据应用软硬件服务需求的不同分为4个版本:⑴Java2Platform,EnterpriseEdition(J2EE):主要用于开发企业服务器端应用程序;⑵Java2Platform,StandardEdition(J2SE):主要用于一般台式计算机应用程序;⑶Java2Platform,MicroEdition(J2ME):主要用于开发信息家电应用程序;⑷JavaCard2.2Platform:主要用于开发智能卡。其平台市场及技术分类如图1所示。要贯彻所谓的“编写一次,到处运行”(writeonce,runanywhere)的目标,不管选用哪种开发平台都必须具有虚拟机(VirtualMachine)、基本的类程序包及应用所需的类程序包。1.2j2me的基本类程序包装根据硬件的差异,J2ME的硬件平台分为两类:高端的信息家电,包括电视机顶盒、网络电视、网络可视电话等;低端的信息家电,包括移动电话、寻呼机、PDA等。这两类硬件平台的差异很大。为符合硬件特性的开发需求,J2ME的基本类程序包有如下两种:CDC(ConnectedDeviceConfiguration),适用于高端信息家电,所用的Java虚拟机JVM为CJVM;CLDC(ConnectedLimitedDeviceConfiguration),适用于低端信息家电,所用的Java虚拟机JVM为KVM(KiloVirtualMachine)。J2ME的基本类程序包如图2所示。这里所说的CDC、CLDC只是各类信息家电中最具有共性的配置所提供的基本功能的集合。除此之外,不同应用场合的信息家电,事实上还是有很大差异的。例如Palm的屏幕比移动电话的屏幕大,所以想使用一套仅具基本功能的API就能满足各类信息家电应用的开发技术显然不可行。所以,目前Sun的做法是在共同的CDC、CLDC配置上,再添加适用特定规格的配置文件。J2ME的配置及配置文件间的关系如图3所示。1.3midp中特定功能部分MIDP规范是MIDP专业机构MIDP专家组(MIDPExpertGroup)制定的。MIDP专家组成员有DDI、NTTDoCoMo、爱立信、ResearchInMotion(RIM)、EspialGroupInc等21家公司。MIDP规范所规定的特定功能部分包括API和硬件两部分。API部分提供用户界面支持(Javax.microedition.lcdui类程序包)、网络支持(Javax.microedition.io类程序包)、数据持续存储的支持(Javax.microedition.rms类程序包)、其它如外处理及timer等类的支持。硬件部分要求128KB的稳定内存供MIDP组件用,8KB的稳定内存供数据持续存储用,32KB的稳定内存供虚拟机运行时用;显示器屏幕大小为96×54像素,1位色深,屏幕高宽比大约是1:1;输入设备为键盘、触摸式屏幕或二者并存;网络提供有限宽带下的双向、无线,但可能是间歇性连通的通信功能。2生成客户端的响应消息Servlet技术是Sun公司提供的一种实现动态网页的方案,它基于Java编程语言的Web服务器端编程技术,主要用于在Web服务器端获得客户端的访问请求信息和动态生成对客户端的响应消息。Servlet技术也是JSP技术(另外一种动态网页开发技术)的基础。Servlet程序是一个实现了特殊接口的Java类,用于被支持Servlet的Web服务器调用和运行。Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,接收访问请求信息和产生响应内容。3j2me手机网络游戏开发实例3.1系统设计与组成3.1.1游戏界面的实现手机版网络象棋游戏采用MIDP1.0开发,以保证高端手机与低端手机的兼容性。游戏开局界面如图4所示。该界面为游戏的主界面,包含游戏的规则算法、控制走棋、吃棋、选棋、退出、开始等操作。如图5所示的为游戏进行到死局时的界面效果,在该界面中,黑棋已经无路可走,它可被对方的“炮”将死。输棋界面如图6所示,玩家输棋时该界面提示玩家“抱歉,你失败了!”。游戏胜利界面如图7所示,取得胜利时该界面提示玩家“恭喜,您获胜了!”。3.1.2功能结构本系统的服务器端包括消息接收和桌面管理,其功能框图如图8所示。客户端包括主窗体、游戏界面、消息处理等模块,其功能框图如图9所示。3.1.3系统开发包和分辨率本游戏开发时,分别采用了如下模拟环境。操作系统windows2003sp1;Java开发包:JDK1.5;J2ME开发包:wirelessToolkit2.5.2forCLDC;分辨率:最佳效果1024×768像素;手机分辨率:最佳效果240×292像素;开发工具:Eclipse3.2程序模块的设计3.2.1va接口处理手游程序的主程序,必须继承MIDlet类。MIDlet是一个抽象类,是手游应用程序的入口,这和Java应用程序中含有main()方法的主类相似。Game类继承了MIDlet类成为手游程序的主类,并实现了CommandListener接口处理相应的软键触发事件。如图10所示的列表中出现的是游戏桌面信息和相应的操作信息(本例游戏桌面信息使用简单的字符信息“0”和“1”代替“空座”和“落座”信息)。3.2.2消息阵列公共类本系统的服务器项目空间中,有部分程序是公用的,它们被多个模块甚至整个系统重复调用以完成指定的业务逻辑。Player类代表玩家对象。每个玩家都有不同的属性,这些属性被用来表示惟一玩家。消息队列公共类Queue,该类负责存储服务器发送给玩家的消息。当手机客户端发出请求信息时,服务器会从该客户端对应的玩家对象的消息队列中获取消息,如果消息队列中没有消息,那么手机客户端必须等待服务器为其分配消息。服务器端的Umpire公共类用于裁判游戏输赢、记录棋盘数据。服务器端的Desk公共类是游戏桌面的定义类,该类包含了游戏桌面的编号、玩家数量、游戏回合局数等属性。另外该类还包括Umpire对象、Player对象、Server对象等属性。其中Server对象是服务器的主程序,负责信息的接收、发送和处理等业务。3.2.3s类游戏界面的画板设备游戏界面中最重要的就是棋盘界面,包括棋盘和棋子的大小、颜色、棋子布局位置等多个属性,所以定义棋盘绘制模块的属性是首要任务。创建GameCanvas类。该类必须继承Canvas类成为游戏界面的画板,游戏中所有事务,都是在这个画板上绘制的。另外,该类还需要实现CommandListener接口来处理软键按钮的事件,在该类中声明游戏中需要的各种属性。为保证游戏的同步,游戏客户端和服务器端必须频繁地通信并处理不同的游戏信息。例如一个玩家执行了走棋操作,那么其走棋信息必须通知服务器,服务器将记录棋盘的当前棋局,并通知其他玩家棋局的变更,这样其他的手机客户端也会知道该玩家的走棋信息。GameCanvas类中编写了receiveMessage()方法,该方法可以实现服务器信息的解析和业务处理。3.3客户端发送请求在开发手机网络游戏过程中,遇到的困难是使用HTTP通信协议实现游戏通信。因为HTTP协议是无态的,每次客户端对服务器发送请求,服务器对该请求应答之后,就无法再与客户端通信,因为这个连接已经关闭了,所以服务器无法知道下一次请求是由谁发出的。解决该问题的办法是,在客户端添加一个信息发送的线程,该线程将无限循环,不停向服务器发送请求,以维持与服务器的连接,服务器端则使用相应的消息队列保存每个玩家的信息,在客户端发送下一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海工商职业技术学院《AUTOCAD 制图》2025-2026学年第一学期期末试卷(A卷)
- 初中阅读习惯2025年班级礼仪养成说课稿设计
- 上饶卫生健康职业学院《安全工程专业导论》2025-2026学年第一学期期末试卷(A卷)
- 上饶卫生健康职业学院《Access 数据库技术》2025-2026学年第一学期期末试卷(A卷)
- 上海音乐学院《安全生产与环境保护》2025-2026学年第一学期期末试卷(B卷)
- 上海震旦职业学院《安装工程技术》2025-2026学年第一学期期末试卷(B卷)
- 初中生诚信建设主题班会说课稿
- 初中2025爱护绿植说课稿
- 上海闵行职业技术学院《AutoCAD 平面图绘制》2025-2026学年第一学期期末试卷(A卷)
- 26年HPV人群预防干预指引
- GB 4053.1-2025固定式金属梯及平台安全要求第1部分:直梯
- 2025年华侨生联考试题试卷及答案
- 冠状动脉粥样硬化性心脏病讲解
- 知乎社区运营专员面试题集
- T∕SDCMIA DD30-2025 中华大蟾蜍饲养技术规程
- 国家事业单位招聘2025国家图书馆招聘应届毕业生笔试历年参考题库典型考点附带答案详解(3卷合一)
- 2025年下半年湖北省十堰市郧阳区事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 供热行业有限空间培训
- GB/T 6109.1-2025漆包圆绕组线第1部分:一般规定
- 2025年无人机黑飞事件案例分析及防范措施报告
- 雪茄烟经营知识培训总结课件
评论
0/150
提交评论