基于J2ME的手机游戏的优化及开发技巧
基于J2ME的手机游戏开发
第25卷第9期 计算机应用与软件Vol 125No .92008年9月 Computer App licati ons and Soft w are Sep.2008收稿日期:2007-01-05。
蔡长安,高级实验师,主研领域:计算机应用,嵌入式系统。
基于J2M E 的手机游戏开发蔡长安 仇亚东(盐城师范学院信息科学与技术学院 江苏盐城224002)摘 要 随着J2M E (Java2M icr o Editi on )技术在移动电话上的实现,在移动电话上开发游戏程序的速度大大地提高了,开发难度也有所降低。
然而,移动电话的资源是十分有限的,这就导致在移动电话上开发游戏程序必须依据一些特殊的规定,否则游戏程序就难以在移动电话上运行。
在介绍J2M E 主要技术基础上,提出了自己的设计方案,设计了一个手机游戏,并对系统中的一些关键技术进行讨论,最后对手机游戏编程技术的发展方向进行了展望。
关键词 J2ME 手机游戏 游戏编程D ES I GN O F MO B I LE PHO NE GAM E BASED O N J2M ECai Chang πan Q iu Yadong(School of Infor m ation Science and Technology,Yancheng Teachers College,Yancheng 224002,J iangsu China )Abstract W ith the i m p le mentati on of J2ME (Java2M icr o Editi on )technol ogy on mobile phones,the devel opment of mobile phone ga mes is s peeded up as well as easier .However,the capacity the res ource occup ied in mobile phones is finite,which f orces the mobile phone ga mes t o foll ow s ome s pecial rules,other wise,ga me p r ogra m s is hard t o run s moothly .I n this thesis,based on the brief intr oducti on t o J2ME tech 2nol ogy,we put f or ward a design sche me of our own .A s an app licati on,a mobile phone ga me is designed,and s ome key techniques are dis 2cussed which are used t o realize the syste m.A t the end,we als o l ook f or ward the devel opment of ga mes p r ogra mm ing technol ogy in mobile phone envir on ment .Keywords J2M E Mobile ga mes Ga mes p r ogra mm ing0 引 言当前,无线通信已经成为发展最快、最前沿的通信领域之一。
基于手机游戏的开发与优化1204
13
4.6 敌机精灵设计
bullet
enemy
攻击
随机出现
位置 X Y 1 0 4 2 1 3 3 2 2 4 3 1 5 4 0
14
4.7 爆炸精灵、碰撞逻辑和地图设计
Sprite explode <<create>>explod() act():int[]
历遍子弹数据 敌机历遍
是 是否敌机子弹 否 是 与玩家飞机检测 是否碰撞 删除已亡精灵 与敌机检测 生成爆炸对象
基于J2ME手机游戏的开发与优化
导师: 导师:陈泽琳 马恒信 学生: 学生:陈云峰
一.手机游戏的现状、意义和亮点 手机游戏的现状、 平台与MIDP2.0的游戏 的游戏API概述 二.J2ME平台与 平台与 的游戏 概述 三.手机游戏开发流程设计与程序类设计 四.手机游戏优化 五.总结
2
1.1 手机游戏的现状、意义和亮点
4
2.1 J2ME体系结构概要
简表) 一、J2ME体系结构两个主要组件( 配置 简表) J2ME体系结构两个主要组件( 体系结构两个主要组件
小型设备 某类小 型设备 支 持 简表 profile
支 持 配置 configuration
API
配置 CLDC configuration 不支浮点计算
简表 MIDP profile
MIDP2.0 游戏API 游戏
MIDLET 程序应用模型 startApp()
5
2.2 游戏API介绍
游戏画布 GameCanvas 屏幕打印 键盘响应 屏幕缓冲 随时获取输入
图层 layer
贴图层 TiledLayer
精灵 Sprite
图层管理器 LayerManager
基于J2ME_(Java_2_Micro_Edition)的手机游戏开发
摘要随着移动电话的普及率越来越高,手机已经成为人们生活中的必需品。
同时,随着科技的发展,移动电话的功能也越来越强,手机娱乐已经成为一项充满发展前景和商机的产业。
虽然目前手机的处理能力与个人计算机的标准处理能力相比很有限,但是足够运行一个相对小型的游戏,甚至是3D游戏。
本文先从Java手机游戏的背景出发,介绍了Java手机游戏的发展现状,然后从整体上介绍本3D游戏开发的模型、结构分析和具体功能实现,游戏的接口和运作方式。
通过对手机游戏开发,MIDP 2.0,以及JSR-184(J2ME 3D技术)的研究,采用立即模式,运用深度优先遍历算法来随机生成游戏地图,并尽力模拟手机游戏的普遍性形式,实现一个操作简单,并有一定可玩性的完整3D手机迷宫游戏。
关键词:J2ME;MIDP 2.0;M3G(Mobile 3D Graphics--JSR184);立即模式(immediate mode);深度优先遍历。
AbstractWith mobile phone penetration rate increasing, mobile phones have become a necessity in people's lives. At the same time, with the development of technology, the functions of mobile phones more and more strong, mobile entertainment has become a full development prospects and business opportunities in the industry. Although at present the handling capacity of mobile phones and personal computer processing power than the standard is very limited, but enough of a relatively small operation of the game, or even 3D game.This article start with the background of Java mobile phone games based on the Java development of mobile phone games, and then a whole game on the 3D model of development, structural analysis and specific functions to achieve, the game's interface and mode of operation. Through the development of mobile games, MIDP 2.0, and JSR-184 (J2ME 3D technology) research, using the depth-first traversal algorithms to generate random map games, and to try to simulate the universal form of mobile games, to realize a simple operation, and funny 3D maze game on mobile phone.KEY WORDS:J2ME; MIDP 2.0; M3G(Mobile 3D Graphics--JSR184); Immediate mode; The depth-first traversal algorithms目录第一章前言 (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关于Wireless Tool Kit (9)2.2 MIDP 2.0简介 (9)2.3 J2ME概述 (11)2.4 J2ME 3D技术简介 (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)附录 (60)第一章前言1.1 引言最早的手机游戏出现于1997年,经过十年的发展,随着手机终端和移动通信网路的不断进步,手机游戏也正在经历由简单到复杂的进化过程。
基于J2ME手机游戏设计与实现
() 1 闪屏 : 入 游 戏 后 3 钟 自动 跳 到 下一 界 面 , 进 秒 若
玩 家 3秒 内按 键 则 提前 跳 转 ( ) 景 音 乐 : 人 游 戏后 背 景 音 乐 开 启 , 出或 暂 2背 进 退
停 时 自动停 止 背 景 音 乐 ( ) 戏 背 景 : 了 实 现 更 生 动 背 景 效 果 . 戏 背 3游 为 游 景 能 自动卷 动 ( ) 色 站 位 : 了 提 高 游 戏 可 玩 性 。 手 的 初 始 4角 为 对
坐 标 会 随机 生 成 ( 自动 识 别 炸 弹 或 油 箱 : 5) 当战 车 与 炸 弹 相 碰 撞 , 生命 值 减 1 速 度 清 0 当战 车 与油 箱 相 碰 撞 速度 加 1 。 。 。
收稿 日期 :0 0 2 2 2 1 —1 —2 修 稿 日期 :0 1 1 0 2 1 —0 — 7 图 1 游戏 的设 计 流 程 图
系列 手机 游戏 开发 的 解 决 方 案 。
关键 词 :手机 游戏 :2 ; DP M, e J ME MI ; I t Dl
O 引 言
Jv coE io J ME) 一 种 针 对 移 动 电话 aa2 Mir dt n(2 i 是
( ) 弹 射 击效 果 : 弹射 出动 画 效 果 . 6子 子 与对 方 角 色
Moig akru d类 中 完 成 的 .其 中包 括 了背 景 的 生 vnB cgon 成、 游戏 角 色 的绘 制 、 家 按 键 的 检测 、 撞 检 测 等 。 玩 碰 其 中碰 撞 检 测 又 包 括 了子 弹 与 敌 车 的 碰 撞 、子 弹 与 炸 弹 的碰 撞 、 车 与 油 箱 的 子 碰 撞 、 车 与 炸 弹 的碰 撞 . 战 战 每 种 碰 撞 重 新 计 算 战 车 的位 置 、 度 、 向 、 数 等 参 数 。 速 方 分 碰撞 检测在 M D 2 I P . 以 直 接 使 用 Sre类 提 供 0可 pt i
基于J2ME手机网络游戏类与关键代码设计
u e o i rv e man an bl y o e s se a d i i c n u i e t h e e eo me to h e o d r y ・ s d t mp o e t i ti a i t ft y t m n t s o d cv o t e r d v lp n ft e s c n a y s s h i h
MV ( oe Ve o t lr 与 Srt 框架 、o kt C M dl i C nr l ) t s w oe u Sc e 通信 五种技 术
得到解决。
动通信运 营商 、 手机制 造商 、 网络 运营商 和游戏开 发商都 把手机
网络游戏 当作增加 自己运营 收入的下 一个增 长点 。手机 的庞大
1 1 JME手机用例建模 . 2 手机游戏的设计 采用 U L建模 , M 需求 分析使用 U ML中的用 例建模策略。用例建模是 U ML建模 的一部分 , 它也是 U ML最 基 础的部分。该 系统 的用例 图如 图 1所示。
用户群及普及程度也决定 了手机 网络游戏 市场存 在着 巨大的潜
tm.T ed v lp dsse w ihc d db aah sahg e gain t a mpe n eman t a mo i e h eeo e ytm hc o e yJv a ihrmirt .I c ni lme th is e m bl i o t r e
J2ME专业手机游戏开发基础
J2ME专业手机游戏开发基础游戏的基本结构游戏是什么呢?在游戏中,往往是显示各种各样的画面,玩家可以做一些设定好的控制,画面根据玩家的控制有所变化。
从这儿可以看出,游戏至少需要三个功能-显示画面,接受玩家输入和对输入产生反馈。
这就是常说的渲染,输入输出和逻辑三个模块。
将这三个模块组合在一起有很多方法。
比如事件驱动-画面保持不变直到接受到输入事件,程序进行逻辑运算然后改变画面。
而游戏往往不是这样,游戏是时间驱动的。
也就是说无论有没有输入,游戏都在不停的循环-检查是否有输入,运行逻辑,渲染画面。
这里我多说一句,其实什么样的结构并不能区别一个程序是不是游戏,其实只要可以互动娱乐的程序就可以称为游戏,也不一定要用时间驱动,但采用时间驱动是专业游戏的普遍做法,也是很容易接受的方法-因为从一定程度上讲,游戏很像电影,随着时间流逝画面在改变。
既然是时间驱动,游戏中就会有帧的概念。
所谓帧就是某个时刻显示在屏幕上的画面。
从整体上看,游戏就是一系列的帧不断播放着,像动画片一样,不过玩家可以通过交互改变播放的内容。
而我们开发游戏的主要任务就是安排每一帧的内容。
在每一次游戏循环中,我们需要搜集玩家的输入、运行逻辑以更新游戏的数据、根据更新后的数据安排下一帧显示的内容。
所以一个最简单的游戏结构就是:0 初始化游戏1 是否结束游戏(Yes:转到6)2 搜集玩家输入信息3 运行游戏逻辑4 更新下一帧,显示下一帧5 回到16 清理,结束游戏这是一个最基本的结构,特别对于比较简单的J2ME游戏来说,这个结构更加有代表性。
下面我们将分别讲述专业手机游戏如何实现这个结构中的各个内容。
游戏循环的实现我们需要一个进入后就一直循环下去直到游戏结束的结构。
线程正好可以实现。
最通常的做法是让Canvas实现Runnable接口。
于是我们就可以实现run方法。
下面是一个run方法简化版:1.public void run()2.3.{4.5. exitMidlet = false ;6.7. long startTime = 0 ;8.9. long timeCount = 0 ;10.11. gameInit() ;12.13. int curKey = 0 ;14.15. while (!exitMidlet) {16.17. startTime = System.currentTimeMillis();18.19. //acquire key20.21. acquireKey() ;22.23. //call game loop24.25. gameLoop() ;26.27. //repaint the screen28.29. repaint();30.31. serviceRepaints();32.33.34.35. frameCount++ ;36.37.38.39. //lock fps40.41. timeCount = MIN_DELAY - (System.currentTimeMillis() - startTime);42.43. timeCount = (timeCount<1)?1:timeCount ;44.45. try {46.47. Thread.sleep(timeCount);48.49. } catch (InterruptedException ex) {}50.51. }52.53. endMidlet() ;54.55.}看到我们的while循环了吗?除非在程序逻辑中设定exitMidlet为true -那是当玩家选择了退出游戏,我们的游戏将一直运行下去。
J2ME技术的手机应用软件开发技术 精品
基于J2ME技术的手机应用软件开发技术一、引言随着通讯技术的发展,手机越来越普及,现在的手机的数量已经远远的超过电脑的用户量,同时用户不再满足厂商固化在手机内的几个程序的功能,希望手机成为一个移动通信的终端,能下载程序并运行,实现各种只有在PC机上才能实现的功能。
手机游戏产业在全球已经占有很大的市场,随着无线互联网时代的来临,开发手机中的应用程序已成为一种时尚,市场潜力十分巨大。
二、常见的手机应用软件开发技术开发手机软件的技术有多种,常见的有以下几种:(1)WAP论坛创立的WAP (Wireless Application Protocol)技术。
(2)日本NTT Doo公司1999年2月推出的IMode技术。
(3)韩国市场使用较广GVM技术。
(4)北美的Qualm (高通)公司和中国联通共同推出的BREW (Binary Runtlme Environlnent for Wireless)技术。
(5)SUN公司推出了J2ME (Java 2 Platform Micro Edition,Java2微型版)技术。
其中J2ME一经推出。
得到了越来越多的厂商、开发人员和用户的支持,正迅速成为最为流行的手机应用软件开发技术。
J2ME开发平台与其他技术相比,具有以下特点:(1)平台无关性。
利用Java的“write once,run anywhere”特性,我们可以真正达到程序只要写一次,拿到任何平台上都可以执行(当然前提是必须要该手机厂商提供符合规格的Java Virtual Machine才行)。
(2)面向对象的编程技术。
支持面向对象的编程技术,提供丰富的类库,在CLDC/MIDP中提供了与网络相关API函数。
(3)安全性。
Java语言在原始设计上就将安全性的因考虑进去,由于Java语言不支持指针的使用,在Java程序内访问某一块内存的数据,不会因为下载了一个错误的Java应用程序而对设备或网络造成危害。
J2ME手机游戏开发技术与实践课程设计 (2)
J2ME手机游戏开发技术与实践课程设计一、课程设计目标本课程设计旨在培养学生对J2ME(Java 2 Mobile Edition)手机游戏开发技术的理解与实践能力,帮助学生了解J2ME游戏开发的基本理论和技术要点,掌握J2ME游戏开发所需的工具和平台环境,并能独立完成一个小型的J2ME手机游戏开发项目。
二、课程设计内容1. J2ME介绍本课程将首先介绍J2ME的基本概念和特点,分析其在手机游戏开发中的优势和不足。
2. J2ME游戏开发工具本课程将介绍J2ME游戏开发所需的工具和平台环境,包括Eclipse集成开发环境、J2ME Wireless Tool Kit、Java SDK、Java ME Platform SDK等,让学生熟练掌握J2ME游戏开发所需的开发工具和平台环境。
3. J2ME游戏开发基础本课程将讲解J2ME游戏开发的基础知识,包括如何创建一个J2ME游戏工程、如何实现游戏的图像显示、声音播放、触屏控制等功能的实现。
4. J2ME游戏实例分析本课程将分析一些经典的J2ME游戏实例,帮助学生理解J2ME游戏开发的实现方法和技巧,同时学生将根据这些实例进行一些小型游戏的开发。
5. J2ME游戏上线和营销课程最后将介绍移动设备游戏的上线和营销策略,包括如何通过各种渠道发布和推广自己的J2ME游戏,为学生未来从事移动游戏开发,为自己的游戏营销提供参考和指导。
三、课程设计任务完成一个小型的J2ME手机游戏开发项目,完成以下步骤:1.案例选取:根据个人兴趣选定一款适合J2ME平台的游戏作为本次课程设计的开发对象。
2.游戏设计:使用MindManager或其他思维导图工具,完成游戏设计文档(GDD),包括游戏说明、界面设计、关卡设计、声音和特效设计、游戏规则等内容。
3.开始开发:在Eclipse中创建一个新的J2ME工程,按照游戏设计文档中的设计实现游戏主体框架,并逐步实现游戏的各种功能。
4.测试调试:完成游戏基本功能开发后,需要进行测试和调试,确保游戏运行正常,没有不良后果和内存泄露等问题。
基于J2ME技术的手机网络游戏研究与开发
d cv o te rd v lp n fte sc n ay s s m.h e eo e ytm hc s c d d b a a h s a hg e gainI cn u ie t h e e eo me to h e o d r yt T e d v lp d sse w ih i o e y J v a ih rmirt . a e o t
摘
要: 探讨 了一种能将移动手机 网络 游戏管理平台和 内容相互分 离, 并在应用中根据 需要进行组合的通用移 动网络游戏 系统的
设计。手机 游戏开发基于 JME技 术基础 , 2 以牌 类游戏为 实例 , 采用 了 M C框架模式进行设计 , 高了系统的可维护性 , V 提 有利于 系 统 的- &开发 ; - 基于 Jv 的特性使 该系统具有较 高的可移植性 , aa 可在主流手机平 台中正常运行 , 减少移植成本。
关 键 词 : 机 游 戏 ; 架模 式 ;2 手 框 JME
D :0 7 8.sA 0— 3 1 0 8 2 2 文章编号:0 2 8 3(0 83 -0 60 文献标i  ̄: 中图分类号 :P 1. ;P 9. OI1. 7/sn 0 28 3 . 0 . . 2 3 j i 2 30 10- 3 12 0 )2- 7 - 3 0 - R A T 3 1 1T 3 3 9 1 0
i l me tt e man t a mo i l t r , n e u e t e c s o h g a in mp e n h i s e m b l p a o r e f m a d r d c h o t ft e mir t . o
Ke o d :m bl n to a e ; a e ok m d ; v coE io (2 ) y w rs oi e r gm sf m w r o eJ a 2 Mi d i JME e w k a r tn
基于J2ME手机游戏开发课程教学探析-精品文档
基于J2ME手机游戏开发课程教学探析本文通过分析手机游戏的发展趋势,根据高职院校开设的基于J2ME手机游戏开发课程,讨论了该课程的课程定位、教学模式、教学方法与手段、教学建议、考核方式和评价方法建议、教材编写建议等内容。
手机游戏课程定位教学模式教学方法与手段教学建议一、引言手机游戏作为2.75G和3G平台上的重要应用,从最近的2年来看,在国内的市场一直保持着高增长的趋势,从易观国际的分析数据来看,不难看出,手机游戏的市场将每年呈现翻倍增长的态势,也正因为如此,手机游戏被称为是继PC网络游戏后的下一个金矿,从而获得了广泛的关注。
国家非常重视游戏人才的培养,大力支持有条件的高校设立游戏专业,各高校也敏锐地洞观察到手机游戏产业未来的发展前景,适时地开设手机游戏的相关课程。
二、课程定位1.课程基本理念。
突出学生主体,注重学生的能力培养,尊重个体差异,注重过程评价,整合课程资源,改进教学方式,采用引导式教学,拓展学习的渠道。
2.课程设计思路。
坚持以培养学生的就业能力为导向,坚持以高职生源特点作为设计课程教学流程的依据,坚持以专业知识和职业技术应用能力、自主学习能力、创新能力以及综合职业能力培养为课程目标。
通过三个小项目(模拟手机写短信、打数字游戏、模拟电话本)先后讲解了J2ME开发环境、高级界面开发、异常处理、多线程、数值运算、字符串处理、时间管理、随机数、集合、定时器、画布开发、RMS编程等内容。
三、教学模式、教学方法与手段1.教学模式由于本课程的工程实践性强,属于职业技能课旨在培养学生动手实践能力,因此采用教、学、做一体化的方式进行授课。
将理论学习与项目实践紧密结合,为学生职业能力培养和职业素养养成起到坚强的支撑作用。
2.教学方法(1)课堂理论在教学中积极改进教学方法,结合学生学习规律和个性特点,从学生认知能力实际出发,强调以学生为主体,充分调动学生学习主动性、实践性。
课堂教学采用讲授、分析讨论、案例分析等多种教学方法相结合的方法。
J2ME手机编程心得
J2ME手机编程心得(一)自学J2ME也有一段时间了,总觉得应该把自己学习的心得与收获写出来,一直没有时间,不过不管有没有时间还是要抽出时间总结一下的了,一点点的写吧!a.开发工具想要做J2ME开发,当然需要选择合适的开发测试工具,这里我选择的是SUN的WTK2.2版本,开发的集成IDE采用JBuilder2005。
WTK2.2可以在SUN公司的网站下载(/j2me/index.jsp),JBuilder2005嘛,网上搜索一下也有很多破解版下载的地方(没办法,咱买不起正版)。
下载以后进行安装,安装过程十分简单这里也不过多描述。
还有如果是想要开发游戏之类的,可能还需要一些图形处理工具,图形处理工具可以选择Macromedia Fireworks 8.0,一般的图形处理都能顺利的完成。
如果是开发RPG游戏,可能还需要一个地图编辑器来制作地图,如果你有时间或者有精力完全可以自己开发一个合适的地图编辑器,不过为了免得麻烦,能在网上找到的资源还是利用一下吧,这里推荐一款开源的地图编辑器,"Tile Studio",使用起来还算比较方便,可以到/下载,具体的使用方法在以后的文章中再做具体描述,这里不多说。
b.开发环境配置安装完毕以后,接下来要做的就是配置开发环境,JBuilder2005本来是带了WTK2.1的,不过我们还是用2.2的版本好了,首先打开JBuilder2005,打开Project -> Default Project Properties窗口,如下图:再点击JDK边上的"..."按钮,打开选择JDK的窗口,如下图:然后点击"New..."按钮,打开配置JDK的窗口:这里是选择JDK的目录的地方,点击"..."按钮,会出现选择JDK的Home文件夹的窗口,选择你装WTK的位置,比如E:\WTK2.2,点击"确定",如果WTK装的没问题,Name for this JDK的文本框会自动变成"J2ME Wireless Toolkit 2.2",这就代表JBuilder已经自动找到了WTK2.2,然后点击"OK",就新添加了一个JDK,然后在上一步选择JDK的窗口选择"J2ME Wireless Toolkit 2.2",就完成了WTK2.2在JBuilder里面的配置过程。
基于J2ME的手机游戏开发
基于J2ME的手机游戏开发林 立(黑龙江信息技术职业学院 黑龙江 哈尔滨 150086)摘 要: J2ME(Java 2 Micro Edition)是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。
它定位在消费性电子产品的应用上,对设备的智能化、多样化,提供革命性的解决方案,并因其“Write Once,run anywhere”的Java特性而提高开发的效率。
随着手机的日益普及、Java功能在移动设备上的实现,Java应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。
着眼于J2ME技术的应用,开发一款手机游戏程序。
这里将介绍一个简单的图象化手机游戏“花皮猫大战流氓兔”的游戏框架的搭建。
关键词: J2ME;手机游戏;Java中图分类号:TP311 文献标识码:A 文章编号:1671-7597(2011)0610171-011 游戏的设计setCommandListener(this); // 侦听按键响应……将游戏定位为人机对弈类游戏,程序运行开始首先显示本游戏的封面public void commandAction(Command arg0, Displayable arg1) 画面,停留几秒后自动转入角色选择画面,在玩家选择某一角色后开始游{戏。
游戏开始时随机决定哪一方先行。
人机分别在3乘3大小的棋盘网格中 if (arg0 == List.SELECT_COMMAND){ 交替落子(双方棋子图案是有区别的),而且只允许在没有落过子的空网 // 检测是否为列表按键响应格中下子。
只要有一方所落棋子在横、竖、斜任何一方向上的总数达到三 // 检测用户选中的选项颗即获胜。
如棋盘被填满时双方均未在上述方向达到三颗棋子则该局为平 boolean isPlayerCat = getString(getSelectedIndex 局。
基于J2ME手机游戏设计与实现
现代计算机2011.010引言Java 2Micro Edition (J2ME )是一种针对移动电话和PDA 这样的小型设备的Java 语言。
J2ME 与台式机中的Java 相比还是有很大的限制,但是它已经极大地提高了移动电话支持游戏的能力。
本文介绍一款手机射击类游戏设计及实现,开发平台为Eclipse3.2.0+E -clipseME1.7.9+JDK1.5.0.9+Wireless Toolkit 2.5.2。
1游戏基本概念设计游戏基本概念设计从易操作性,视觉效果,游戏可玩性,中断事务处理等几个方面综合考虑。
无敌战车采用了J2ME 进行开发,并利用MIDP 2.0提供的支持游戏的API ,以获得更好的游戏的运行效果。
基本概念设计包括以下几个方面:(1)闪屏:进入游戏后3秒钟自动跳到下一界面,若玩家3秒内按键则提前跳转。
(2)背景音乐:进入游戏后背景音乐开启,退出或暂停时自动停止背景音乐。
(3)游戏背景:为了实现更生动背景效果,游戏背景能自动卷动。
(4)角色站位:为了提高游戏可玩性,对手的初始坐标会随机生成。
(5)自动识别炸弹或油箱:当战车与炸弹相碰撞,生命值减1,速度清0。
当战车与油箱相碰撞速度加1。
(6)子弹射击效果:子弹射出动画效果,与对方角色碰撞后子弹消失。
(7)战车的控制:战车能随着玩家控制方向键和控制键会出现相应动作效果。
(8)游戏过程中中断:游戏过程中可中断游戏,等中断事物处理完后可继续游戏。
2程序处理流程设计与架构设计游戏的设计流程如图1所示,进入游戏后会有闪屏显示作者以及游戏名称,玩家按任意键会进入主菜单显示,在主菜单玩家可根据需要选择相应菜单项。
图1游戏的设计流程图基于J2ME 手机游戏设计与实现陈鹏(广东机电职业技术学院,广州510515)关键词:手机游戏;J2ME;MIDP;MIDlet收稿日期:2010-12-22修稿日期:2011-01-07作者简介:陈鹏,女,硕士,工程师,研究方向为计算机应用在阐述手机游戏产业的发展现状的基础上,对基于J2ME 技术的2D 手机游戏的设计及实现进行研究。
基于J2ME的手机游戏的优化及开发技巧
1手机游戏优化的必要性
在 众多手 机游 戏开 发技术 中 ,J ME 由 2 于开发速度快 , 周期短 、支持手机 多 、 开发资 源丰富 等 优点 ,成 为 当今最 受欢 迎的 手机游 戏开 发平 台 。移动 设备 的 各方面 资源 都是 很 有限的 ,手机 也是如此 。JME的设计充分 考 2 虑 了 目 设备 的这 一特点 : J S 标 从 2 E中去掉 了 很 多没 用的 AP s I}重新设 计 了新 的虚拟 机 } 采用 了新 的垃圾收集算 法等 。 虽然 如此 , 于 对 资 源受 限设 备来说 ,哪怕 很小 的一 点优化 都 会对 程序 的流畅运 作起 明显的作 用 。 通 常 ,在 很 多技巧 和 动作 类游 戏 中包含 了大量 的视频 操 作 ,因此 要求 刷新 频率至 少 为 1fs帧每 秒) 0p ( ,并 且要有 足够的动感 能够 激 起玩 家的 挑战 欲 ,这 些游戏 要求玩 家 要有 快 速的 反应 能 力并 且 眼 明手快 ,所 以那 些著 名 的动 作类 游戏 通常 都具 有很 高的刷 新率 并 且 要快 速相 应按 键 ,因此 实时 游戏 的代码 的 运 行速 度必须快 , JME开发 中,这个难度 在 2 就 更大 , 所以分 析手机游戏 中 JME设备的特 2 点如下 : 有限的输 入能 力 ;较 小的显示 屏幕 ; 受 限制 的 内存和 堆 大 小 ;缓 慢 的 CPU 。 因此 ,基 于 J M E的手机 游戏有 必要进 2 行充分 的优化 ,来填补以 上的受 限制 的因素 。
a r3 】 r [ =3}
代 码 在 无 意 识 中的 增 加 量 是 不 容忽 视 的 。 可 优 化 的 办 法 是 把 数 据 编 码 到 一 个 S rn t i g里 面 ,运 行 时解码 到数 组 。 ( )ti 7 S ng的 最佳 化 。通 常 我们 都用 r Sr g 处理 字符 串。 时在很多时候 我们也 tn 来 i 其 可以用 S r g u e 来做 相同的 工作 ,而且 , ti B f r n 用S f g u f 能比用 Sr g 少大 约一半的 tn B f r i e tn 减 i 内存 占用 。 这是 因为S r g ̄ S r g u e 多 ti L t n B f r n i
基于J2ME的Java手机游戏开发技巧
46 •电子技术与软件工程 Electronic Technology & Software Engineering软件开发• Software Development【关键词】J2ME Java 手机游戏 开发技巧现阶段,智能手机已经得到广泛应用,Java 功能在移动设备中的应用,对手机增值服务产生较大影响,使人们对信息获取方式更加便捷,日常生活变得更加丰富。
在Java 技术的基础上J2ME 诞生,主要应用在消费性电子产品当中,如手机、PDA 应用等,目前J2ME 技术的使用已经成为一种潮流,为移动游戏设计与开发提供了新思路。
1 J2ME概述1.1 简介J2ME 技术是一种以消费性产品为目标的、高度优化的Java 运行环境,其中包括移动电话、寻呼机、可视电话、汽车导航系统等等。
Java 作为计算机编程语言的一种,J2ME 属于其中十分重要的组成部分,在手机、PDA 中得到广泛应用。
同时,Java 作为开放平台,能够使更多开发商在其基础上进行各项功能的设计与开发,手机用户也可利用该技术体验到更多动态、个性化的增值服务。
与Java 相比,J2ME 在移动电话支持游戏能力上具有较大优势,与WAP 、SMS 相比来看控制力更强,并且能够借助无线网络与服务器远程连接,Java 手机的普及为J2ME 开创了更大的应用空间,使其在当前移动游戏开发中得到广泛应用。
1.2 总体架构J2ME 的运行环境为CDC 与MIDP ,对于完整的JRE 来说,J2ME 主要包括CLDC 与MIDP 两个方面,其中,CDC 能够对JVM 起到决定性作用,而MIDP 的主要作用在于通过加入特定域的类对应用程序进行定义。
CDC 能够在运行环境进行重新定义,使其成为一组核心类与特定类型设备中的JVM 。
虽然在基于J2ME 的Java 手机游戏开发技巧文/任灏榕J2ME 中,一般将虚拟机看作为JVM 的最终,但是其与KVM 、CVM 均属于JVM 的子集。
J2ME游戏开发的高级优化技巧
J2ME游戏开发的高级优化技巧本文将讲述代码优化对于编写高效的手机游戏的重要性。
我将使用例子来为大家讲述何时使用何种方法来优化你的代码,使得我们的程序尽可能的挖掘MIDP在手机中所剩无几的表现力。
我们将会看到如何使用J2ME Wireless Toolkit的Profiler功能来找出优化代码的位置,最后我会给出编写J2ME程序的忠告。
为什么要优化?游戏能够被划分为两种较广泛的类型:实时型和按键驱动型。
按键驱动类型的游戏一般在屏幕上显示游戏目前所处的状态,并且等待玩家输入某些按键来驱动游戏继续运行。
棋牌类游戏,大部分的解谜类游戏以及策略类和文字类游戏都属于这类游戏。
而实时游戏,特别是动作游戏不会等待玩家的输入,他们一直运行直到游戏的结束。
动作类游戏一个重要的特征就是将大量的运算花在屏幕显示上,而且刷新率(FPS)必须保持在10以上。
这类游戏还必须要有大量的动作来使得游戏具有更高的挑战性。
这类游戏需要玩家有快速的反应和很好的手眼协调能力,所以这类游戏对键盘输入的反应也有极高的要求。
为使得程序在高速运行时能对键盘做出及时的反应,图像能以高速的FPS来运行,我们就必须优化我们的代码,以使得我们的程序能以最快的速度运行。
J2ME是一个精简的Java版本,适合只有有限容量的小型设备,例如手机和PDA,J2ME 设备有:◆有限的输入能力◆屏幕尺寸很小◆受限的内存及堆大小◆很慢的CPU这些特点使得在J2ME平台上编写快速的游戏并不是件易事。
相对于电脑游戏来说,编写J2ME平台上的游戏会对程序有更高的要求和更进一步的挑战。
何时不用优化?如果你编写的游戏不时动作游戏,有可能不必去优化。
假如玩家需要几秒钟甚至几分钟去思考他下一步怎样走,那他将不会注意到你的游戏的按键响应超过几百毫秒。
不过一个例外是如果你的程序需要大量的运算去决定它下一步怎样走,例如棋类游戏需要在几百万种组合中去寻找。
假如这样的话,你有可能想要优化你的代码以使得电脑仅需要几秒钟而不是几分钟去决定他下一步的动向。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘 要 :为了最 大限 度地 优化 手 机代 码 ,实现 较 高的可 移植 性 ,提 高游 戏可 玩性 及稳 定性 ,对画面 质量 反 复改 进 显得十 分重 要 。 本文主要 从实践 中摸索 出手机游戏性 能如何进 一步优化并给 出了提高游 戏性能和 可玩性 的一些技 巧。 关键词 :J ME 手机游戏 性能 优化 2 中 图分类号 :TP 1 1 3 文 献标 识 码 :A 文章编号 :17 — 5 42 0 )2b 一 0 2 0 6 3 0 3 (0 70 () 0 1 - 2
1手机游戏优化的必要性
在众 多手机 游戏 开发技 术 中 ,J ME 由 2 于 开发速度快 ,周期短 、 支持 手机 多、开发 资 源丰 富 等优 点 ,成 为 当今 最受欢 迎 的手机 游 戏 开发平 台 。移动 设备的 各方 面资源 都是 很 有限 的 , 手机 也是如此 。JME的设计充分 考 2 虑 了 目标 设备的这 一特点 : J S 从 2 E中去掉 了 很 多没用 的 A I ;重新 设计 了新 的虚拟 机 ; Ps 采 用了新的垃圾 收集算法等 。 虽然如此 , 对于 资源 受限 设备 来说 ,哪怕 很小 的一 点优化 都
g t ih )及 g t i h )取得 当前手 e Wa t ( e Heg t( 机屏幕 的 宽度和 高度 ,如要 当前 图片 不够满 屏显示 时就 对 图片进行 放大 ,相反就 进行缩 小 ,也 可 自定 义屏幕 显示 图片 的大小 ,如在 屏幕上 显示 多张 图片的缩 略 图 ,使 图片方式 的 显示 更 加 丰 富 。 灵活使 用 J ME的 图形 处理技 术 ,可以 2 优化 手机游 戏 图形显示 ,减 少游 戏 对手机 资 源 的 占用 等,降 低 了手机 游 戏对手机 硬件 配 置的 要 求 ;既丰 富 了手 机 游戏 的 图像效 果 , 又增 加 了手机 游 戏 的可移 植 。 32 使用 双缓 冲技术避 免屏 幕闪烁 . 双缓 冲技 术是 计算 机动 画的一项 传统 技 术 。通过双缓 冲 处理后 ,显示 效果 的优化 是 用Sr g ufr ti B f 能比用Sr g n e t n 减少大约一半 的 很 明 显 的 ,实 现 代 码 如 下 : i I a ei gs m g ma e[ 】 内存 占用 。 这是 因为S r g k tig u f 多 t n  ̄ Sr B f r i n e Gr phis a c g 考 虑 了一些 安 全方 面的 问 题 。 () 8 反复频繁 的操 作是性 能 的一 个瓶颈 。 v i l a NCi g ( { od o dP ma e ) 在这 上面下功夫非 常值得。 比如 : 某个循环一 次操 作只需耗费 1m , 果不注意 , 0 s如 让它耗 费 fr( t 0 i I: 3 I 0 ;I++{ n ; <1 0 i g sI= I g .c e t I g ( , ma e [ 】 ma e r a ema e 1 了 2 ms 0 。再假设这 个循环很频 繁 ,占软件运 1 ; / 建立缓 冲对 象 ) / g=i gsI,g t a hc ( ; ma e[ 】 eGrp i ) s /将缓 冲对象的 G a h c 附给 g rp i s
激 起玩家 的挑 战欲 ,这些 游戏 要求玩 家要 有 快速 的 反应能 力并且 眼 明手快 ,所以 那些 著 名 的动作 类游 戏通 常都具 有很高 的刷 新率 并 且要 快速 相应 按键 ,因此 实时游 戏的 代码 的 运行速 度必须快 , JME 发中 , 在 2 开 这个难 度 就更 大 , 所以分 析手机游戏 中 JME 2 设备 的特
维普资讯
Q:
Sci enc an Tech e d nol ogy Con suli g Her d tn al
弋 枝 朱
基于 J ME的手机游戏的优化 及开发 技巧 2
余海冰 麦晓冬 ( 东轻工职业技术学 院学生处 5 3 0 广 0) 1 0
积 少成多 , 总的效 果还 是有的 , 特别是在多个 类 中使用时 ,效果就 比较 明显了 。 () 6 关于数组 的初始化 。这样 的数组初始 化 代码 :itar= 0 1 2 } n r口 { , , ,3 当编译 完以 后 ,实际 的效果 就和 以下 代 码 一样 : a rO = ; r [ 】 ; r [ 】 2 r [ ] O a r 1=1 a r2 = ; a r3= ; r[] 3 代 码在 无 意 识 中 的 增加 量 是 不 容 忽 视 的 。 可 优 化 的 办 法 是 把 数 据 编 码 到 一 个 S rn t i g里 面 ,运 行时 解码 到数 组 。 会对程序 的流畅运 作起明显 的作用 。 ()ti 7 S ng的 最佳 化 。通 常我 们都 用 r 通常 ,在很 多技 巧和 动作 类游戏 中包 含 Sr g t n 来处理字符 串。 i 其时 在很多时候我 们也 了大量 的视频 操作 ,因此 要求 刷新频 率至 少 t n B f 来做相 同的工作 ,而且 , i e 为 1fs帧每秒 ) Op( ,并且要 有足够的动 感能够 可以用 S r g ufr
点 如下 : 限的输 入能 力 ; 小的显 示屏幕 ; 有 较 行总时间的 3%, 0 那么 , 这样就 会在不经意 间 受 限制 的 内存 和堆 大小 ;缓 慢 的 CPU 。 因此 ,基于 J ME的 手机游 戏有 必要进 严 重降低 了总 体速 度 。所 以解决 方案 首先 就 2 行充 分的优化 ,来填 补以上 的受限制的 因素。 是去 查软件 的性能瓶颈 ,再对症 下药 。 而内存 的控 制除 了对 代码进 行 最大限 度 的优化 外 ,还 有下面 几个 传统 合理使 用 内存 2通过 代码和 内存进行优 化 由于 代码 的优化 和 内存控制 有 很 多交 叉 的方 法 : 减少 对象 的 创建 ,最好 能 重用 对 象 ;最大 程度 保证 图片 质量的 同时减 少 图片 点 ,因 此 于 代码 的 优 化 有 以 下 几 点 经 验 性 建 大小 ;不要试 图在初始化 的时候把 所有 F r 或者 C n a 对象 都读入内存 中 , a vs 而应该在需 议 : () 1最大 程度地使 用 J ME自带的 API。 要 的时候 再创建 ;对 象一旦 不需 要使 用就及 2 s ul ,便 能够被垃圾处 理器 回收 , () 2 着眼于应 用程序定 义的 内部类 ,特 别 时将 其置为 n l 是 匿名 类。每 一个类 文件 部有一 定 的空 间开 对 于不使 用的 对象 ,千万 不要让 正在 使用 的