论文部分内容阅读
摘要:J2ME作为Java技术专为消费嵌入式系统定制的版本,其稳定性、跨平台性、安全性、扩展性使得成为移动通讯设备上主流开发平台,基于J2ME的应用开发成为热点。该文介绍了笔者参与开发的一个基于J2ME的手机智力游戏的设计与开发。是对手机上基于J2ME的开发的一次有效探索。经过试验证明,程序在大多数手机上运行良好。
关键词:J2ME;手机智力游戏;嵌入式;游戏框架
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)27-2060-02
Study and Development of the Mobile Phone Intelligence Game Based on J2ME
LI Min1,LIU Hong-ying2
(1.Shandong College of Electronic Technology,Jinan 250014,China;2.Institute of Network Security Shandong University,Jinan 250100,China)
Abstract:As the version that customize for built-in system of Java,J2ME is prepackaged as a robust,secure,system-independent,and scalable platform.J2ME becomes the popular platform of mobile communication devices.And the application development based on J2ME turn to be a hotspot.This article is an introduction to the design and development of the mobile phone intelligence game based on J2ME that author take part in.It is a good example of component-based development in J2ME environment.The program has been proved to run well on most mobile phone by experiments.
Key words:J2ME;mobile phone intelligence game;built-in;game architecture
1 引言
从20世纪 80 年代移动电话进入中国至今,中国的手机产业己经发生了翻天覆地的变化。无线通信己经成为发展最快、最前沿的通信领域之一。随着手机的普及,可编程手机的应用越来越广泛,基于Java的手机最为通行,Java基本上让所有的手机制造商所接受,成为手机应用与服务的标准。主要的生产商有诺基亚、爱立信、西门子、Motorola、三星等,它们都相继推出了具有Java功能的手机。
在诸多手机应用中,用手机玩游戏已经成为流行的一种消遣方式,全球手机游戏市场已经成为超过无线音乐和娱乐内容服务的最大应用。据IGDA2005年发布的手机游戏统计报告分析,手机游戏已成为游戏产业中增长最快的部分之一。2003年,全球手机游戏总收入达到 11亿美元,而日、韩的手机游戏收入占到全球收入的78%,在2008年预计全球收入将超过42亿美元[1]。
2 J2ME体系架构
随着可编程手机的不断普及,手机游戏也进入了高速发展期。In-Fusio ExEn、J2ME、Synergenix Mophun、BREW、OpenGL ES、Direct3Dm等多种手机游戏平台不断涌现,使得无线下载游戏和手机网络游戏受到越来越多人的青睐。在可编程手机中,基于J2ME的手机是最为通行的,J2ME基本使所有的手机制造商所接受,成为手机应用与服务的标准,逐渐成为当今的主流移动游戏平台[2]。
J2ME(Java 2 Micro Edition)是SUN公司针对嵌入式、消费类电子产品推出的开发平台,是Java2技术架构的组成部分,它与标准版J2SE(Java 2 Standard Edition,面向桌面开发和低端设备应用)和企业版J2EE(Java 2 Enterprise Edition,扩展了J2SE开发包,目的在于服务器端开发。在数据库访问、消息管理、进程间通信和事务处理等方面增加了新的特性)共同组成Java2技术的三个重要的分支[3],如图1所示。从 J2SE向外看,J2EE版本包含所有标准类库,还在J2SE的基础上扩展了支持企业应用的类库;从J2SE向内看,J2ME基本上是J2SE的一个子集,但同时做了些专门针对嵌入式应用的扩展类[4]。J2ME作为Java技术专为消费嵌入式系统定制的版本,具有稳定性、跨平台性、安全性、扩展性等特点,得到开发者、设备制作商、网络通信公司广泛接受。
J2ME技术核心由一个 Java虚拟机及一套适合运行在小型设备、独立设备、互联移动设备和嵌入式设备上的API接口构成,J2ME平台是本着配置(Configuration)和简表(Profile)结合来设计的,J2ME平台体系结构如图2所示。
J2ME所面对的是大量不同的设备,它们在外观和功能上各不相同。J2ME在对这些设备进行分类时,将一些共性提取出来,形成适合于某个范畴中设备可用的规范称为配置。配置是整个平台的核心,定义了Java虚拟机功能和特定类别设备上可用的Java类库的最小集,从某种程度上说,一个配置定义了Java平台功能部件和库的共同性,开发者可以假设这些功能部件和库在属于某一特定类别的所有设备上都是可用的。在配置中包含Java虚拟机,是为之下的操作系统所定制的,平台上的应用都是通过虚拟机与底层的主机操作系统进行通讯[5]。J2ME中配置可以分为两类:一是Connected Device Configuration(连接设备配置,简称CDC),运行在这一配置上的程序称为J2ME Application,在CVM上进行解释。二是Connected Limited Device Configuration (连接限制设备配置,简称 CLDC),运行在这一配置上的程序称为MIDlet,在KVM上进行解释。从设备的用途和功能的角度来看,CDC针对的设备主要是数字电视、网络电话、机顶盒、车载计算设备等。这些设备的特点是有网络或其他线路连接、设备的供电电源稳定、设备的外设资源比较受限或很少。而CLDC针对的设备主要是移动手持设备,例如PDA、POS机和智能手机。这些设备的特点是通过无线连接、没有稳定的电源供应(通常使用电池)、设备的外设资源极少或不具有外设。对于CLDC的要求,规范里所定义的类库除了Java标准核心类库的子集合之外,也加入了与该类型设备特性相符的扩充类库[6]。
J2ME将某一个行业或领域内设备的特性提取出来形成简表。简表位于配置之上,是针对一系列设备提供的开发包集合。提供对I/O的访问及用户图像界面的支持,与配置一起构架起J2ME平台的运行环境。例如,通常的手机应用程序的基础开发环境是CLCD MIDP。
在J2ME平台体系结构中,位于简表之上的可选包(Optional Packages)是厂商根据自己的需求对某些开发包规范的实现。针对特定设备提供了类库,比如,某些设备是支持蓝牙的,针对此功能J2ME中制作了JSR82(Bluetooth API)提供了对蓝牙的支持[7]。
3 手机智力游戏的开发
3.1 游戏架构
架构分析可分为游戏主模块、游戏状态机管理模块、世界管理模块和资源管理模块。整个游戏的框架分为3种状态:等待状态、运行状态(运行状态又分为多个子状态)、结束状态,它们运行在整个游戏世界中。整个游戏架构是基于状态机运行的,游戏运行时的各种不同形式被划分为一个个的状态,任何时候都会有一个状态被执行。考虑到状态嵌套的问题,所有的状态各自区分开来,在游戏的主线程中不断的判断,从而实现了状态之间的转换。游戏架构如图3所示。图3中读取游戏主模块是程序启动时自动调用的,然后游戏进入状态机管理模块,游戏的每一个过程都有相应的状态机管理,图3中的“选项”从属于游戏的资源模块,游戏的状态机管理模块会不断地从资源模块中调用资源在世界管理模块中进行渲染[8]。
3.2 游戏状态转化
在游戏中使用状态机,所谓状态机是由对象的各个状态和连接这些状态的转换组成。每个状态对应一个对象在其生命期中满足某种条件的一个时间段建模。当一个事件发生时,它会触发状态间的转换,导致对象从一种状态转化到另一新的状态[9]。与转换相关的活动执行时,转换也同时发生。使用状态机的优点:1)使用状态机可以精确的描述行为;2)便于对游戏进行处理及扩展;3)方便新状态的加入;4)方便状态之间的转换。状态转化图如图4所示。
4 结束语
随着科技的发展,手机的日益普及,健康、有趣、功能强大且益于大脑开发的智力游戏将会越来受到大众的欢迎。J2ME作为应用于嵌入式系统的Java平台,在手机游戏开发中具有很大优势。本文介绍了J2ME体系架构和J2ME的平台无关性,结合作者已有的实际游戏开发课题,运用J2ME平台提出了合理的手机智力游戏架构设计,试验证明,该架构支持蓝牙技术,并具有一定的通用性和可扩展性。
参考文献:
[1] Anonymous.2005 Mobile Games White Paper[M].IGDA0nline Games SIG,2005.
[2] 吴晓明.基于J2ME技术的手机网络游戏架构设计[D].硕士学位论文,中山大学,2006.
[3] 庄毅,黎浩宏.基于JZME架构的无线应用开发[J].计算机与现代化,2003,11:53-55.
[4] 程小梅.基于J2ME的手机益智游戏的设计与开发[D].硕士学位论文,华北电力大学,2007.
[5] 焦亮,基于J2ME的智能手机应用的设计与实现[D].硕士学位论文,2006.
[6] J2ME的体系结构[DB/OL].http://www.knowsky.com/365979.html.
[7] J2ME-丰富多彩的领域中生机勃勃的技术[DB/OL].http://www-128.ibm.com/developerworks/cn/java/1-j2metec/.
[8] (美)威尔斯(Wells,M.J).J2ME游戏编程[M].李鹏,陈炜,任俊伟译.北京:清华大学出版社,2005.
[9] 米川英树.J2ME MIDP手机游戏程序设计(游戏编程大师系列)[M].博硕文化,译.北京:中国铁道出版社,2005.
关键词:J2ME;手机智力游戏;嵌入式;游戏框架
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)27-2060-02
Study and Development of the Mobile Phone Intelligence Game Based on J2ME
LI Min1,LIU Hong-ying2
(1.Shandong College of Electronic Technology,Jinan 250014,China;2.Institute of Network Security Shandong University,Jinan 250100,China)
Abstract:As the version that customize for built-in system of Java,J2ME is prepackaged as a robust,secure,system-independent,and scalable platform.J2ME becomes the popular platform of mobile communication devices.And the application development based on J2ME turn to be a hotspot.This article is an introduction to the design and development of the mobile phone intelligence game based on J2ME that author take part in.It is a good example of component-based development in J2ME environment.The program has been proved to run well on most mobile phone by experiments.
Key words:J2ME;mobile phone intelligence game;built-in;game architecture
1 引言
从20世纪 80 年代移动电话进入中国至今,中国的手机产业己经发生了翻天覆地的变化。无线通信己经成为发展最快、最前沿的通信领域之一。随着手机的普及,可编程手机的应用越来越广泛,基于Java的手机最为通行,Java基本上让所有的手机制造商所接受,成为手机应用与服务的标准。主要的生产商有诺基亚、爱立信、西门子、Motorola、三星等,它们都相继推出了具有Java功能的手机。
在诸多手机应用中,用手机玩游戏已经成为流行的一种消遣方式,全球手机游戏市场已经成为超过无线音乐和娱乐内容服务的最大应用。据IGDA2005年发布的手机游戏统计报告分析,手机游戏已成为游戏产业中增长最快的部分之一。2003年,全球手机游戏总收入达到 11亿美元,而日、韩的手机游戏收入占到全球收入的78%,在2008年预计全球收入将超过42亿美元[1]。
2 J2ME体系架构
随着可编程手机的不断普及,手机游戏也进入了高速发展期。In-Fusio ExEn、J2ME、Synergenix Mophun、BREW、OpenGL ES、Direct3Dm等多种手机游戏平台不断涌现,使得无线下载游戏和手机网络游戏受到越来越多人的青睐。在可编程手机中,基于J2ME的手机是最为通行的,J2ME基本使所有的手机制造商所接受,成为手机应用与服务的标准,逐渐成为当今的主流移动游戏平台[2]。
J2ME(Java 2 Micro Edition)是SUN公司针对嵌入式、消费类电子产品推出的开发平台,是Java2技术架构的组成部分,它与标准版J2SE(Java 2 Standard Edition,面向桌面开发和低端设备应用)和企业版J2EE(Java 2 Enterprise Edition,扩展了J2SE开发包,目的在于服务器端开发。在数据库访问、消息管理、进程间通信和事务处理等方面增加了新的特性)共同组成Java2技术的三个重要的分支[3],如图1所示。从 J2SE向外看,J2EE版本包含所有标准类库,还在J2SE的基础上扩展了支持企业应用的类库;从J2SE向内看,J2ME基本上是J2SE的一个子集,但同时做了些专门针对嵌入式应用的扩展类[4]。J2ME作为Java技术专为消费嵌入式系统定制的版本,具有稳定性、跨平台性、安全性、扩展性等特点,得到开发者、设备制作商、网络通信公司广泛接受。
J2ME技术核心由一个 Java虚拟机及一套适合运行在小型设备、独立设备、互联移动设备和嵌入式设备上的API接口构成,J2ME平台是本着配置(Configuration)和简表(Profile)结合来设计的,J2ME平台体系结构如图2所示。
J2ME所面对的是大量不同的设备,它们在外观和功能上各不相同。J2ME在对这些设备进行分类时,将一些共性提取出来,形成适合于某个范畴中设备可用的规范称为配置。配置是整个平台的核心,定义了Java虚拟机功能和特定类别设备上可用的Java类库的最小集,从某种程度上说,一个配置定义了Java平台功能部件和库的共同性,开发者可以假设这些功能部件和库在属于某一特定类别的所有设备上都是可用的。在配置中包含Java虚拟机,是为之下的操作系统所定制的,平台上的应用都是通过虚拟机与底层的主机操作系统进行通讯[5]。J2ME中配置可以分为两类:一是Connected Device Configuration(连接设备配置,简称CDC),运行在这一配置上的程序称为J2ME Application,在CVM上进行解释。二是Connected Limited Device Configuration (连接限制设备配置,简称 CLDC),运行在这一配置上的程序称为MIDlet,在KVM上进行解释。从设备的用途和功能的角度来看,CDC针对的设备主要是数字电视、网络电话、机顶盒、车载计算设备等。这些设备的特点是有网络或其他线路连接、设备的供电电源稳定、设备的外设资源比较受限或很少。而CLDC针对的设备主要是移动手持设备,例如PDA、POS机和智能手机。这些设备的特点是通过无线连接、没有稳定的电源供应(通常使用电池)、设备的外设资源极少或不具有外设。对于CLDC的要求,规范里所定义的类库除了Java标准核心类库的子集合之外,也加入了与该类型设备特性相符的扩充类库[6]。
J2ME将某一个行业或领域内设备的特性提取出来形成简表。简表位于配置之上,是针对一系列设备提供的开发包集合。提供对I/O的访问及用户图像界面的支持,与配置一起构架起J2ME平台的运行环境。例如,通常的手机应用程序的基础开发环境是CLCD MIDP。
在J2ME平台体系结构中,位于简表之上的可选包(Optional Packages)是厂商根据自己的需求对某些开发包规范的实现。针对特定设备提供了类库,比如,某些设备是支持蓝牙的,针对此功能J2ME中制作了JSR82(Bluetooth API)提供了对蓝牙的支持[7]。
3 手机智力游戏的开发
3.1 游戏架构
架构分析可分为游戏主模块、游戏状态机管理模块、世界管理模块和资源管理模块。整个游戏的框架分为3种状态:等待状态、运行状态(运行状态又分为多个子状态)、结束状态,它们运行在整个游戏世界中。整个游戏架构是基于状态机运行的,游戏运行时的各种不同形式被划分为一个个的状态,任何时候都会有一个状态被执行。考虑到状态嵌套的问题,所有的状态各自区分开来,在游戏的主线程中不断的判断,从而实现了状态之间的转换。游戏架构如图3所示。图3中读取游戏主模块是程序启动时自动调用的,然后游戏进入状态机管理模块,游戏的每一个过程都有相应的状态机管理,图3中的“选项”从属于游戏的资源模块,游戏的状态机管理模块会不断地从资源模块中调用资源在世界管理模块中进行渲染[8]。
3.2 游戏状态转化
在游戏中使用状态机,所谓状态机是由对象的各个状态和连接这些状态的转换组成。每个状态对应一个对象在其生命期中满足某种条件的一个时间段建模。当一个事件发生时,它会触发状态间的转换,导致对象从一种状态转化到另一新的状态[9]。与转换相关的活动执行时,转换也同时发生。使用状态机的优点:1)使用状态机可以精确的描述行为;2)便于对游戏进行处理及扩展;3)方便新状态的加入;4)方便状态之间的转换。状态转化图如图4所示。
4 结束语
随着科技的发展,手机的日益普及,健康、有趣、功能强大且益于大脑开发的智力游戏将会越来受到大众的欢迎。J2ME作为应用于嵌入式系统的Java平台,在手机游戏开发中具有很大优势。本文介绍了J2ME体系架构和J2ME的平台无关性,结合作者已有的实际游戏开发课题,运用J2ME平台提出了合理的手机智力游戏架构设计,试验证明,该架构支持蓝牙技术,并具有一定的通用性和可扩展性。
参考文献:
[1] Anonymous.2005 Mobile Games White Paper[M].IGDA0nline Games SIG,2005.
[2] 吴晓明.基于J2ME技术的手机网络游戏架构设计[D].硕士学位论文,中山大学,2006.
[3] 庄毅,黎浩宏.基于JZME架构的无线应用开发[J].计算机与现代化,2003,11:53-55.
[4] 程小梅.基于J2ME的手机益智游戏的设计与开发[D].硕士学位论文,华北电力大学,2007.
[5] 焦亮,基于J2ME的智能手机应用的设计与实现[D].硕士学位论文,2006.
[6] J2ME的体系结构[DB/OL].http://www.knowsky.com/365979.html.
[7] J2ME-丰富多彩的领域中生机勃勃的技术[DB/OL].http://www-128.ibm.com/developerworks/cn/java/1-j2metec/.
[8] (美)威尔斯(Wells,M.J).J2ME游戏编程[M].李鹏,陈炜,任俊伟译.北京:清华大学出版社,2005.
[9] 米川英树.J2ME MIDP手机游戏程序设计(游戏编程大师系列)[M].博硕文化,译.北京:中国铁道出版社,2005.