天津电子信息职业技术
暨国家示范性
软件职业技术
集 中 实 训
实训题目:
手机游戏开发实训
系 别:
软件技术系
专 业:
班 级:
姓 名:
指导教师:
设计时间:
目 录
一 手机游戏开发的状况简介
手机游戏开发的行业状况
开发技术方式
简介一款主流的手机游戏
二 手机游戏项目的开发
GameMID的实现
GameMenu的实现
GameWorld的实现
三 项目开发心得
一 手机游戏开发的状况简介
手机游戏开发的行业状况:
最早的手机游戏出现于1997年,经过十几年的发展,随着手机终端和移动
通信网络的不断进步,手机游戏也正在经历由简单到复杂的进化过程。从全球来看,手机娱乐服务被公认为是带动移动数据业务快速发展的重要力量。作为手机娱乐服务的重要内容之一,近年来,伴随着移动网络和移动终端性能的不断提高与完善,手机游戏业务呈现快速增长的势头,成为一座名副其实的"金矿"。
国内手机游戏市场在过去的几年里呈现快速发展的趋势。2008年,中国手机游戏活跃用户数达698万户,手机游戏用户中玩手机网游产品的用户的比例逐年快速递增。2008年手机网游用户占总体手机游戏用户的比例达40%左右,用户规模达280万户,这其中大部分用户是手机单机游戏的活跃用户。
2009年,手机游戏业务增长继续加速,2009年中国手机游戏市场规模达到18亿元,同比增长38.5%。整个手机游戏18亿市场,跟整个网络游戏270亿市场相比还不到其1/10。手机游戏何时爆发成为人们关注的焦点。
随着3G应用的快速推进以及智能机的普及,手机正逐渐成为"个人信息处理中心",覆盖到生活的方方面面,随着手机带宽的不断提速,互联网从PC过渡到手机的趋势正在加速蔓延,这也为手机游戏业的兴起造就了新的商业机遇。手机游戏正在呈现一个巨大的市场,成为移动互联网领域的热门增长点。另外,截至2010年3月底,国内市场主流智能手机已达500余款,较2009年同期增长近1.5倍,还有数百款智能手机即将上市,将为手机游戏发展提供较完善的硬件支持。
开发技术方式:
网络游戏产业的繁荣,让企业和消费者同时认识到了游戏的力量,虽然受到屏幕尺寸和操控性的限制,但作为全球使用量最大的通信产品,手机也具有成功进入掌上游戏领域的理由。而彩屏革命过后,手机游戏就变得更加丰富多样了。从当初诺基亚手机中经典的二维贪吃蛇游戏,到今天的三维画面及声色效果俱佳的游戏,手机游戏已经成为一种非常普遍的休闲方式,为玩家带来了很多快乐及新奇的体验,同时也为开发商、手机厂商、运营商带来了更多的利润。
这一切得益于Sun公司--
Java平台的东家,可以说手机端游戏的发展与Java技术的发展有着不可分割的联系。Java 2推出后,Sun推出了一种名为J2ME(基于Java 2 Micro)的平台,被广泛应用于手机端。J2ME能够为用户提供非常丰富和复杂的功能。
随着各大手机生产商对J2ME标准的支持,以及基于J2ME开发的手机游戏的可移植性和快速开发的优势,J2ME手机游戏的市场需求越来越高,从事J2ME手机游戏研究和开发的人员也越来越多。那么怎样保证游戏质量,怎样编写好的游戏代码,是每一个从事J2ME手机游戏开发者都应该考虑的
问题。
简介一款主流的手机游戏:
功夫
游戏类型:动作类游戏
收费价格:9元
是否支持触屏:否
支持手机型号:NOKIA40系列、NOKIA6600、NOKIA7610、NOKIA3230、NOKIA7650_3650、MotoV600、松下x800、NOKIAQD 、Moto C650、索爱K700
游戏介绍:
这是上世纪40年代的中国,社会动荡、黑帮横行,其中"斧头帮"最为令人闻风丧胆。故事发生在火云邪神接掌了"斧头帮"大权之后,讲述了他为寻找阿星的下落将哑女作为诱饵,绑架至猪笼城寨这一段不为人知的经历。想知道阿星是如何领悟功夫的真谛,从而成为一代绝世高手吗?我们的故事从这里开始......
游戏规则:
行走:五向导行杆的左右方向或4、6键
跑动:连续两次按行走方向键并持续按住
下蹲:下方向或8键
下蹲行走:下蹲状态时左右方向或4、6键
攻击:5键或按下五向导行杆
瞄准及取消瞄准:0键
瞄准时改变方向:五向导行杆或对应的数字键
上下楼梯:在楼梯处按上/下方向或2/8键
上下梯子:在梯子处按上/下方向或2/8键
跳跃:按上方向或2键
攀上高处:按上方向或2键
进门:在门口按上方向或2键
躲藏于暗门中:在暗门前按上方向或2键,按其他方向键即可离开暗门
躲藏于油桶中:在油桶前按上方向或2键,再次按同样的键即可离开油桶
跳过动画或对话:在动画或对话时按右软键
菜单:游戏中按右软键呼出功能菜单,左软键取消
二 手机游戏项目的开发
GameMID的实现
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.*;
public class GameMID extends MIDlet {
private Display display;