1、 本科毕业论文 (科研训练、毕业设计 ) 题 目:宠虫手机宠物游戏开发 姓 名: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 年 月 宠虫手机宠物游戏开发 1 摘 要 随着手机 的普及以及手机硬件的不断升级,手机游戏逐渐成为游戏行业中不可忽视的一支分流。 现在市场上手机游戏内容丰富多彩,类型多 样 。 为了 更好地 了解手机游戏行业,理解手机游戏理论, 熟悉手机游戏开发技术,我们选择了一个 2D 单屏幕手机游戏作为毕 业设计的目标。 游戏的类型则选择了属于养成类的宠物游戏。 本文的内容以 宠虫 手机宠物游戏的开发为基础, 探讨 了 手机游戏
2、 开发中的主流技术 J2ME,以及手机游戏 的开发环境和开发流程以及所用到的各种相关工具。 手机宠物游戏的策划方面涉及到了 手机游戏设计的理论,特别是 单屏幕游戏的策划和流程设计。这些内容虽然比较简单,却能基本代表了一个手机游戏在策划方面的所有工作。 本文进一步介绍了 我们的毕业设计的策划方面的内容。 关键词 : 手机游戏 ; J2ME; 宠物游戏 宠虫手机宠物游戏开发 2 Abstract Along with the handset popularization as well as the handset hardware promotion, the handset game grad
3、ually becomes a noticeable divergence in the game-profession. Now there are so many handset games with rich contents and diverse types in the market. In order to understand the handset game profession, the theory of handset game, the technology in handset game development, we chose a 2D handset game
4、 with single screen as the goal of the graduation project. The game type was kind of pet game. This article took the development of our graduation project as a foundation, introduced the mainstream technology in developing handset game-J2ME. It also mentioned the development environment of developin
5、g handset game and the development flow as well as each kind of related tool. This pet game involved the design theory of handset game, specially the plan of single screen game and design of game flow. These contents although are quite simple, actually could basically represent all the work that are
6、 needed in the plan of a handset game. This article also introduced the plan aspect content of our graduation project. Key words: handset game; J2ME; pet game. 宠虫手机宠物游戏开发 3 目录 第一章 手机游戏开发基础 . 5 1.1 J2ME 介绍 . 5 1.1.1 各种 JAVA 平台 . 5 1.1.2 J2ME 的技术架构 .11 1.1.3 为何采用 J2ME. 12 1.2 手机游戏开发环境 . 12 1.3 MIDP 应用
7、程序 . 13 1.4 Java Application Manager. 13 1.5 J2ME 程序开发流程及工具 . 13 第二章 宠物游戏的策划 . 15 2.1 单屏幕手机游戏概述 . 15 2.2 手机游戏策划概论 . 16 2.2.1 想完成手机游戏的动力 . 17 2.2.2 竞争的动力 . 17 2.2.3 提高操作技巧的动力 . 17 2.2.4 渴望探险的动力 . 17 2.2.5 获得高分的动力 . 17 2.3 宠虫手机宠物游戏的策划 . 18 2.3.1 宠虫手机宠物游戏的功能 . 18 2.3.2 宠虫手机宠物游戏的流程图 . 20 第三章 宠物游戏的设计 . 2
8、2 3.1 本程序需解决的有关技术问题 . 22 3.2 程序流程 . 22 3.3 绘图与 MIDP2.0 新增的 GameCanvas 包 . 23 3.3.1 提供低级绘制的 Canvas 类 . 23 3.3.2 Graphics 类 . 23 3.3.3 PNG 格式 . 24 3.3.4 有关绘图的一些技术 . 24 3.4 内存使用的最佳化 . 24 3.5 模拟器的相关调试 . 25 第四章 常见错误分析 . 26 4.1 画图错误 . 26 4.2 变量没有定义或没有初始化 . 26 4.3 在类中不能使用线程 . 26 4.4 错误总结 . 26 第五章 总结 . 28 致
9、谢 29 参考文献 30 宠虫手机宠物游戏开发 4 Contents Chapter 1 Foundation of developing handset game. 5 1.1 Introduction of J2ME . 5 1.1.1 Defferent kinds of JAVA platforms . 5 1.1.2 J2ME technical overhead construction .11 1.1.3 Why use J2ME . 12 1.2 Development environment of handset game. 12 1.3 MIDP. 13 1.4 Java
10、Application Manager. 13 1.5 Flow and tools of J2ME programe. 13 Chapter 2 Plan of pet game . 15 2.1 Outline of single screen handset game . 15 2.2 Introdution of handset game plan . 16 2.2.1 Power of wantting to complete the handset game . 17 2.2.2 Power of competition . 17 2.2.3 Power of enhancing
11、the operation skill. 17 2.2.4 Power of exploration . 17 2.2.5 Power of obtaining the highest score . 17 2.3 Plan of the graduation project game . 18 2.3.1 Functions of the graduation project game. 18 2.3.2 Flow chart of the graduation project game . 20 Chapter 3 Pet game design. 22 3.1 Related techn
12、ical problems . 22 3.2 Procedure flow . 22 3.3 Cartography and the new GameCanvas package in MIDP2.0. 23 3.3.1 Canvas class . 23 3.3.2 Graphics class . 23 3.3.3 PNG file . 24 3.3.4 Related cartography technologys . 24 3.4 Optimization of memory . 24 3.5 Debuggings of simulator . 25 Chapter 4 Analysi
13、s of common bugs . 26 4.1 Painting bugs . 26 4.2 Variable bugs . 26 4.3 Thread bugs. 26 4.4 Summary of bugs . 26 Chapter 5 Summary . 28 Acknowledgement . 29 References . 30 宠虫手机宠物游戏开发 5 第一章 手机游戏开发基础 1.1 J2ME 介绍 1.1.1 各种 JAVA 平台 随着 Internet 网络的迅速发展,基于互联网的企业应用要求软件平台具有开放性、分布性和平台无关性。于是就相继出现了 RPC/COM/COR
14、BA 等技术,但这些技术在实际应用中存在着许多不足和局限。它们的特定协议难以通过防火墙,因而不适于 Web 上的应用开发。为了进一步开发基于 Web 的应用,出现了 Sun 公司的 Sun ONE( Open Net Environment 开发网络环境)和 Microsoft 公司的 .NET 等 Web 服务技术体系。 Sun ONE 体系结构以 Java 语言为核心,包括 J2SE/J2EE/J2ME 和一系列的标准、技术及协议。它包括 Sun 独有的 iPlanet 软件系列,其中有在市场上受欢迎的 LDAP 目录服务器软件,以及 Forte for Java 便于在任何环境下书写 J
15、ava 语言的软件工具。 用户 很容易就能从网上免费获得和使用包括 Java 集成开发环境、 Java 数据库和中间件( Application Server)服务器等产品,以及它们的源代码。 Sun ONE 更接近或能满足互联网在智能化 Web 服务方面对分布性、开发性和平台无关性的要求。 随着 Java 技术的不断发展,它根据市场进一步细分为 :针 对企业网应用的 J2EE( Java 2 Enterprise Edition)、针对普通 PC 应用的 J2SE( Java 2 Standard Edition)和针对嵌入式设备及消费类电器的 J2ME( Java 2 Micro Edit
16、ion)三个版本。本节 就 Sun ONE 的 Java 核心应用 J2SE/J2EE/J2ME 作一些介绍。 J2EE J2EE 是 Sun 公司推出的一种全新概念的模型,比传统的互联网应用程序模型更有优势。 J2EE 的应用编程模型( J2EE Blueprints)提供了一种用于实施基于 J2EE 多 层应用的文档和实例套件的体系模型,简化了这项复杂的工作。它被开发人员用作设计和优化组件,以便开发人员从策略上对开发工作进行分工。 J2EE 应用编程模型要求开发者将自己的工作分成两类:商业逻辑和表示逻辑,其余则由系统资源自处理,不必为中间层管道进行编码。这样,开发人员就能将更多的时间花在
17、动 商业逻辑和表示逻辑上。对重视缩短项目周期的公司来说,这种转变深受欢迎。 宠虫手机宠物游戏开发 6 J2EE 平台是运行 J2EE 应用的标准环境,由 J2EE 部署规范(一套所有 J2EE 平台产品都必须支持的标准)、 IETF 标准集和 CORBA 标准组成。最新的 J2EE 平台还添加了 JavaBean组件模型。开发人员可以利用 JavaBean 组件模型来自定义 Java 类实例,并可通过已定义的事件访问 Java 类。 J2EE 支持 EJB,因此开发人员可以执行多用户交易功能。当在 J2EE 服务器上运行时,Enterprise JavaBeans 将应用逻辑分成可再利用和可扩
18、展的代码段。 Enterprise JavaBeans 并不是新特征,但是通过定义标准客户端和服务 API, J2EE 增强了它的能力和可移植性。 EJB 在服务器的一个容器内运行,提供所有典型的中间层服务,如事务管理、安全、 远程客户连接、生存周期管理和数据库连接缓冲。为了让事务系统在存在 EJB 容器的情况下运行,开发人员只需在部署描述文件中定义 Beans 的事务属性即可。 J2EE 通过定义一组标准的结构来实现它的优势,例如: 1. J2EE Application Programming Model,是一种用于开发多层次、瘦型客户用户程序的标准设计模型; 2. J2EE Platfo
19、rm,是一个标准的平台,用来整合 J2EE 的应用程序,并指定一系列的接口和方法; 3. J2EE Compatibility Test Suite,是一套兼容测试组件,用来检测产品是否同 J2EE 平台兼容; 4. J2EE Reference Implementation,用来示范 J2EE 的能力。 Sun 的 J2EE 服务器通过 Java 命名和目录接口( JNDI)、认证、 HTTP 及与 Enterprise JavaBeans 兼容的能力,提供命名和目录服务。 JNDI 是 Java 平台的一种标准扩展版,向企业内的命名和目录服务提供具有 Java 功能的,带有统一接口的应用,
20、包括 LDAP。 J2EE 服务器还利用了 Java Servlet 技术。 Java Servlet 可以看作是运行在服务器上的一个小程序,它向开发人员提供以组件为基础创建基于 Web 应用的、独立于平台的方法。它不像利用 CGI 那样具有性能局限。 Java Servlet 是一种扩展 Web 服务器功能的简单技巧。由于它是用 Java 编写的,因而能够访问整个 Java API 库,也包括用于访问企业数据库的 JDBC API。 JSP 是 Java Servlet的一种扩展。 Java Servlet提供开发和显示来自服务器的交互式 Web 页。如今 JSP 又有了进一步的改进,它使得
21、创建和支持静态模板和动态内容相结 合的 HTML 和XML 页面更加容易。 J2EE 平台定义了一种标准的公开存取控制规则,当程序在企业平台上开发时就已被程序师定义和解释了。 J2EE 也需要提供一个标准的注册机制,以便应用程序不会将这些注册机制宠虫手机宠物游戏开发 7 和逻辑相混合,从而使相同的工作执行于大量的不同环境中时并不需要改变源代码。例如:J2EE 应用程序开发人员可以指定几个安全级别,当用户访问数据时,他们可写出代码来检查当前用户权限的级别。在开发阶段,开发人员赋予多组用户适当的安全级,使应用程序在执行限制操作之前能够容易的判断限制级。 J2EE 平台是 Java 技术企 业级应用
22、的最佳平台,它可以让程序员迅速、快捷地开发和分布企业级 应用程序。以下便是它的相关技术: 1. Enterprise JavaBeans Architecture,企业级 JavaBeans 定义了一个应用程序接口。它可以使程序员迅速开发、发布和管理跨平台的、基于组件的企业级应用程序。 2. JavaServer Pages, JSP 技术提供了一种简单、快速的方法来创建动态网页。通过它,可以快速地开发基于 Web 的应用程序,并且这些应用程序都是与平台无关的。因为 JSP 与ASP 很相似,所以熟悉 ASP 的人学习它就很容易了。 3. Java Servlet,提供了应用程序接口。通过它可
23、以简单快速地开发并扩展服务器功能。就发展趋势来看,它将来有可能取代 CGI。 4. J2EE Connector,提供了一种标准结构来联接不同的企业信息平台。 5. Java Naming and Directory Interface(JNDI),在 Java 平台与商业信息之间, JNDI 提供了统一、无缝的标准化连接。通过使用 JNDI,程序员可以在企业多命名与目录服务之间传送 Java 应用程序。 6. Java Interface Definition Language(JIDL),, 通过使用 CORBA,可以提供协同工作的能力。 JIDL 包括一个 IDL-to-Java 编译器
24、和支持 IIOP( Internet Inter-Orb Protocol)的 ORB。 7. JDBC, 几乎是为所有的数据库提供了统一的接口,同时可以创建高级工具和接口。 8. Java Message Service(JMS),它几乎规范了所有企业级消息服务,如可靠查询、发布消息、订阅杂志等各种各样的 PUSS/PULL 技术的应用 ,并且为它们提供了一个标准接口。 9. Java Transaction API(JTA),为分布式系统中可处理的应用程序规定了一个高级的管理规范。 10. JavaMail, JavaMail 应用程序接口提供了一整套模拟邮件系统的抽象类。通过JavaMa
25、il,可以创建邮件或消息应用程序。 11. RMI-IIOP, 使用它就可以只用 Java 技术和 Java RMI 接口开发客户机与服务器的远程接口。 J2EE 使用固定的文件格式捆绑某个模块:用 .ear 文件捆绑 J2EE 应用程序;用 .jar 捆绑Enterprise Bean。例如,一个 .ear 文件包含一个 .xml 文件作为其分布描述,还包含一个或多个 .jar宠虫手机宠物游戏开发 8 和 .war 文件;一个 .jar 文件除了包含它的分布描述外,还包含了作为 Enterprise bean 的 .class文件。 J2EE 应用程序的开发阶段分为四步: 1. Enterprise Bean 创建; 2. Web Component 创建; 3. J2EE 应用程序装配; 4. J2EE 应用程序分布。 J2ME J2ME( Java 2 Platform Micro Edition)是 为无线电子市场所设计的,包括 JVM 规范和 API规范。其 API 规范是基于 J2SE( Java 2 Standard Edtion)的。 J2ME 定义了一套合适的类库和虚拟机技术。这些技术可以使用户、服务提供商和设备制造商通过物理(有线)连接或无线连接,按照