目录
第一张绪论 (1)
第二章平台及J2ME体系结构介绍 (2)
2.2 J2ME平台介绍 (3)
2.3 MIDP (4)
2.4 J2ME的常用类 (5)
2.4.1 Display类 (5)
2.4.2 Canvas类 (5)
2.4.3 Graphics类 (5)
2.4.4 RMS记录管理系统 (5)
3.1 开源的IDE——eclipse (6)
3.2 eclipse插件——eclipseME (7)
3.3 关于WTK (7)python自动化运维实战
第四章益智游戏——推箱子的设计与制作 (7)
4.1 游戏的策划和准备工作 (7)
4.1.1 游戏策划分析 (7)
4.1.2 游戏准备工作 (8)
4.1.3 设计背景 (8)
4.1.4 概要设计 (9)
4.2 游戏架构 (9)
4.2.1 游戏的类结构 (9)
4.2.2 界面设计图 (10)
java手机游戏下载
4.3 游戏关键技术实现 (12)
4.3.1 GameMidlet类 (12)
4.3.3 GameChoose. 选关类 (18)
第五张系统调试和测试 (22)
5.1程序调试 (23)
5.2 系统的测试 (23)
结束语 (25)
致谢 (25)
参考文献 (25)
第一章绪论
无线通讯工业在过去的几年中飞速发展,已经成为世界上发展最快的技术领域之一。与此同时,Intern
t的快速崛起已经成为人们需求或办公室的工作站来访问Internt。通过便捷方式,无限的设备访问Internt已经成为人们需求的方向,这就更加增大了人们对无线设备的需求。同时手机的功能也变得丰富多彩,从以前的移动电话逐渐变为集通讯,短信,游戏,音频和视频为一体的多功能掌上电脑。想必您一定使用过手机玩过游戏吧,是不是让您真实感受到移动游戏的惊奇体验。自己编写手机游戏,并把其移植到手机中无疑成为追求时尚的年轻人的新宠。SUN的J2ME平台恰恰为我们提供了这样的一个平台,只要掌握了基本的Java语言基础,就可以动手为自己的手机开发应用程序,使手机开发程序变的不再神秘。
游戏作为人们日常生活的一个重要的娱乐项目,也带动了巨大的游戏相关产业市场的发展。游戏平台从游戏机、电视游戏,到pc游戏,到手机游戏。随着手机的日益普及,人们对手机的娱乐功能的需求也相应增强,尤其是近几年手机2D、3D技术的日益成熟,大大地提高了手机游戏的娱乐性、操作性和方便性等多方面的性能。而基于手机平台的手机游戏也就拥有了巨大的市场空间,随着3g的开通和应用,手机游戏必将迎来新的一轮游戏热潮!    J2ME在游戏开发方面的优势,由它开发的各种软件在手机上大规模的应用将会刮起一阵势不可挡的革命潮流。下面在本篇文章中就将详细的介绍J2ME这一技术在手机游戏制作方面的具体过程和应用。
本文通过J2ME平台下开发一个推箱子的程序,并把它移植到手机上来学习无线设备的应用程序开发。同时对以前学过的课程操作系统,Java语言等进行巩固。
第二章平台及J2ME体系结构介绍
本文是在J2ME这个大的平台下进行开发,这就要求我们先要了解J2ME,让我们来看看JAVA2平台的划分。
2.1  JAVA2平台的划分和J2ME,J2AE 及J2EE 的关系
目前Java2平台已经正式划分为3个部分它们分别是J2SE--Java2平台标准版Java 2 platform standard Edition其被适用范围最广用于我们通常使用的台式机desktop。J2EE--Java 2平台企业版Java 2 Platform Enterprise Edition 被广泛应用于服务器上包括JSP Servlet EJB 以及目前炙手可热的Web Service等技术。J2ME--Java2平台微型版Java 2 Platform Micro Edition 被使用在资源受限小型消费性电子设备上如电视机顶盒无线电话掌上电脑等。如图1所示:
图2-1 Java版本的划分和针对的设备
移动设备PDA市场的繁荣发展照成了五花八门的厂商与品牌异常广泛的设备,例如两种设备也许具有相同的功能,但实现的方法可能有相当大的区别。例如对PDA和手持电话来说都具有显示的功能, 但屏幕的实际尺寸却有很大的区别,支持的深也不相同。重复的开发工作以及移植的不便性使得开发成本与开发难度不断提高,这就使得设备厂商需求拥有一个统一的开发平台。面对这个问题Sun提出了J2ME的解决方法。
2.2  J2ME平台介绍
带接入能力的消费类电子设备,如手机,传呼机,个人电子助理以及电视机顶盒之间有很多共同之处,但它们在形式,功能和特性上又有很大的差异。信息产品总是趋向于特定用途和有限的功能。要适应这些差异,对J2ME架构的要求不仅仅是小,还是有模块化能力和可定制能力。
J2ME结构要设计成模块化的和可缩的,以便它能支持客户端和嵌入式设备市场的各种灵活的部署要求。为了达到这个目标,J2ME环境提供了一系列Java虚拟机技术,分别为市场上各种常见的多种处理器和内存布局作了优化。
absolutelayout讲课为了支持可定制能力和扩展能力,J2ME架构定义了三个基本的概念:Configuration,Profile和Optional Package。如图2-2所示:
图2-2  Configuration和Proflie
设备的配置(Configuration)为这些设备定义了一个基本的J2ME运行环境,其中包括虚拟机和核心的java类库。可以把配置理解为一个针对某一类设备的最小的Java平台,其中包括该类设备的Java VM虚拟机功能最小子集和针对该类设备的Java类库的最小集合。要注意的是 Configuration主要针对的是系统级的特性,如基本的Java语言的特性虚拟机的特性以及系统级的java核心类库等。J2ME配置Configuration包括两种,分别是连接设备配置CDC和连接受限制设备配置CLDC。正如前面提到过的配置分别针对的是某一族系设备J2ME所支持的设备主要分为两种分别通过CDC和CLDC支持。个人移
动信息设备指那些可以进行间隙性网络连接的设备,如移动电话,双向寻呼机,PDA等这类设备从性能上来讲属于地段设备由CLDC支持。共享连接信息设备指那些网络连接固定不中断的设备,如电视机顶盒,互联网电视可视电话等这类设备从性能上来讲属于高端设备由CDC支持。如图2-3所示:
图2-3  CDC,CLDC和J2SE的关系
CLDC为那些资源受限制不足以支持整个J2SE虚拟机环境以及J2ME核心类库的设备提供了运行Java程序的基础。然而作为一位应用程序开发者如果您只能通过CLDC提供的API 来进行编程是几乎不可能的。因为CLDC中并没有提供给我们与用户存储设备网络直接交互的工具。CLDC是一个技术层,其上层可以架设一系列的描述(profiles)层来提供CLDC所缺失的功能。每一种profile被设计成适应某种类型的设备的形式,而移动信息设备描述Mobile Information Device  Protile--MIDP就是这些profile中的一种。MIDP是位于CLDC 上层的Profile,是目前J2ME平台中发展相对最成熟最广为人知的Profile。如同MIDP的名字所描述的针对的是移动信息设备Mobile Information Device。MID这类设备通常指手
accepted和receive的区别机或是PDA,它们在屏幕内存处理器等硬件特性上有诸多限制,所以说在MID上开发应用程序必须要考虑一些技术上的特殊点。
所以在开发此程序时我选择了集成有CLDC和MIDP开发包的工具WTK。WTK共分为1.0.4,2.0以及2.1三个版本,针对本程序的特点,我选择2.0版本。由于篇幅的原因,详细和查阅《J2ME无线设备程序设计》和《Java手机/PDA程序设计入门》。
crack破解文件夹在哪2.3MIDP
这里主要针对的是CLDC设备。MIDP包含三个生命周期和事件处理等机制。
三个生命周期:
string函数库Pause状态:程序处于暂停状态,方法:pauseApp();
Actived状态:程序处于运行活动状态,方法:startApp()。
Destroy状态:程序销毁前的状态,方法destroyApp。
2.4 J2ME的常用类
2.4.1 Display类
Display类代表了系统显示屏和输入设备的管理器,包含用来获取设备属性的方法,以及要求在设备上显示对象的方法,其他处理设备的方法主要应用在 Canvas对象。Display 类直接从Object继承而来。
2.4.2 Canvas类
为了能有程序开发人员控制接口的外观和行为,需要使用大量的初级用户接口类,尤其在游戏程序中,几乎完全依赖的就是Canvas 抽象类进行绘图。从程序开发的观点看,Canvas类可与高级Screen
类交互,程序可在需要时在Canvas 中掺入高级类的组件。Canvas 提供了键盘事件、指点杆事件(如果设备支持),并定义了允许将键盘按键映射为游戏控制键的函数。键盘事件由键代码指定,但这样控制游戏会导致缺乏通用性,并不是每个设备的键盘布局都适合游戏的操作。应当将键代码转换为游戏键的代码,以便硬件开发商能定义他们自己的游戏键布局。
2.4.3 Graphics类
Graphics 是图形处理的基础类,提供了简单的2D 绘图功能。使用Graphics 类可以在屏幕上绘制图片、线条、文字等多种低级的界面。它具有 24 位深度彩的绘制能力,以三原分别各占一个字节表示其颜。程序只能在 paint() 函数中使用 Graphics 绘制,GameCanvas 可调用 getGraphics()函数直接绘制在缓冲区上,可以在任何时间请求传输到前台。其对象会被传给Canvas的paint()函数,以便最终显示。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。