基于J2ME手机游戏的开发-贝克汉姆射门游戏
无需注册登录,支付后按照提示操作即可获取该资料.
摘 要
J2ME(Java 2 Micro Edition)是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上,对设备的智能化、多样化,提供了革命性的解决方案,并因其“Write Once, run anywhere”的Java特性而提高开发的效率。随着手机的日益普及、Java功能在移动设备上的实现,JAVA应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。本论文着眼于J2ME技术的应用,开发一款简单的手机游戏程序--Beckham Goal。 论文在分析了实现小游戏的相关基础技术及理论后,对该游戏进行了功能需求分析、模块划分及总体设计,解决了游戏中涉及的碰撞检查以及其他若干关键技术,最后在J2ME平台下实现了该小游戏,并通过验证达到预期的效果。
关键词:J2ME;手机游戏; K-JAVA;碰撞检查
The Development of J2ME Mobilephone Game
-Beckham Goal
Abstract
As a new development technology, J2ME (Java 2 Micro Edition) emerged with the development of various communications equipments, especially mobile facilities. Since it is a kind consumption-oriented of electronic product, it offers a completely new solution to the intelligentization and diversification of communications equipments. Besides, due to its feature of “Write Once, run anywhere”, it improves the efficiency of development. Along with the popularization of mobile phone and the application of Java to the mobile equipments, gradually the influence of mobilephone's added-value service is shown, which is produced by the application of JAVA to the daily life and informing. This paper focuses on the application of J2ME and develops a mobilephone game-Beckham Goal. Based on the analysis of basic technique and theories, this paper conducts analysis of function demand and module measurement as well as macro-design. As a result, this paper solves the conflict detection and some other key technique. Finally this paper successfully develops this mobilephone by use of J2ME. And then the anticipative purpose has been met after the validation.
Key words: J2ME; Mobilephone game;K-JAVA; Conflict Detection
手机游戏概述
手机游戏几乎是当今市面上所有手机所必有的。在几年前的机型中,游戏都是手机中自带的,称为嵌入式游戏,由手机生产厂商设计并直接嵌入在手机里面。这样的游戏用户不能自行开发、添加及删除,其游戏种类取决于不同的机型,是一种单机游戏。随后的几年兴起了一种基于短信的游戏,由用户发送特定字符串给短信游戏提供商,来控制游戏的动作或剧情的发展。随着wap的兴起,出现了一种基于浏览器的游戏,和短信游戏差不多,由用户手机通过wap登录游戏提供商所提供的网址,然后填写或选择相应表单来操作游戏。上面两类游戏都是基于文本的,操作比较繁琐,游戏性不强。短信游戏每做一次操作(也就是发送一条短信)需要花费一毛钱;wap游戏无论是通过CSD上网还是通过GPRS上网都需要出上网费用。两种游戏的花费都比较高。现在新出的手机很大一部分都支持Java程序下载,而且这是一种趋势。由JAVA开发的游戏可以对图像进行操作,是动态的。而且可以接入网络,既可以开发单机游戏也可以开发网络游戏。随着彩屏手机的普及,游戏可以不再是黑白的,可随心所欲的为游戏中的不同物体赋予不同的颜色。
J2ME游戏开发基础相关
1 基于精灵的动画
在众多游戏中使用的功能更加强大的动画技术是基于角色的动画,也叫做精灵动画(sprite animation),基于角色的动画就是图形对象可以独立于背景移动。基于角色的动画中的每一个图形对象都叫做一个精灵,并且它的位置可以随着时间而变化。也就是一个精灵具有一个相关的速率,可以决定它的位置如何随着时间而变化。现在几乎所有的视频游戏都要在某种程度上使用精灵。在MIDP1.0中,我们必须自己用专门的类来实现Sprite,但是MIDP2.0为Sprite提供了强力支持,可以创建静态,动态,不透明和透明的Sprite。(本游戏的MIDP为2.0)
MIDP2.0 API包含了对精灵动画的支持。在MIDP编程中,使得精灵动画成为可能的两个主要的类是Layer类和Sprite类。Layer类对一个叫做图层(Layer)的通用图形对象的建模,该对象充当精灵和其他图形游戏对象的基础。Layer类跟踪一个可视元素的位置、高度、宽度和可见性等信息。
2 GameCanvas类来实现平稳动画
在游戏设计过程中。对于游戏开发人员比较头痛的问题的。当你用常规的MIDP Canvas类来构建一个具有动画功能的MIDlet,往往会出现令人讨厌的抖动。这种抖动是因为游戏屏幕在动画图像绘制之前被清除过。也就是动画的图形对象在每次被移动前都进行擦除和重绘。由于擦除和重绘过程都是直接发生在游戏屏幕上的,所以动画看上去就是抖动的。
现在大多数都可以使用一种叫双缓冲的技术来解决和精灵动画相关的抖动问题。在双缓冲技术中,你可以在一个用户不可见的屏幕外绘图表面来进行擦除和重绘操作。当所有的绘图工作完成后,最终的结果再直接绘制到游戏屏幕上。由于所发生的擦除并不可见。最终的结果也就是无抖动的动画。
除了标准的Canvas类,MIDP API还提供了支持双缓冲图形的GameCanvas类。为了使用GameCanvas类的这一优势功能,我们只需要从GameCanvas类派生我们的具体的游戏画布,并且像在一个普通MIDlet中一样绘制图形。但是,我们所执行的所有绘制实际上是在屏幕外缓冲区进行的。为了让屏幕外的绘制提交到实际的屏幕上,你必须调用flushGraphisc()方法。
3 图形坐标
所有图形计算系统使用某种图形坐标系来指定窗口或屏幕上的点的分布。图形坐标系通常指明系统的原点(0,0)、数轴,以及每条轴上数值递增的方向。MIDP图形依靠一个相似的坐标系来说明如何以及从那里开始绘图操作。因为在MIDlet中所有的绘图都在画布(canvas)中,所以MIDP的坐标系也同画布有关。MIDP坐标系的原点在画布的左上角,X值向右增加,Y值向下增加。在MIDP坐标系中,所有的值都是正整数。
目 录
1 引言 1
1.1 手机游戏概述 1
1.2 JAVA手机游戏的发展现状 1
1.3 手机游戏的发展前景 2
2 J2ME的概述与相关理论基础 3
2.1 J2ME的简介 3
2.2 J2ME的构架 3
2.3 J2ME游戏开发基础相关 4
2.3.1 基于精灵的动画 4
2.3.2 GameCanvas类来实现平稳动画 4
2.3.3 图形坐标 5
2.3.4 检测对象之间的冲突 5
2.4 常用开发工具及其配置与使用 5
3 需求分析与设计方案 6
3.1 需求分析 6
3.2 设计方案 7
3.3 游戏初步功能设计 8
4 游戏的设计流程以及实现 9
4.1 游戏的设计 9
4.2 游戏的实现 10
4.2.1. 图像和精灵的创建和绘制 10
4.2.2. 玩家按键移动的设置 11
(优秀毕业设计:www.2bysj.cn)
4.2.3. 胜利及失败的判定 13
4.2.4. 球员运动轨迹的设置 15
4.2.5. 游戏中分数的记录 16
4.3 碰撞冲突机制的实现 20
5 系统测试 20
结 论 22
参考文献 23
致 谢 24
声 明 25
参考文献
[1] Michael Morrison[美]. J2ME手机游戏编程入门[M].北京:人民邮电出版社,2005。
[2] 李振鹏, 龚剑. J2ME手机游戏开发技术详解[M].北京:清华大学出版社,2005。
[3] Kim Topley[美].J2ME技术手册[M].北京:中国电力出版社,2003。
[4] Leopold Lee[美].J2ME手机编程基础[M].北京:清华大学出版社,2003。
[5] 米川英树[日].J2ME MIDP手机游戏程序设计[M].北京:中国铁道出版社,2005。
[6] 冯煜,朱军.J2ME程序设计[M].北京:中国电力出版社,2003。
[7] Ken Arnold,James Gosling,David Holmes[美].JAVA编程语言[M].北京:中国电力出版社,2003。