j2me移植到Android(Ophone)游戏-文档0
J2ME技术在手机游戏的发展分析毕业论文
J2ME技术在手机游戏的发展分析毕业论文目录摘要....................... 错误!未定义书签。
Abstract ..................... 错误!未定义书签。
第1章绪论 (1)第2章 J2ME技术概览 (2)2.1 J2ME的概念 (2)2.2 J2ME简介 (2)2.2.1 J2ME架构 (3)2.2.2 JVM ( 虚拟机 ) (3)2.2.3 MIDP(移动信息设备简表) (4)2.3 手机游戏的发展 (5)2.3.1 目前国内的发展情况 (5)2.3.2 目前国际的发展情况 (6)第3章游戏设计的需求分析 (9)3.1 MIDP中的游戏API (9)3.2 游戏类构成 (9)3.2.1 Boxer类的实现 (10)3.2.2 GameCanvas类的功能及特点 (10)3.2.3 Sprite类的功能及特点 (11)3.3游戏角色的处理 (11)3.4 游戏中的事件处理 (12)3.4.1 key Pressed方法 (12)3.4.2 key Released方法 (13)第4章“Pocket Boxing”手机游戏开发制作 .. 144.1 游戏编程 (14)4.2 格斗类手机游戏实例 (14)4.2.1 “Pocket Boxing”游戏背景介绍及开发环境 (14)4.2.2 MIDlet的构成 (15)4.2.3 MIDlet的生命周期 (16)4.2.4 MIDlet的画面显示基础 (16)4.2.5 游戏项目的创建 (18)4.2.6 命令种类及命令处理 (19)4.2.7 游戏中的描绘处理 (21)4.2.8 游戏状态的类变量 (23)4.2.9 按键事件的处理 (24)4.2.10 设计存在的难点 (25)第5章手机游戏开发过程中的困难 (26)5.1 手机游戏开发存在的困难 (26)5.1.1 移动开发存在的问题 (27)5.1.2 操作环境不兼容性问题 (27)5.1.3 显示速度方面的问题 (28)5.1.4 不同的屏幕尺寸问题 (28)5.1.5 输入问题 (28)5.2 解决方案 (29)第6章 J2ME手机游戏前景展望 (31)6.1 J2ME手机游戏的优势 (31)6.2 J2ME手机游戏的开发意义 (32)第7章结论 (35)致谢 (36)参考文献 (37)英文资料翻译 (38)第1章绪论手机是人们日常生活中所用的非常频繁的通信工具,虽然现在其费用比有线电话高,但是其随时随地的沟通优势,使人们摆脱了线路的束缚。
Android移植注意事项
本文章的移植不是移植到硬件平台而是移植软件项目。
很多J2ME项目如何移植到Android平台呢?Java虽然号称是跨平台应用但是目前的移植问题还是比较严重的,不知道未来Sun推出JavaFx或F3时会出现什么问题,如何从J2ME移植到Android平台上呢?下面Android手机网做简单的分析。
1.图形显示J2ME平台虚拟机为Sun Midlet和Android Dalvik在显示方面有极大的不同,这给游戏带来了极大的困难,很多过去使用的精灵类等等在Android中不存在,同时Android中又出现了很多新的东西,在显示方面会有很大的出入。
2.数据存储在J2ME中RMS这样的系统可以方便的存储些数据,但Android并没有它,但新增了一个更强大的SQLite,可以执行SQL语言,但还是比较轻量级,不支持存储过程等。
这一点相信很多公司都有自己的数据定义格式,比如更通用的XML,在Android中有DOM XML解析器。
3.文件网络在Android中没有多大的变化和J2ME一样,用户可以直接调用J2ME中的I/O接口完成相应的工作,这一点还比较满意,未来的情况会是什么样子的,目前还不好说,因为Android又新增了一个网络传输类,可以看出正在开发中,目前最新的M5 SDK中还不是很完善。
4.媒体影音这一点Android比J2ME强大的多,支持的解码器也多的多,兼容MPEG4, AAC, H.264, MP3, AMR, PNG, JPG, GIF基于OpenCORE引擎,这一点可以看出开源的东西利用的很到位。
5.SDK模拟器在SDK文档上Android就不如JME易读了,这一点倒是微软MSDN写的很好,每个参数等等写的清晰易读,同时Google的文档和IE7显示不兼容,用的不是CHM文件而是HTML也是为了Linux和Mac OS 考虑。
而模拟器上J2ME为Sun通用的WTK或各手机公司的,而Android则采用开源Linux模拟器Qemu,比较放心。
基于J2ME的向手机移植游戏软件方法及其实现
第26卷第11期 计算机应用与软件Vol 126No .112009年11月 Computer App licati ons and Soft w are Nov .2009基于J2M E 的向手机移植游戏软件方法及其实现余秋冬 徐 辉(天津农学院计算机科学与技术系 天津300384)收稿日期:2009-03-30。
余秋冬,讲师,主研领域:数据库,数据挖掘。
摘 要 Java 语言面向对象的优势使得开发游戏变得非常容易。
作为I T 产业的剩余部分,游戏行业中最新的热点就是可移动性。
程序的界面和运作方式继承于传统的PC 游戏,使用J2M E 技术将PC 游戏泡泡龙移植到手机上来。
着重介绍了J2M E 的相关技术及本程序的结构分析、定义画面及跳转算法的细节实现。
关键词 J2ME 手机游戏 Java 泡泡龙J2M E 2BASED APPROACH FO R TRANSPLANT I NG GAM E S O FT W ARE TOMO B I L E PHO NE AND I TS I M PL E M ENTAT I O NYu Q iudong Xu Hui(D epart m ent of Co m puter Science and Technology,Tianjin Agriculture U niversity,Tianjin 300384,China )Abstract The object 2oriented advantage of Java makes it very easy t o devel op ga mes .A s the re maining part in I T industry,the latest hots 2pot in ga me industry is the mobility .The app licati on reported in the paper inherits the interface and operating manner of traditi onal PC ga me and trans p lants the popular PC ga me Bubble Shooter t o mobile phone using J2ME .The paper f ocuses on the intr oducti on of J2M E and its rela 2tive technol ogy as well as the p r ogra m ’s structure analysis,and the detailed i m p le mentati on of i m ages defining and ju mp algorithm.Keywords J2M E Mobile ga me Java Bubble shooter0 引 言随着3G 时代的到来,手机游戏市场再度成为业界关注的焦点。
J2MEJ2ME开发手机游戏-精选文档
游戏三要素
Logic Data Display
J2ME手机游戏知识准备
• 程序入口 J2ME J2SE C++
display
• 需求&&供给 Canvas(画布)Graphics(画笔) Display(显示器) • 常用的函数 getWidth();getHeight();
游戏通用架构
•游戏逻辑 决定行为
蓄势待发
知识准备阶段
Target J2ME开发手机游戏
你所需要的唯一IDENETBEANSFra bibliotek预期成果
1.Helloworld(0秒钟开发 helloworld)
2.手机现原形 3.载入图片(拖拉打1min) 4. 画“囧” 5.天外飞仙(UFO)1.0
J2ME
JAVA 2 Micro Edition 可以简单方便地开发手机软件
实战操演
It ‘s show time now!
开发步骤
• • • • • 1.搭建架构 2.明确接口 3.实现逻辑 4.运行 5.生成
• 创建图像类,是用Image类里面的静态方法 createImage(),而不是用new操作符。 • 画笔的设置,包括颜色字体等
Good news
前面演示代码在官方博客提供下载 cns/SCUTMSC/ 在里面还有手机软件设计大赛&&手机主题设 计大赛。 欢迎参与到大赛的潮流中来
鸣谢
• 手机软件俱乐部 • 广大的听众 • 华南理工大学计算机 科学与工程学院团委、 学生会
logic
data
•游戏数据 决定状态
•游戏画笔 决定显示
Draw and display
具体到J2ME
J2me游戏移植Android平台的研究与实现
vs a 提供 了使得游戏循环体紧凑 的绘画输人方法 ; 图 层 的架构使得 创建 的场 景成 为可能 ;i dae从 源 Tl Lyr e 图像簇 的调色 盘中组合 了一 个大 背景 或场景 ;p t S re i 适合 于动画人 物 ,并能检测 到在 游戏 中与其他对 象 的碰撞 ;aeMaae 则把 所有的图层粘合在一起 。 L yr n gr A do n r d平 台简介 : n ri i A dod是一 种基 于 Ln ] i 【 u@ V. 26内核 的综合操 作环境 。A do nri d以 Jv 为 编程 aa 语 言 ,从 接 口到功能 ,都有层 出不穷 的变化 ,其 中 A ti cvy等 同 于 JME的 MIl ,一 个 A ti it 2 De t cvy类 it (l s负责创建视窗 (idw)一 个活动 中的 A f一 c s) a wno , cv i i 就是在 fer n ( l v o g ud前景) r o 模式 , 背景运行的程序叫 做 Sri 。两 者 之 间 通 过 由 Sri Cnetn和 e c ve ev e onco c i AD IL连结 , 到复数程序 同时运行 的效果 。如 果运 达
行 中的 A t i c v y全部 画面被其 他 A t i it c v y取代时 , it 该 A ti c v y便被停止 (t p d , 至被 系统清除 (i ) it s p e )甚 o k 1。 l Ve i w等 同于 JME的 Dsl al,程序 人员 可 2 i a be py 以通过 Ve i w类 与 “ MLl ot档将 U 放置在 视 窗 X yu” a I 上 ,nri 1 的版本 可以利用 Ve A do . d 5 i w打造 出所谓 的 Wi e , d t 其实 Wi e只是 Ve gs dt g iw的一种 , 以可 以使 所 用xl m 来设计 l otH C的 A do eo a u,T y n ri H r 手机 即含 d 有大量的 wde。 于 Ve Gop是各种 l ot igt至 i ru w a u 的基 y 础抽象类 (bt c cas , i G u 之 内还可 以有 as at l )Ve m p r s w Ve G op i i ru 。Ve w w的构造 函数不需要在 A t i cv y中调 it 用, 但是 Dslyb i aal p e的是 必须的 , A ti 在 cvy中 , it 要通 过 f d i B I0 i Ve yd 来从 X n w ML中取得 Ve , nri i A do w d的 Ve i w类 的 显 示 很 大 程 度 上 是 从 X ML中 读 取 的 。 V e 与事 件 (v n) iw e e t息息 相 关 , 者 之 间通 过 Ls 两 i — tn r结 合在 一 起 ,每 一 个 V e ee iw都可 以注册 一 个 eetltnr vn i ee,例 如 : 当 V e 要 处 理 用 户 触 碰 s iw (oc ) tu h 的事 件 时 , 就要 向 A dod框 架注 册 Ve . n ri iw
移植JME游戏Android平台
移植JME游戏Android平台————————————————————————————————作者:————————————————————————————————日期:2i移植J2ME 游戏到Android 平台版本: 0.1 日期:4/21/2011ii 作者:陈旭iii Revision HistoryVersion NumberDateAuthorChanges Made0.1 4/21/11陈旭 草稿i Table of ContentsRevision History .......................................................................... i ii Table of Contents ......................................................................... i 1. Project Scope ......................................................................... 1 1.1. Project Objectives and Deliverables ........................................................................ 1 1.2. Strategy .................................................................................................................... 1 1.3. Constraints ............................................................................................................... 2 1.4. Project Lifecycle ...................................................................................................... 2 2. Training Plan .......................................................................... 2 3. Porting Java ME to run on Android platform .................................... 3 3.1. 原理......................................................................................................................... 3 3.2. 移植J2ME 游戏到Android 平台 .......................................................................... 4 3.3. 测试....................................................................................................................... 11 3.4. 修改BUG 和维护 (11)1 1. Project ScopeThe project scope includes the necessary work to complete the project successfully, including a definition of what is and is not being performed.本项目主要是将已有的J2ME 游戏移植到Android 平台,并封装J2ME API 的Android 实现,并产生一套移植规范来指导单机部的J2ME 游戏移植到Android 平台,方便开发人员快读推出J2ME 游戏的Android 版本产品,以后公司的J2ME 程序都可遵循此规范来移植到Android 平台。
基于J2ME的手机网络游戏的设计与实现
基于 J 2 ME的 手机 网络 游 戏 的设 计 与 实现
刘 超 , 任利峰※
( 吉林 农业 科 技 学 院 电气 与 信 息 工 程 学 院 , 吉林 1 3 2 1 0 1 )
摘 要 : 在科技迅猛发展的今天 , 伴 随 着信 息技 术 和 通信 技 术 不 断 革新 的 同 时 , 智 能 手 机 的 普 及 也 使 手 机 硬 件 及 软 件
c o mmu n i c a t i o n s i s mo r e o f a g a me a n d e n t e ta r i n me n t v a l u e . We c a n u s e mo b i l e p h o n e s i n t h e mo b i l e p h o n e
ha r d wa r e a n d s o f t wa r e f un c t i o n i s i n c r e a s i n g l y g r o wi n g .To d a y S s ma t r p h o n e s f u n c t i o n b e s i d e s e mb o d i e d i n
功 能 日益 发展 壮 大 。 现 在 的 智 能 手机 功 能 除 了体 现 在 通信 方 面外 更 多的 是 游 戏 和娱 乐方 面的 价 值 。 在 手机 游 戏 中我 们 可 以 利 用手 机 自带 的蓝 牙无 线传 输 功 能进 行 游 戏 联 机 对 战 . 这 样会 更加 稳 定 方便 。 本 文 以 斗地 主 游 戏 为研 究 对 象 , 结合 J 2 ME
基J2ME平台的移动智能游戏的开发
D OU Ya lng ni
( o eeo Si c n eh o g , hn o gUnvrt f r ioa Ch ee e c ,ia ,5 3 5 C ia C l g f c nea dT cn l y Sa d n ie i o Ta t nl i s M d meJ n 2 0 5 , hn ) l e o sy di n i n A src: M oi tl etg f ¥ eo o ua o o f. nti pp r a tl etg t a do h 2 bt t a bl i ei n ' e b cmep p l i c- n le I hs ae, n i ei n 'l bs nte ME e n lg  ̄ i rn i n lg  ̄e e J
而 提 高 了 开 发 效 率 , 得 它 成 为 了 移 动 智 能 游 戏 开 发 的 首选 。 使 目 前智 能 游 戏 几 乎 是 每 款 手 机 必 带 的娱 乐休 闲 软 件 , 如
俄罗斯方 块、 箱 子等 。 存在游戏 功能较 为单一等 问题 。 推 但 采 用 流 行 的 JME手 机 应 用 开 发 平 台 , 计 一 款 以 < 楼 梦 》 2 设 红 及 其 它 名 著 如 《 游记 》 《 国 演 义 》 题材 的 智 能 游 戏 。 西 、三 为 不仅 实
思路 , 为迷 宫 游 戏 增加 锻 炼 用 户 记 忆 力 的 功 能 , 而 增 添 了新 从
的乐 趣 。并 将 迷 宫 游 戏 、 图 游 戏 、 片 欣 赏 等 多 个 功 能 合 为 拼 图
一
体 , 节省了游 戏所占内存 , 增添 了全方位 的游戏享受 , 既 又
javaEE-如何将J2ME API移植到OPhone
如何将J2ME API移植到OPhone我们将讨论一下如何将J2ME API移植到OPhone,希望本文能对大家有所帮助。
对于Android的红火,以及Windows Mobile的跟进,移动OPhone看起来还像是别人的技术。
不过如何将J2ME API移植到OPhone,本文就谈论这些。
中国拥有世界最庞大的电信客户群,仅移动用户就达4亿,3G在中国有最大的市场做后盾,无论现在的市场发展如何的困难,3G费用的降低是大势所趋,不久的将来,必然形成巨大的3G浪潮,3G手机会如雨后春笋一般,充满祖国大地,如今各大移动通信运营商和移动终端开发商都看到广大的前景,在为3G做最后的准备。
最近作为中国移动业务最大的运营商中国移动公司推出了自己的开发平台:OPhone OS系统。
OPhone OS采用linux2.6内核,兼容Android应用。
OPhone是中国移动在这次3G浪潮来临前打造的主力航空母舰,与中移动无线业务平台的对接,OPhone将承载大量3G业务应用。
大量的软件开发企业将会把新的阵地放到移动平台上来,软件如:手机电视、炒股、网游,企业应用MIS,移动办公,都将会是移动设备发展的热点,这样也就需要大量的开发人员,由于手机开发人员稀少,收入比一般pc开发人员会更高。
由于现在中国移动的大力推广,如果企业和创业者依托mmarket也会有不错的前景,OPhone作为中国移动大力推广的战略平台潜力巨大。
Android移植除了硬件外最重要的是Java平台之间的移植,目前市面上Java VM主要使用的是Sun公司的Java Micro Edition。
而Google Android平台采用的是自己开发的Dalvik。
如何从过去J2ME移植到谷歌手机平台呢?虽然是不同的开发环境,但是所要实现的功能都是相近的,因此从功能的角度可以很好的理解OPHONE OS 平台和J2ME平台之间的联系和区别。
总结一下,可以发现从以下四个方面可以很好的理解两个平台之间移植。
如何把J2ME游戏移植到Android平台
coverSound.stop();
coverSound.release();
15 中断处理
J2me:
Android:
public void onWindowFocusChanged(boolean visibility)
16 填充屏幕
J2me:
Display display = windowManager.getDefaultDisplay();
4 画布类
J2me:
Canvas
Android:
继承View类,定义构造方法:
public MyView(Context context)
{
super(context);
}
5 屏幕绘制方法
J2me:
Paint(Graphics)
Android:
void onDraw(Canvas g)
6 Graphics
J2me:
Android:
7 Image的创建
J2me:
Image.createImage(path);
5. 代码细节比较
l 全屏设置
J2me:
在Canvas类中调用SetFullScreenMode(Boolean)
Android:
在Activity类中调用
//设定全屏显示
getWindow().setFlags(youtParams.FLAG_FULLSCREEN,
int degree=0;
Bitmap resizedBitmap=null;
int data[];
int buf;
基于J2ME手机游戏设计(含源文件)
1 绪论1.1 手机软件现状在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。
但是传统手机存在以下弊端:1. 传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。
2. 传统手机访问互联网是通过WAP(Wireless Application Protocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。
而Java技术在无线应用方面的优势非常明显:1. 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。
2. Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面(GUI);3. Java技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。
基于以上分析,Java手机将是未来手机的发展方向,是业界的热点。
1.2 J2ME介绍虽然 Java 已经被用到许多企业级软体上,可是其实骨子里面还是非常适合用在嵌入式系统之中。
Java平台演进到Java2后,Java平台分别针对不同领域的需求被分成四个版本,亦即J2EE、J2SE、J2ME以及JavaCard。
其中J2ME定位在消费性电子产品的应用上。
这个版本针对资源有限的电子消费产品的需求精简核心类库,并提供了模块化的架构让不同类型产品能够随时增加支持的能力。
这个版本的应用层面相当广泛,会是未来Java平台发展的重点项目。
J2ME在1999年的JavaOne开发人员大会上初次亮相,它的目标是面向智能无线设备和小型计算机设备的开发人员。
J2ME的一个关键优点是,J2ME与所有支持Java的设备都是兼容的。
支持Java的设备就是任何运行Java虚拟机器的计算机。
Motorola、Nokia等生产厂商都生产支持Java的设备。
面向移动通信设备的J2ME移植、优化和应用研究的开题报告
面向移动通信设备的J2ME移植、优化和应用研究的开题报告一、选题背景随着移动通信技术不断发展,移动通信设备成为人们生活和工作中必不可少的工具。
同时,随着智能手机和平板电脑的普及,用户对移动应用的需求也越来越多样化和高端化。
J2ME(Java 2 Micro Edition)是一种专门针对于嵌入式设备的Java技术,主要用于移动设备上的应用程序的开发。
在这样的背景下,J2ME移植、优化和应用研究成为一个值得开展深入研究的课题。
二、研究内容1. J2ME的基本概念和技术原理:J2ME的特点、体系结构、MIDP (Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration)规范等方面做出详细的介绍和分析。
2. J2ME移植技术研究:主要针对于不同平台和不同设备的J2ME应用进行移植,以解决兼容性、性能和代码重复的问题。
涉及到的技术包括JNI(Java Native Interface)、J2ME虚拟机的开发、类库的适配和扩展等。
3. J2ME性能优化的研究:主要针对于J2ME应用程序的启动速度、运行速度、内存占用等方面进行优化,以提高用户的体验感和使用效率。
研究内容包括代码优化、资源管理、UI设计等方面。
4. J2ME应用的开发和实践:根据实际的需求和场景,开发出一些具有实际意义的J2ME应用程序。
如游戏、社交、教育、地图、天气等应用。
并对这些应用进行测试和评估,以检验前面研究成果的可行性和实用性。
三、研究意义1. 推广J2ME技术:通过本项目的研究和实践,能够更加全面的了解和掌握J2ME技术,推广J2ME技术的广泛应用和发展。
2. 提高用户体验:针对于J2ME应用程序的移植和优化,可以提高用户的使用体验,并降低用户的使用成本。
3. 市场优势:J2ME应用程序在市场上占据着重要的地位,通过本项目的实践,可以开发出更加完善的J2ME应用程序,增加市场竞争优势。
J2me游戏移植Android平台的研究与实现
J2me游戏移植Android平台的研究与实现关丽霞【期刊名称】《清远职业技术学院学报》【年(卷),期】2012(005)003【摘要】With the rapid development of the Android system,many existing J2ME games of game companies need to be transplanted to the Android platform,so as to increase the product life cycle or to attract new game players.This article,by studying the differences and common ground when developing the J2me and Android,has come up with a solution which can quickly move the games from J2me platform to Android platform.The author also simulated the entire transplant process on Android platform and used the J2me API interface to develop Androio game.%随着Android 系统的快速发展,很多游戏公司已有的J2ME游戏需进行对Android平台的移植,以增加游戏生命周期和拓展新玩家。
本文通过研究J2me与Android开发时的异同点,提出了一种如何将基于J2me平台所开发出来的游戏快速地移至Android平台的解决方案,并在Android平台上模拟实现整个移植过程,用J2meAPI游戏开发常用的接口来开发Android游戏。
【总页数】4页(P30-33)【作者】关丽霞【作者单位】清远职业技术学院信息科技系,广东清远511510【正文语种】中文【中图分类】TP311.52【相关文献】1.将Android平台的RIL层移植到基于LINUX的通用平台的研究与实现 [J], 赵国强;彭大芹2.基于J2ME的向手机移植游戏软件方法及其实现 [J], 余秋冬;徐辉3.基于J2ME的手机游戏开发研究与实现 [J], 王明辉;杨春金4.基于J2ME平台的手机游戏移植方法探讨 [J], 董家苏5.基于J2ME的通用游戏框架设计的研究与实现 [J], 陈勇;巫宗宾因版权原因,仅展示原文概要,查看原文内容请购买。
Android游戏移植
Android游戏移植J2ME游戏移植到Android思路:在手机游戏中程序要处理的主要有游戏界面(UI),按键,数据保存,游戏算法。
游戏算法是用java语言实现。
在Android,J2ME上都一样。
游戏界面上主要有图片和文字。
在Android 上画图片,文字,按键,数据保存的代码与J2ME不一样。
区别也不是很大,J2ME游戏移植到Android上主要要改的就是画图,画文字,按键,数据保存的代码,其它的基本不用改。
利用Android平台的接口重写J2ME的相关接口。
游戏开发中J2ME和Android的区别概述下面列出了J2ME和Android的主要区别下面针对J2ME和Android的不同之处分别作介绍:启动程序时执行的代码的区别程序启动时要加载资源,把某一个界面对象显示在手机屏幕上。
J2ME中启动程序会执行MIDlet子类的startApp方法,在Android中启动程序会执行Activity子类的onCreate方法。
低级界面类的区别软件的界面可以使用低级界面或高级界面(控件)来画,低级界面最大的优点是程序员对低级界面控制力强,能指定图,文字的具体坐标,能画各种图形。
游戏开发中界面都使用低级界面来完成,在J2ME中低级界面类是Canvas,在Android中低级界面类是View。
画笔类区别画笔类的主要功能是画图,画文字,画各种图形(矩形,线),在J2ME中画笔类是Graphics,在Android中画笔类是Canvas。
画图的方法代码的区别游戏开发中地图,人物,道具等很多内容都是用图片表示的,在J2ME中画图用的代码是Graphics.drawImage(),在Android中画图用的代码是Canvas.drawBitmap()。
画文字的区别游戏中的对话,剧情都是以文字的方式显示出来的。
在J2ME中画文字用的代码是Graphics.drawString(),在Android中画文字用的代码是Canvas. drawText()。
基于J2ME平台的手机游戏移植方法探讨
基于J2ME平台的手机游戏移植方法探讨
董家苏
【期刊名称】《上海商学院学报》
【年(卷),期】2010(011)001
【摘要】J2ME是Java技术专门为嵌入式系统定制的版本,已经成为当前业界流行的无线应用开发平台.虽然理论上J2ME为开发人员提供了"一次编写,到处运行?的环境,但是由于手机设备间的巨大差异,同一款游戏程序很难直接运行在不同的手机设备上.如何有效快捷地将应用程序移植到众多的手机平台上,也是手机游戏开发中面临的主要问题.本文分析了现有的移植解决方案,探索并尝试提出更有效的移植方法.
【总页数】5页(P96-100)
【作者】董家苏
【作者单位】上海交通大学软件学院,中国,上海,200030;上海商业会计学校,中国,上海,200011
【正文语种】中文
【中图分类】TP312
【相关文献】
1.J2ME手机游戏开发的跨平台设计与实现 [J], 严玫
2.基于J2ME平台的手机游戏分析与设计 [J], 刘国兰;漆震云;张惠娟
3.J2ME手机游戏开发平台的设计与实现 [J], 丁月华;刘佳;杨沛
4.基于J2ME的一款手机游戏的实现 [J], 张凯斐
5.基于J2ME的Java手机游戏开发技巧 [J], 任灏榕;
因版权原因,仅展示原文概要,查看原文内容请购买。
J2ME在手机中的应用及兼容性
J2ME在手机中的应用及兼容性
bibi
【期刊名称】《数字通信》
【年(卷),期】2003(000)003
【摘要】大家可能都知道,目前有很多支持Java技术的手机,而且随着中国移动表示将大量提供应用“Java”技术的服务,相信在我们身边将会有越来越多支持Java 功能的手机。
在本刊2002年第11期“学堂”栏目已经介绍过手机中应用的Java 技术,它应该是J2ME,即Java 2微型版本(Micro Edition)。
如果平时留心了这项技术的朋友可能会发现,当一些资料提到J2ME时往往会告诉你“J2ME是致力于消费产品和嵌入式设备的最佳解决方案”,好像一切都很美好。
但是,今天作者要告诉你的却是关于它的另一面……也许这篇文章的某些内容不是那么容易弄明白,如果你只想知道一个问题:为什么我们使用的J2ME手机的软件很多时候不能通用?那么你只要看看本文的结尾部分就可以了。
【总页数】2页(P73-74)
【作者】bibi
【作者单位】无
【正文语种】中文
【中图分类】TN929.53
【相关文献】
1.基于J2ME的drawStringLines函数在手机程序开发中的应用 [J], 王集思;高文秀
2.基于Flex与J2ME手机应用程序开发模式比较分析 [J], 白晓海
3.双缓冲技术在J2ME手机游戏制作中的应用 [J], 王理
4.类GameCanvas在J2ME手机游戏制作中的应用 [J], 王理
5.J2ME中实现手机应用程序与Servlet的通信 [J], 吴道君
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J2ME游戏移植OPhone平台要点手机游戏是目前深受广大手机用户喜爱的一种娱乐软件,各大运营商都有自己的手机游戏平台,比如中国移动的百宝箱,MM平台,当然,除了运营商之外,类似QQ游戏平台和一些Free Wap网站都提供手机单机和网络游戏的下载。
目前大多数的手机游戏还是以J2ME平台为主,而OPhone做为一个后起之秀、一个新的手机操作系统,目前上面的软件和游戏还不是很多,但是它有一个很大的优点——也是基于JAVA语言开发。
有了这个优点也就意味着所有的J2ME 程序都可以非常快速的迁移到OPhone平台。
笔者曾经有过J2ME游戏移植到OPHONE平台的经验,现将自己的一些经验写出来与各位分享。
由于本文主要针对有过J2ME开发经验的读者,因此在对J2ME 方面的介绍上稍显笼统,望见谅。
下面就从游戏开发的角度将两个平台的相关API做以比较。
平台比较∙J2ME:J2ME(Java 2 Micro Edition)是Java 2的一个组成部分,它与J2SE、J2EE并称。
根据Sun的定义:J2ME是一种高度优化的Java运行环境,主要针对消费类电子设备的,例如蜂窝电话和可视电话、数字机顶盒、汽车导航系统等等。
J2ME技术在1999年的JavaOne DeveloperConference大会上正式推出,它将Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。
本质上J2ME是一个平台,需要由操作系统的支持,并依赖于JAVA虚拟机。
∙OPhone:为了突破TD终端瓶颈,以及促进手机终端与中国移动的网络及应用服务进行无缝对接,中国移动在谷歌Android操作系统基础上,主导开发了OPhone系统,该系统直接内置了中国移动的服务菜单、音乐随身听、手机导航、号簿管家、139邮箱、飞信、快讯和移动梦网等特色业务。
工程结构比较(源代码,资源文件夹,图片,数据)∙J2ME:view plaincopy to clipboardprint?view plaincopy to clipboardprint?安装包比较安装包就是程序最终要生成的可执行文件,手机要先进行程序安装然后才可以实现运行。
∙J2ME:view plaincopy to clipboardprint?view plaincopy to clipboardprint?1.apk:程序的安装文件代码结构比较∙J2ME:一般要有一个MIDlet做为整个应用程序的入口类要有一个Canvas类做为应用程序的界面类∙OPhone:一般要有一个Activity做为整个应用程序的入口类Activity要有一个View/SurfaceView类做为应用程序的界面类都采用继承的方式,都只有一个MIDlet/Activity,一般都只有一个Canvas/View全屏设置用于隐藏手机本身的各种状态栏,尤其是在游戏中可以增大画面的显示区域。
∙J2ME:在Canvas类中调用SetFullScreenMode(true)进行全屏设置∙OPhone:Display∙J2ME:J2ME中的屏幕类,用来管理当前屏幕,进行高级界面和低级界面间的跳转,一个MIDlet只有一个Display对象view plaincopy to clipboardprint?1.Display dis=Display.getDisplay(MIDlet);∙OPhone:没发现其特殊功能,应该和J2ME作用类似,但一般很少使用。
view plaincopy to clipboardprint?1.Display display = windowManager.getDefaultDisplay();获得屏幕分辨率手机和PC不同,每个厂商的手机硬件都各不相同,尤其体现在屏幕的分辨率上面,一款软件要能保证可以运行到绝大数的手机上,因此手机上的开发一般会有一个叫做“适配”的过程。
而适配过程的难易主要取决于开发者是否使用了“自适应”的方式来绘制界面。
所谓自适应就是根据当前手机的屏幕尺寸来动态的计算出各个按钮、方框、图片等的屏幕坐标。
这里最关键的就是获得屏幕的分辨率大小:∙J2ME:Canvas类的getHeight()获得屏幕高度getWidth()获得屏幕宽度∙OPhone:界面类顾名思义,所谓界面类就是用来承载游戏中的界面,比如地图,精灵,对话框等所有的游戏界面元素最终都要通过这个界面类来展示出来。
一般我们更习惯把界面类称之为画布类。
∙J2ME:所有界面都需要绘制到Canvas上面,需要继承这个类。
∙OPhone:画笔(图形上下文)类上面我们介绍了画布类,当然光有画布还不行,还要有个能在画布上画图的笔才行,在这两个平台中都提供了具有画笔功能的类,只是名字不同。
∙J2ME:Graphics类就是J2ME中的图形上下文类,或者说是一个画笔类,它提供了诸如绘制直线,方块,文字,图片等方法。
∙OPhone:OPhone在这点上和J2ME有些区别:J2ME中所有与绘制相关的功能都被定义到了Graphics中,而OPhone则分成了两个类:Paint:用来设置画笔的属性,比如设置颜色,样式,字体等Canvas:用来绘制具体的内容,比如绘制多边形,图片,文字等屏幕绘制方法有了画笔和画布类,剩下的就是用笔来向画布上绘制内容了。
∙J2ME:paint()是Canvas类中的抽象方法,因此只需要实现paint(Graphics)这个抽象方法即可。
也就是说,需要把具体的绘制语句写到这个方法里面就是完成绘制的工作。
当然这个方法不需要我们手动调用,当Canvas被显示时,此方法会被虚拟机自定调用。
举例如下:view plaincopy to clipboardprint?图片的创建∙J2ME:一般只支持png格式图片使用Image类来管理图片通过Image.createImage(path)获得Image对象l OPhone:支持png,jpg,gif等多种格式图片使用Bitmap类来管理图片通过BitmapFactory.decodeResource(getResources(),R.drawable.map0);来获取Bitmap对象可以自己封装方法:view plaincopy to clipboardprint?Font的创建,Font使用,字体设置o J2ME:J2ME中提供的字体非常有限,只能使用手机支持的几个字体,甚至个别手机只支持一种字体Font.getFont( )获得字体对象Graphics类的setFont()方法设置使用的字体o OPhone:OPhone中支持的字体非常多,甚至可以使用自定义字体,可以采用下面的方法来设置字体属性:Paint类的setTypeface(null); 用来设置默认字体Paint类的setTextSize(32); 用来显示字体大小当然,如果你想使用自定义字体可以采用如下方法:view plaincopy to clipboardprint?此处需要把字体文件放到“assets/fonts”文件目录下面Paint类的setTypeface(mFace); 用来设置当前字体图片绘制o J2ME:drawImage( )来绘制Image对象view plaincopy to clipboardprint?多个重载方法请参考API文档,此处不一一列出使用方法同J2ME,但注意方法参数数据类型。
字符串绘制o J2ME:drawString()来绘制字符串o OPhone:view plaincopy to clipboardprint?多个重载方法请参考API文档,此处不一一列出使用方法同J2ME,但注意方法参数数据类型。
限定屏幕的显示区域游戏中的某些效果只需要在屏幕的某个地方做显示和刷新,比如类似文字自下而上的滚动效果,当你想把文字的可视区域定位到屏幕的某个范围时就可以使用这样的方式来对屏幕的显示区域大小进行设置:l J2ME:调用setClip()和clipRect()来限定当前屏幕的显示区域OPhone:调用下面的方法来实现与J2ME同样的功能,但是要注意最后一个参数:view plaincopy to clipboardprint?1.public boolean clipRect(float left, float top, float right, float bottom, Region.Op op)最后一个参数为:Region.Op.REPLACE图片旋转图片旋转是游戏中经常采用的一种技术。
所谓图片旋转就是通过代码来对原始图片进行特定角度的旋转,这样做可以有效的减少图片资源的数量,从而在一定程度上减小apk包的体积。
∙J2ME:1. 使用Nokia API drawImage()方法2. 调用drawRegion()方法3. 使用setClip方法来实现逐个像素翻转∙OPhone:3、使用clipRect()逐个像素点绘制(此方法不推荐使用)绘制矩形∙J2ME:drawRect()绘制空心矩形fillRect()绘制填充矩形∙OPhone:调用下面方法来绘制矩形,但一般默认为绘制填充矩形view plaincopy to clipboardprint?1.public void drawRect(float left, float top, float right, float bottom ,Paint paint)声音处理∙J2ME:创建:view plaincopy to clipboardprint?播放:view plaincopy to clipboardprint?暂停:view plaincopy to clipboardprint?声音设置:view plaincopy to clipboardprint?关闭:view plaincopy to clipboardprint?7.coverSound.close();∙OPhone:创建:view plaincopy to clipboardprint?1.MediaPlayer coverSound =MediaPlayer.create(Activity,R.raw.back);2.coverSound.prepare();播放:view plaincopy to clipboardprint?暂停:view plaincopy to clipboardprint?1.coverSound.pause();声音设置:view plaincopy to clipboardprint?1.AudioManager vc = (AudioManager)Activity.getSystemService(Context.AUDIO_SERVICE);2.vc.adjustVolume(AudioManager.ADJUST_LOWER, 1);关闭:view plaincopy to clipboardprint?1.coverSound.stop();2.coverSound.release();中断处理在游戏进行的过程中难免会出现电话、短信这样的突发事件,这时,OPhone系统会切出游戏去让用户处理外部事件,因为这些事件要比应用程序的优先界别高,而切出的时候我们势必要将游戏暂停,以便让用户处理完外部事件之后回来继续游戏。