开发易于移植的J2ME游戏

合集下载

基于J2ME技术的移动游戏开发平台

基于J2ME技术的移动游戏开发平台

华南理工大学硕士学位论文基于J2ME技术的移动游戏开发平台姓名:***申请学位级别:硕士专业:计算机应用指导教师:***20050501第二章.J2.Ug平台分析低配置设备高配置设备2.1,2配置概述配置将运行时环境定义为一组核心类和一个运行在特定类型设备上的特定JVM。

虽然还可能在将来定义其他的配置,但当rillJ2.\_iE存在两种配置,CLDC和CDC。

连接限制设备配胃(CLDC):与虚拟机KVM一起,用十内存有限ff勺【6位或32位殴备。

这是用于开发小型J2ME应用程序的配置(虚拟机)。

从游戏程序员的角度看,它的大小限制让它比CDC更具挑战性。

CLDC同时还是用于开发绘图工具应JE{=j程序的配置。

目前许多支持1J2,h1E技术的手机便是个运j亍小应用程序的小型无线设备的示例川。

连接设备配置(CDO:与虚拟机CV;I一起使用,用于要求内存超过2兆的32位体系结构。

互联网电视机顶盒和某些PDA便是这类设备的一个示例I71,目前,己上市的手机跨越CLDC和cDC两个配置舰范,有些智能手机的硬件配置甚至超越了CDC规范。

第一二章12ME平台分析的移动设备从手机到PDA,而这些移动设备的硬件差异也比较的大。

要作为可移植的移动游戏开发平台,J2ME存在许多不足之处。

2.2J2ME平台缺陷从上面论述可以看出,处理芯片、显示尺寸等硬件因素造成了手机设备具自‘较大的差异性。

显示尺寸的不同将使应用程序无法通用在不同设备中,比如说某些功能菜单显示1i了.某些功能按钮显示不了等等。

囚此,这一差异性使得丌发人员不得不针对具体的各种手持设备进行开发,在一种设备中调试通过的程序,还要在另外一种设备中进行调试。

如果希望应用程序具备更好的通用性,那么自然要研究更多的手机,这样就造成了开发成本的提高[81。

无论是移动游戏电好,普通的J2ME应用程序MIDLet也好,它可能运行在KVMtCLBC配置)上,或CVM(CDC配置)上,而这两个平台对程序丌发有不毕南理工大学硕士学位论文同的要求。

基于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 引 言当前,无线通信已经成为发展最快、最前沿的通信领域之一。

J2ME游戏开发

J2ME游戏开发

手机游戏概论大纲●手机游戏类型。

●手机游戏开发特点。

●手机发展历史及3G技术展望。

重点●手机游戏主要有以下几种类型:嵌入式游戏、短信息服务游戏、WAP浏览器游戏、J2ME和其他的解释语言类游戏。

●合理开发手机游戏:缩短游戏时间、合理处理等待时间。

●手机作为游戏载体的特点:拥有庞大的潜在用户群、携带方便、对应用程序大小有限制。

目的本章的目的是帮助读者对手机本身的特点和手机游戏开发的特点有个清晰的了解,以便于更好更有效的利用手机这样一个平台,在保证游戏质量的同时尽力提高开发速度,开发出优秀的手机游戏。

网络游戏产业的繁荣,让企业和消费者同时认识到了游戏的力量,虽然受到屏幕尺寸和操控性的限制,但作为全球使用量最大的通信产品,手机也具有成功进入掌上游戏领域的理由。

而彩屏革命过后,手机游戏就变得更加丰富多样了。

从当初诺基亚手机中经典的二维贪吃蛇游戏,到今天的三维画面及声色效果俱佳的游戏,手机游戏已经成为一种非常普遍的休闲方式,为玩家带来了很多快乐及新奇的体验,同时也为开发商、手机厂商、运营商带来了更多的利润。

这一切得益于Sun公司——Java平台的东家,可以说手机端游戏的发展与Java技术的发展有着不可分割的联系。

Java 2推出后,Sun推出了一种名为J2ME(基于Java 2 Micro)的平台,被广泛应用于手机端。

J2ME能够为用户提供非常丰富和复杂的功能。

随着各大手机生产商对J2ME标准的支持,以及基于J2ME开发的手机游戏的可移植性和快速开发的优势,J2ME手机游戏的市场需求越来越高,从事J2ME手机游戏研究和开发的人员也越来越多。

那么怎样保证游戏质量,怎样编写好的游戏代码,是每一个从事J2ME 手机游戏开发者都应该考虑的问题。

开发者首先必须考虑手机自身的特点,例如:手机小键盘是为电话拨号优化的,并不针对文本输入,因此其操控性能较差,如图1-1所示。

本章将重点讨论手机本身的特点和手机游戏开发的特点。

J2ME移动应用开发课程设计 (2)

J2ME移动应用开发课程设计 (2)

J2ME移动应用开发课程设计1. 简介随着移动互联网的飞速发展,移动应用的重要性越来越突出。

Java平台微型版(Java 2 Platform, Micro Edition, J2ME)是一种专门针对嵌入式设备制定的Java平台,可用于开发移动设备上的Java应用程序。

本课程设计旨在介绍J2ME 移动应用开发的基础理论和实践技术,帮助学生熟悉J2ME平台,掌握常用的应用程序开发技术,提升移动应用开发水平。

2. 学习目标1.了解J2ME平台的基础知识和发展历程。

2.熟悉J2ME开发环境的配置和使用。

3.掌握J2ME移动应用程序的基本开发技术。

4.能够开发一个简单的J2ME移动应用程序。

3. 课程安排3.1 第一周:J2ME平台介绍主要内容:J2ME平台概述、J2ME体系结构、J2ME应用程序类型、J2ME与J2SE 的区别与联系。

3.2 第二周:J2ME开发环境搭建主要内容:J2ME开发环境介绍、J2ME IDE Eclipse的安装与配置、J2ME手机模拟器的安装与使用、J2ME开发的准备工作。

3.3 第三周:J2ME应用程序开发基础主要内容:J2ME应用程序的结构、J2ME应用程序的生命周期、J2ME界面设计与事件处理、J2ME应用程序的调试与测试。

3.4 第四周:J2ME应用程序开发实践主要内容:基于J2ME平台的应用程序开发实践,包括聊天室、计算器、迷宫游戏等。

3.5 第五周:课程总结与展望主要内容:对本课程进行总结,回顾学习内容,展望J2ME应用程序开发的前景和发展。

4. 课程设计要求1.学生需要在规定时间内完成J2ME应用程序开发的任务,提交所开发应用程序的源代码和应用程序截图。

2.学生需要在课堂上积极参与讨论、提问和答辩环节,了解和掌握相关知识和技能。

3.学生需要在考核环节中完成J2ME应用程序的演示和答辩,展示自己的学习成果。

5. 参考文献1.《J2ME移动应用开发实践》(高文华等著)2.《Java平台微型版Java ME程序设计》(徐鸿义等著)3.《J2ME入门经典》(曹天元等著)。

开发易于移植的J2ME游戏

开发易于移植的J2ME游戏

开发易于移植的J2ME游戏(一)[ 录入者:admin | 时间:2006-05-19 17:39:30 | 作者: | 来源: | 点击数:232 ][上一篇] [下一篇]开发易于移植的J2ME游戏(一)by 蜡笔小刀(happyfire)2005.5.25说明:此文为给J2ME开发网()电子期刊的专稿,转载请先联系本人(mobiledev@)J2ME游戏开发中,移植是个问题。

各种手机的屏幕大小,按键,支持的API和性能各不相同,要想一次开发,到处运行并非易事。

本文从几个方面简要讨论一下开发易于移植的J2ME游戏的方法,每一节分别对应一个具体问题。

一不大不小的Size问题1 屏幕尺寸不等?把它看做变量!第一个问题,就是屏幕的尺寸问题。

不同牌子不同型号的手机,屏幕尺寸大小不一。

在渲染时必须考虑到尺寸的变化,即将尺寸看成两个变量 ScreenWidth和ScreenHeight,将这两个变量代入到渲染时坐标的计算式中。

这样屏幕尺寸变了,但想要的效果不会变。

举个简单的例子,现在想居中绘制一个Logo图,只要设置渲染的坐标为:x=(ScreenWidth-ImageWidth)/2; y=(ScreenHeight-ImageHeight)/2即可。

再举个RPG游戏中绘制地图的例子,假如Tile 大小为16*16,屏幕大小为128*128,则一屏正好显示8*8个Tile,但是如果直接用8*8次循环绘制这些Tile,那么程序就写死了,如果屏幕大小变了(换了一个机型或改成使用全屏)或者Tile大小变了,这些地方就要改动。

正确的方法还是将尺寸看做变量,可将Tile的宽和高定义为常量,这样需要绘制的Tile数目为 ScreenWidth/TileWidth * ScreenHeight/TileHeight。

现在你可以在各种大小的屏幕上正确显示你的地图了。

这样的例子很多,也不光是屏幕尺寸需要看作变量,凡是有可能改变的数值,将他们定义成变量或常量,那么可移植性就会提高很多。

基于J2ME平台的手机游戏移植方法探讨

基于J2ME平台的手机游戏移植方法探讨

J ME为 开发 人 员提 供 了 “ 次 编 写 ,到 处 运行 ” 的环 境 ,但 是 由 于手 机 设备 间 的 巨大差 异 ,同 一款 游戏 程 序 很 难 直 接 运 2 一
行在不 同的手机设备上 。如何有效快捷地将应 用程序移植到众 多的手机 平 台上 ,也是 手机游戏 开发 中面临的主要 问题 。 本文分析 了现有 的移植解决方案,探 索并尝试提 出更有效的移植 方法 。

手 机设 备 的差 异及 游 戏 移 植 中 的 问题
( )手机 设 备 的 差 异 一
在 全 球 市 场 上 ,拥 有 众 多 的 手 机 品 牌 ,各 种 品 牌 有 许 多不 同的 型号 。这 些 种 类 繁 多 的手 机 ,在 性 能 、显 示
这些差异使得同一游戏应用要支持 不同 的手机设备 ,
I .由于虚拟机 的差异引起 的移植 问题
( )当把 一 款 在 高 版本 M IP基 础 上 实 现 的手 机 游 戏 1 D 移植 到一 款 低 版 本 MI P手 机 上 的 时 候 ,一 系 列 新 增 的 D A I 需要 额 外 的实 现 。 P就
在手机游戏开发过程 中需要兼顾 MI P低版本和 高版本 ; D 各设备厂家拥有 自己的扩展类 库,使 用 了各 厂家 自己扩
缺乏兼容性 ,即使用 JME平 台开 发手机 网络 游戏 ,仍 2
然 面对 着不 同手 机 设 备 兼 容移 植 的问 题 。

44MHz 3 ,其性能大致相 当于一 台 P C;而低端手机屏 幕
分 辨率 低 ( 辨 率 或 低 于 1 0 0 分 0 ×1 0像 素 ) ,处 理 器 处 理 能 力有 限 ,一 些 机 型 内存 大 小 仅 2 0 节 。 0字

基于J2ME的Java游戏--坦克大战的开发 毕业设计论文

基于J2ME的Java游戏--坦克大战的开发  毕业设计论文

摘要Java良好的跨平台特性在移动平台的开发中显示出了巨大的威力。

Java语言面向对象的优势也使得开发游戏变得非常容易。

随着手机的日益普及、Java功能在移动设备上的实现,Java应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。

本论文着眼于J2ME技术的应用,开发一款可商用的手机游戏程序——坦克大战。

本程序的界面和运作方式继承于日本任天堂公司在20世纪80年代开发的Battle City游戏,将老少皆宜的经典作品移植到手机上来,为更流行的硬件平台提供应用软件。

本论文介绍了任天堂红白机的软硬件特性、J2ME的相关技术及本程序的结构分析和具体功能的实现。

[关键字]:J2ME,手机游戏,Java,坦克大战ABSTRACTJava has an advantage of running in different platforms that shows its power in developing for the mobile device. The advantage of object-oriented of Java makes development of games easily.When cell phone is getting ever more popular nowadays, with the implementation of Java technology on mobile equipment, increment of capital on communication service exhibits its force on people’s everyday life, providing them ever fast information just in hand. This dissertation focuses on implementation ofJ2ME technology and has developed a commercial game suite run on mobile phones—Tank. This application inherits many characters of the old fashioned game Battle City which developed by Nintendo in 1980s. It transports the classical product to mobile phones, offering corresponding software for such more popular hardware platform.This dissertation introduces the characteristic of Nintendo FC machine and its software, J2ME and its relative technology as well as this program’s structure and analysis of implementation in details.[Keywords]: J2ME, mobile game, Java, tank, Battle City.引言自从Java问世以来,Sun公司已经成功的将Java平台技术推广到台式计算机与服务器。

基于J2ME手机平台的智能客户端游戏设计的开题报告

基于J2ME手机平台的智能客户端游戏设计的开题报告

基于J2ME手机平台的智能客户端游戏设计的开题报告一、选题背景随着移动互联网的快速发展,手机已经成为了人们日常生活中不可或缺的工具。

特别是在青少年群体中,手机游戏已经成为了最流行的娱乐方式之一。

因此,基于手机平台的游戏设计成为了当前游戏开发的热点之一。

同时,随着智能手机的不断更新换代,J2ME平台作为一个成熟、稳定的手机平台,也吸引了不少游戏开发者的关注。

因此,本文将以基于J2ME手机平台的智能客户端游戏设计为研究对象,旨在深入研究如何利用该平台进行游戏开发,以满足用户对于游戏的需求。

二、研究内容本文将从以下几个方面进行研究:1. J2ME平台的特点及其在游戏开发中的应用。

2. 基于J2ME的智能客户端游戏设计的基本原理和方法。

3. 游戏设计中的基本要素,包括游戏场景设计、人物设计、关卡设计等。

4. 游戏开发过程中所需要使用的开发工具和技术。

5. 针对不同类型的游戏,设计并开发相应的游戏。

三、研究意义本研究的意义在于:1. 深入研究J2ME平台在游戏开发中的应用,探索出一套较为成熟的游戏开发流程及技巧。

2. 推动手机游戏行业的发展,为用户提供更加有趣、丰富的游戏体验。

3. 提升J2ME平台的知名度和应用程度,扩大其在手机应用领域的市场份额。

四、研究方法和步骤本文的研究方法主要包括:1. 文献资料法:通过查阅相关的学术期刊、论文、书籍、网站等,了解J2ME平台的特点及其在游戏开发中的应用。

2. 实验法:结合已有的手机游戏案例,探究游戏开发中的基本方法和技巧。

3. 调查法:通过问卷调查等方式,了解用户对于手机游戏的需求,针对性地开发游戏。

本文的研究步骤如下:1. 研究J2ME平台的基本特点及其在游戏开发中的应用,了解开发环境和工具。

2. 分析游戏设计中的基本要素,包括游戏场景设计、人物设计、关卡设计等。

3. 针对不同类型的游戏,设计相应的游戏场景和规则,并进行开发和测试。

4. 结合实验结果和用户反馈,优化游戏设计,提升游戏体验。

基于J2ME手机游戏开发实例与发展分析

基于J2ME手机游戏开发实例与发展分析

基于J2ME的手机游戏开发实例与发展分析摘要:随着java技术的不断更新,j2me技术在手机游戏的应用逐渐成为游戏市场的新亮点。

文章首先介绍了j2me技术的原理和架构,之后通过实例分析了j2me在手机游戏中的应用,最后分析了j2me手机游戏的开发意义。

关键词:j2me;midp;软件应用;软件开发中图分类号:tp311.52 文献标识码:a 文章编号:1007-9599 (2012) 24-0188-02随着java语言的不断发展,已经逐渐成长为一种尖端的程序设计语言。

这个最初用来编写与硬件不相关的嵌入式系统的编程语言,现在更是做到了与厂商不相关、与硬件不相关的服务器端技术,在软件开发应用中展示出了强大的生命力和发展前景。

j2me技术正是基于java技术规范的,高度优化的java运行环境,在消费电子领域占据着强有力的位置,尤其是手机游戏的开发上,更是发挥的淋漓尽致。

当前j2me技术最流行的应用就是在制作手机游戏方面,java手机的出现更为这种技术的发挥提供了宽阔的平台。

1 j2me技术及其架构java2 micro edition (j2me)是java2技术微型版,与j2se、j2ee同样具有美国sun微系统公司提出的java技术规范,主要针对消费电子市场,为机顶盒、移动电话和pda之类嵌入式消费电子设备提供的java语言平台。

j2me的运行环境与目标更加多样化,而每一个产品的用途却变得更加单一,资源限制也更为严格,其构成主要是由概要描述、配置、java虚拟机和操作系统等部分组成的标准架构之上的。

这种架构下模块化设计很好的适应了小型计算设备的应用限制,通过j2me架构甚至可以替代小型计算设备的操作系统。

j2me的架构分为configuration、profile和optional packages,它们的组合取舍形成了具体的运行环境。

第一层configuration的作用是与原计算机设备所带有的系统进行互换,它里面还存在着一个配置层,负责处理profile和jvm之间的交互;第二层的profile层,主要是设备的应用程序编程用的接口集合,它对设备横向分类,针对特定领域细分市场,内容主要包括特定用途的类库和api;第三层的optional packages是独立于前面两者提供附加的、模块化的和更为多样化的功能,比如多媒体应用、蓝牙等。

基J2ME平台的移动智能游戏的开发

基J2ME平台的移动智能游戏的开发
n el e tGa s d o 2 E v l p n fM b l I tl g n meBa e n J M e i
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 设 红 及 其 它 名 著 如 《 游记 》 《 国 演 义 》 题材 的 智 能 游 戏 。 西 、三 为 不仅 实
思路 , 为迷 宫 游 戏 增加 锻 炼 用 户 记 忆 力 的 功 能 , 而 增 添 了新 从
的乐 趣 。并 将 迷 宫 游 戏 、 图 游 戏 、 片 欣 赏 等 多 个 功 能 合 为 拼 图

体 , 节省了游 戏所占内存 , 增添 了全方位 的游戏享受 , 既 又

基于J2ME_(Java_2_Micro_Edition)的手机游戏开发

基于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年,经过十年的发展,随着手机终端和移动通信网路的不断进步,手机游戏也正在经历由简单到复杂的进化过程。

j2me3D游戏开发简单教程.

j2me3D游戏开发简单教程.

j2me3D游戏开发简单教程一、简述既然现在你已对3D API比较熟悉并了解了3D图形是如何加入到移动Java应用程序中的。

下面将继续告诉你怎样使用3D造型软件以使编码和设计更为简单。

如今,3D图形几乎是任何一部游戏的关键部分,甚至一些应用程序也通过用3D形式来描述信息而获得了成功。

如前文中所述,以立即模式和手工编码建立所有的3D对象的方式进行开发速度很慢且很复杂。

应用程序中多边形的所有角点必须在数组中独立编码。

在JSR 184中,这称为立即模式。

另外一种更高级的模式称为保留模式,它允许设计者使用诸如3D Max Studio等3D建模软件来设计场景图,然后把它们应用在程序中。

二、3D编辑器现在,最流行的商业动画制作软件应是3D Studio Max,它支持输出模型或场景图到M3G格式(JSR 184中指定的文件格式)。

该文件格式是专门制订的,以适用于移动设备的特有需要。

然而,3D Studio Max 非常昂贵,即使它是一个很好的工具,也可能并不适合于任何一个人。

Superscape公司有他自己的Swerve产品家族(Swerve Studio,Swerve Client,Swerve Content),以帮助软件开发者来开发3D Java和本机应用程序。

遗憾的是,Swerve Studio仅适于有限数目的对Superscape 非常熟悉的开发者。

还有一个自由工具可以选择使用:Blender。

Blender是一个开源的3D造型工具,其实它的功能相当强大。

你可以用Blender来进行任何3D设计-从简单的造型到完整的动画制作。

尽管现在还没有输出工具来输出Blender模型到M3G文件中,但是可能很快就出现一些可用的工具(因为Blender是开源的)。

三、建模如何在MIDP应用程序中使用M3G 文件呢?首先,你需要一个已有某种3D模型的M3G文件。

你可以用Google引擎快速查找一下,也可以使用和WirelessToolkit 2.2(在Demo3D 文件夹下)开发包一起发布的现成文件。

基于J2ME手机游戏开发的主要技术——以“贪吃蛇”游戏为例

基于J2ME手机游戏开发的主要技术——以“贪吃蛇”游戏为例



MIP . D 20中等 。
随着通信技术的高 速发展 ,移 动通 信技术 规模不 断 扩大并带动 了手 机性 能的不断 提高 ,手机休 闲娱乐 市场 的发展趋势 已经非常 明朗 。在 品种 繁多的手机 应用 程序
中 ,手机 游 戏 所 占 的份 额 是 最 大 的 ,其 增 长 势 头 远 远 超 过 其 他数 据 业 务 ,已 经 成 为 一 个 生 机 勃 勃 的 文 化 产 业 。
收稿 日期 : 0 91 —4 2 0 —2 1
作者简 介 : .沈军彩 ,女 ,浙 江 诸 暨人 ,硕 士 ,上海 商 学 院 信息 与 I 计算 机 学 院 讲 师 ,研 究 方 向:程 序 设 计 。 电 子 信 箱 :se S @ h ̄cO
h t icr 2 陶宗杰 ,男 ,上海人 ,丰益 f oma on l . 上海 )信 息技 术 有限 公司高 级程序 员 ,研究 方向 : 程序 设计 。
以 贪 吃 蛇 游 戏 为 例 “
沈军 彩 陶宗杰
( .上海商学院 信息与计算机学 院,中国 上海 2 03 ;2 1 0 2 5 .丰益 ( 上海)信 息技术有限公司,中国 上海 2 02 ) 0 17

要: 在手机平 台上 由于受资源的限制 ,实现性能和效率比高的图像 引擎和智能化 的 N C等都显得尤为 困难。基 P
wo m. d Ee n (e W o Ln (NI r a d lme t n w r ik I T m
受 资 源 的限 制 ,这 些 问题 更 是 突 出 。此 外 手 机 的 硬 件 资
减去相应分数。随着玩家分数的不断提高,蛇的速度也会 不断加快 。游戏可以无限继续下去,直到蛇撞 上边框 。游 戏结束后 ,系统将统计玩家的分数 ,并排出积分榜 。

J2ME小游戏

J2ME小游戏

J2ME小游戏——超级玛丽超级玛丽是一款深受大家所喜爱的游戏,该J2ME版的超级玛丽其游戏主要包含了主控制界面、游戏的主要操作界面以及其他一些相关界面,包括游戏的介绍、音乐、制作组、帮助等。

此外,此款游戏共有八个类:分别是GameEnemy 类、GameFlash类、GameImage类、GameMap类、GameMusic类、GamePlayer类、MyGameCanvas类以及一个主类MIDlet类。

下面做具体介绍:1.相关界面介绍。

程序运行之后,会进入游戏等待界面,如图所示:等待界面1 等待界面2当等待结束后,便可进入游戏的主界面。

该主界面主要包括了开始、音乐、介绍、退出、帮助、制作组等六个模块。

选中开始模块,单击手机中键即可进入游戏的操作界面,玩家也就可以马上进入游戏状态。

若不熟悉游戏按键的相关操作,则可以利用左右键选中帮助模块,再单击手机中键进行确认,进入帮助模块,了解此款游戏按键的相关操作。

相关界面如图所示:主要控制界面 帮助模块界面2.相关程序介绍。

此款游戏程序共包含八个类,分别是GameEnemy 类、GameFlash 类、GameImage 类、GameMap 类、GameMusic 类、GamePlayer 类、MyGameCanvas 类以及一个主类MIDlet 类。

① 在GameEnemy 类中,首先根据类型不同创建不同的怪物。

示例程序如下所示:public GameEnemy(int type,int x,int y) {this .type = type;switch (type) {case mogu01:sp_mogu01 = new Sprite(img_emy_mogu01,23,16);sp_mogu01.setPosition(x, y);mogu01_H = sp_mogu01.getHeight();mogu01_W = sp_mogu01.getWidth();break ;case mogu02:sp_mogu02 = new Sprite(img_emy_mogu02,23,13);sp_mogu02.setPosition(x, y);mogu02_H = sp_mogu02.getHeight();mogu02_W = sp_mogu02.getWidth();break ;case wugui:sp_wugui = new Sprite(img_emy_wugui,26,15);sp_wugui.setPosition(x, y);wugui_H = sp_wugui.getHeight();wugui_W = sp_wugui.getWidth();sp_wugui.defineReferencePixel(wugui_W/2, 0);break;}}由此可见,一共有三种类型的怪物来作为此款游戏的敌方,分别是mogu01、mogu02、wugui。

J2ME(Java2MicroEdition)是近年来随着各种不同设备,尤其是-Read

J2ME(Java2MicroEdition)是近年来随着各种不同设备,尤其是-Read

J2ME(Java 2 Micro Edition) 是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。

它的目标定位在电子消费产品与嵌入式设备上,对设备的智能化、多样化,提供了革命性的解决方案,并因其“Write Once, run anywhere”的Java特性而提高开发的效率。

在可以搭载Java的终端设备中,移动电话可以说是最为普及的,随着无线通信业的发展,Java应用程序在通信、娱乐等应用上产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。

本论文着眼于J2ME技术在手机娱乐上的应用,开发一个的基于MIDP2.0的手机游戏程序——逃离陨石,并介绍了游戏的结构分析和具体功能实现。

游戏的界面和运作方式,尽力模拟手机游戏的普遍性形式,成为一个完整的手机游戏。

第1章:概述。

介绍了娱乐游戏业务及手机软件现状、Java语言,J2me相关技术规范及其在移动设备上的应用。

第2章:开发环境及相关技术。

主要针对本设计介绍了相关的软硬件环境和相关的开发工具。

第3章:作品思想、结构及相关技术。

分析本作品设计的总体结构思想,以及相关的技术支持。

第4章:程序分析及具体实现。

详细阐述有关重点实现细节。

第5章:总结。

提及开发调试过程、心得体会、经验感想。

关键字:J2ME,手机游戏,MIDP2.0,Java,逃离陨石。

AbstractJ2ME (Java 2 Micro Edition), a newly-developed technology due to different kinds of equipment in recent years, especially the rapid development of mobile communication equipment, with the target of electronic expense product and embedded equipment has provides the revolutionary solution to the equipment intellectualization and diversification and accelerates the developing efficiency fo r its natural Java characteristics, like “write once, run anywhere”.Along with the development of wireless communication, the mobile phone is the most popular in the terminal device can be embarked with Java. The Java application procedure manifests noticeable influence in the field of mobile phone value-added service communication and entertainment and also plays an important role of the enrichment people’s life content and prompt information. The paper focuses on the J2ME technology in the field of the application of cell phone entertainment to develop a game procedure based on MIDP2.0- flee from metropolitan, and then introduced the game structure and its function realization. It aims to complete a mobile phone game by changing the interface and operation through imitating the universal form.The first chapter is the outline, introducing the situation of the game entertainment and mobilephone software, java language, J2me related technology and its application in mobile equipment.The second chapter is the developing environment and related technology, mainly introducing the hard and soft ware environment and relevant developing equipment.The third chapter is the main idea, structure and relevant technology, analyzing the general structure ideology and relevant technology.The fourth chapter is the program analysis and realization, detailed elaborating realization of important parts.The fifth chapter is summary, including the procedure of developing debut, the experience, reflections and feelings.Keywords: J2ME, mobile phone game, MIDP2.0, Java, Flee from the meteorolite.目录摘要IAbstract II第1章概述31.1娱乐游戏业务及手机软件现状 31.1.1娱乐游戏业务 31.1.2手机软件现状 41.2 Java语言简介51.3 J2me相关技术规范及其在移动设备上的应用71.4 本章小结 8第二章开发环境及相关技术92.1 开发环境 92.2关于Eclipse及Eclipseme 92.3 关于Wireless Tool Kit 112.4 Java Appication Manager 112.5 本章小结 12第三章:作品思想、结构及相关技术133.1 问题的提出133.2程序主要流程153.3玩家的飞机控制以及陨石、炸弹智能运行19 3.4 绘图与MIDP2.0新增的Game包213.4.1 低级绘图Canvas类及Graphics类213.4.2 PNG图片格式223.4.3关于Game包223.5 RMS永久存储系统 243.6 关于Mobile Media API 253.7 本章小结 25第四章:程序设计及具体代码实现264.1游戏LOGO画面264.2游戏主菜单选项274.3 New Game类的设计284.4 Settings类及SettingsScreen类的设计324.5 Score类及HighScores类的设计344.6 Help类及About类的设计364.7 关于背景图片及地图描绘374.8本章小结39第五章:总结405.1 本程序总结405.2 Eclipse开发过程中碰到的问题及可能原因 415.3 经验和感想425.4 扩充话题 435.4.1网络游戏435.4.2内存优化445.4.3程序打包、下载安装与运行455.4.4混淆器46致谢47参考文献48第1章概述1.1娱乐游戏业务及手机软件现状1.1.1娱乐游戏业务纵观IT产业的历史,就像军事的发展时常推动计算机的演化一样,计算机游戏已经成为技术创新背后的动力之一。

移植JME游戏Android平台

移植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 平台。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

开发易于移植的J2ME游戏(一)[ 录入者:admin | 时间:2006-05-19 17:39:30 | 作者: | 来源: | 点击数:232 ][上一篇] [下一篇]开发易于移植的J2ME游戏(一)by 蜡笔小刀(happyfire)2005.5.25说明:此文为给J2ME开发网()电子期刊的专稿,转载请先联系本人(mobiledev@)J2ME游戏开发中,移植是个问题。

各种手机的屏幕大小,按键,支持的API和性能各不相同,要想一次开发,到处运行并非易事。

本文从几个方面简要讨论一下开发易于移植的J2ME游戏的方法,每一节分别对应一个具体问题。

一不大不小的Size问题1 屏幕尺寸不等?把它看做变量!第一个问题,就是屏幕的尺寸问题。

不同牌子不同型号的手机,屏幕尺寸大小不一。

在渲染时必须考虑到尺寸的变化,即将尺寸看成两个变量 ScreenWidth和ScreenHeight,将这两个变量代入到渲染时坐标的计算式中。

这样屏幕尺寸变了,但想要的效果不会变。

举个简单的例子,现在想居中绘制一个Logo图,只要设置渲染的坐标为:x=(ScreenWidth-ImageWidth)/2; y=(ScreenHeight-ImageHeight)/2即可。

再举个RPG游戏中绘制地图的例子,假如Tile 大小为16*16,屏幕大小为128*128,则一屏正好显示8*8个Tile,但是如果直接用8*8次循环绘制这些Tile,那么程序就写死了,如果屏幕大小变了(换了一个机型或改成使用全屏)或者Tile大小变了,这些地方就要改动。

正确的方法还是将尺寸看做变量,可将Tile的宽和高定义为常量,这样需要绘制的Tile数目为 ScreenWidth/TileWidth * ScreenHeight/TileHeight。

现在你可以在各种大小的屏幕上正确显示你的地图了。

这样的例子很多,也不光是屏幕尺寸需要看作变量,凡是有可能改变的数值,将他们定义成变量或常量,那么可移植性就会提高很多。

另外,使用相对坐标也能提高可移植性,比如现在需要绘制超级玛丽中得到的金币数,我们需要显示一个金币的图,然后在它后面写上数字。

嗯,将金币的坐标设为gold_x,那么数字显示的起始坐标就是gold_x+金币图标宽度+1。

我这儿写了一个1,但这不要紧,我只是想显示数字的时候和金币图标隔开一个象素,这样写后,如果我们想将金币数的显示从左边移到右边,则只要改变gold_x就可以啦。

如果我们想让金币数目显示在屏幕的最右边怎么办?只要将gold_x设为 ScreenWidth-金币图标宽度-1-StringWidth(String(金币数目))。

嗯,就是这样,这是一句伪码,重点在于我们将表示金币数目的数字的长度也计算了一遍。

因为不同机器的字符大小也不同。

2 文字大小不等?还是将它看成变量!说到文字,大家可能都会很郁闷,因为中文普遍比较大,做到手机里面很不美观。

当然也有个别,NokiaS40的小字体看着还不错。

这儿我想起了一件事,我将字体设为Large时,MotorolaV600的真机显示的是小字体!呵呵,原来设为Small,它倒是大字体。

好了,说正题。

既然文字大小不等,那我们还是将它看成变量。

Font类有两个方法:getHeight 和stringWidth可以帮助我们。

如果你的游戏里只使用一种字体,那么只要开始时调用一下getHeight,将字体高度记录下来就可以了。

当然要记得在paint里面setFont啊!stringWidth可以计算出一个字符串的长度,这非常有用,因为手机中的英文字体一般不是等宽的,而且中英文数字混排时字符串的长度就更不能用字符数*字符宽度去计算了。

有了这个函数,我们就可以准确知道所绘制的字符串的长度。

这里有个典型的应用是文本显示的时候换行,通过stringWidth可以计算出文本是否需要换行。

再给个小小例子,我写得一个工具函数,用来显示左右软键菜单。

public static void drawSoftKeyMenu(Graphics g,String leftKey, String rightKey, int color, int style){drawString(g,leftKey,0,canvasHeight-mainFontHeight,color,style,GLT) ;drawString(g,rightKey,canvasWidth-stringWidth(rightKey),canvasHeight-mainFontHeight,color,style,GLT) ; }当然这个函数你不能直接用,里面用到了好几个我自己封装的函数,不过意思很明白。

绘制左软键菜单的坐标是(0,canvasHeight-mainFontHeight),绘制右软键菜单的坐标是(canvasWidth-stringWidth(rightKey),canvasHeight-mainFontHeight)3 虚拟屏幕-很好玩也很好用第一个问题说了屏幕的大小,我们将它看作变量,就可以解决移植时屏幕不等大的问题了。

这儿提供一个高级技巧,其实很简单:)。

就是将屏幕的一部分作为你的游戏屏幕,我称它为虚拟屏幕。

请相信,它是很有意思也很有用的。

虚拟屏幕用起来很容易,只要将你的坐标范围看作: x=0~vsWidth , y=0~vsHeight。

按照这个坐标范围,像原来一样作所有的事情,只是,在最后渲染的时候,将你的坐标转换到真实的屏幕坐标。

real_x = x+vsX, real_y = y+vxY 。

那么这个虚拟屏幕有什么好处呢?第一,你可以用一个屏幕很大的模拟器开发了,只要在它的屏幕上设置一块虚拟屏幕就可以了。

剩于的屏幕怎么办?可以用来显示一些调试信息什么的。

当然最好也定义成虚拟屏幕。

就是说你可以定义n个虚拟屏幕。

每个屏幕显示自己的内容,互不影响。

除了调试,开发分屏游戏时也用得上。

上面提到的虚拟屏幕只是简单的在真是屏幕上挖了一块。

其实,我们可以完全按照自己的想法定义它,可以任意定义它的大小,定义一个1024×1024的屏幕也没问题。

你现在拥有了一个1024*1024的游戏区域了,在里面可以尽情作所有的东西,只要,在渲染的时候将虚拟屏幕的坐标映射到真实屏幕即可: real_x = x/n + vsX , real_y = y/m + vsY 。

这里的n和m是比例系数。

小结:这一章讲了size问题,一句话,将会变的看成变量,这不只是针对size有用,针对游戏开发时的所有量都是有效的。

即使你确定它不变,也请使用常量定义,请放心,混淆器会将所有的final static内联的。

开发易于移植的J2ME游戏(二)by 蜡笔小刀(happyfire)2005.8.27时间过得真快啊!第一篇是5.25写的,已经3个月过去了...我也开始了新的工作。

这一篇算是对我以前工作的一些经验总结吧更希望能抛砖引玉,有想和俺共鸣一下的,请一定给这篇文章留言喽。

(在其他地方看到此文者请去/n5留言)二编写易于移植的J2ME代码我写第一个J2ME游戏的时候,根本就没想过移植的问题。

所以那个游戏也就很难移植了。

反过来,如果你已经计划好要移植了,那么事情就简单的多。

这一节说的是代码问题。

那就想想,不同手机之间在代码上会有哪些差异。

(1) 屏幕尺寸不同这在第一篇里面已经重点谈过,但这儿谈的是另一个问题,即自适应控件。

所谓控件,就是菜单、文本框、列表框、进度条等等。

这些控件的大小必须可以根据屏幕大小自适应的调整。

按照第一篇说的方法,将屏幕大小作为变量参与到控件尺寸的计算即可得到正确的尺寸(自适应后的)。

这儿讲第二个问题,即得到正确尺寸后怎么把它画出来。

这要看你的GUI是怎么画得了,如果是用线画的,那就很简单;如果使用了图片,那么就可能要更换图片了。

我的控件使用了图片平铺和画线结合,所以可以很容易的改变尺寸。

如果控件变大了,则绘制时增加平铺的次数即可。

顺便说一下,这些控件我只用了一个类表示,使用参数化的方法区分使用,毕竟咱要尽量少用类吧。

(2) 支持的API不同如果你的游戏只限于使用Midp1.0,那么移植的时候就不用考虑什么了。

实际上由于我们经常要使用图片翻转、象素绘制、全屏等,往往要用到厂商API或Midp2.0。

显然移植的时候要考虑到这些api的差异。

我的办法是将这些api封装一层,比如我需要使用创建透明子图的API,于是封装了一个函数createSubImg。

这是Nokia版本:public static Image createSubImg(Image img,int []imgRect){Image subImg = DirectUtils.createImage(imgRect[2],imgRect[3],0) ;subImg.getGraphics().drawImage(img,-imgRect[0],-imgRect[1],20);return subImg ;}这是Midp2.0版本:public static Image createSubImg(Image img,int []imgRect){return Image.createImage(img,imgRect[0],imgRect[1],imgRect[2],imgRect[3],0) ;}对于不同机型,该函数的实现不同,但功能相同,因此使用这个函数的代码在移植时无需修改。

当然这样做增加了一些间接性,有可能降低性能。

(3) 按键代码不同我们知道MIDP提供了Game Action,和按键代码无关,但这不够用啊,我们完全可以定义自己的Game Action,但首先让我们定义自己的虚拟按键码吧。

我使用位记录每个键的状态,每个位代表一个按键,一个int有32个位所以足够了。

当keyPressed发生时,我记下哪些键被按下;同样当keyReleased时,将那些被松开的键使用的位清0。

某个键,也就是这个键盘状态整数里的某个位,就是我定义的一个虚拟键。

当然它的值总是2的n次方了,和key code完全不搭边,所以需要我们用一个映射函数将key code映射到这些虚拟键。

这个函数就是移植的关键,每个机型都要改写这个映射函数,在里面填入正确的key code。

你可以在虚拟键的基础上再定义Game Action,支持在游戏中设置按键,这样就更灵活了。

(4) 封装库如果想不更改一行代码就从MotorolaV600移植到Nokia N-Gage,那么为他们封装不同的库吧。

我就这样在1分钟内完成了移植^-^。

我的库包含了一个游戏框架类(内含游戏循环和渲染函数,键盘处理,以及若干跨机型的工具函数),一个图形组管理类(管理图片的载入切割旋转绘制和动画等,有点像GameAPI 中的Sprite)和一个控件类(包含了所有我需要的控件)。

相关文档
最新文档