基于Android的游戏设计与开发——硕士学位论文.doc

上传人:滴答 文档编号:1271564 上传时间:2019-01-25 格式:DOC 页数:52 大小:3.28MB
下载 相关 举报
基于Android的游戏设计与开发——硕士学位论文.doc_第1页
第1页 / 共52页
基于Android的游戏设计与开发——硕士学位论文.doc_第2页
第2页 / 共52页
基于Android的游戏设计与开发——硕士学位论文.doc_第3页
第3页 / 共52页
基于Android的游戏设计与开发——硕士学位论文.doc_第4页
第4页 / 共52页
基于Android的游戏设计与开发——硕士学位论文.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、 学校代码: 分类号: 密 级: 学 号: 基于 Android 的游戏设计与开发 研究生姓名 : 导师姓名 : 申请学位类别 工程硕士 学位授予单位 东 南 大 学 一级学科名称 软件工程 论文答辩日期 年 月 日 二级学科名称 学位授予日期 年 月 日 答辩委员会主席 评 阅 人 年 月 日 I 摘 要 关键字 : 东南大学硕士学位论文 II Abstract Key words: III 目 录 摘 要 .I ABSTRACT . II 第一章 绪论 . 1 1.1 研究背景 . 1 1.2 国内外研究现状 . 1 1.3 论文的研究目标 . 1 1.4 论文的组织结构 . 2 第二章

2、ANDROID平台技术和手机游戏开发的背景 . 3 2.1 Android 的系统架构 . 3 2.2 Android 文件结构和资源引用方式 . 6 2.3 手机游戏开发的背景 . 7 2.4 手机游戏开发中存在的问题 . 8 第三章 游戏的主题确定和框架设计 . 9 3.1 游戏的主题及功能概述 . 9 3.2 游戏的策划及准备工作 . 11 3.3 游戏的流程和模块设计 . 12 3.4 游戏的框架和相关类的设计 . 15 第四章 游戏中关键技术 的 实现 . 19 4.1 用碰撞检测算法实现碰撞检测 . 19 4.2 传感器技术实现重力感应 . 22 4.3 SQLite 数据库设计和

3、实现 . 27 4.4 Android 游戏社区化技术的实现 . 30 第五章 游戏中主要环节的实施方案 . 34 5.1 游戏的开发环境搭建 . 34 5.2 游戏的坐标和边界确定 . 35 5.3 Surface View 代替 View 处理游戏动画 . 36 5.4 SoundPool代替 MediaPlayer 处理游戏音效 . 37 5.5 用 Handle 解决 Android 游戏多线程处理问题 . 39 第六章 总结和展望 . 42 6.1 项目总结 . 42 6.2 未来工作展望 . 42 致谢 . 44 参考文献 . 45 第一章 绪论 1 第一章 绪论 1.1 研究背景

4、 3G 时代标志着互联网从电脑网络时代向手机网络时代过渡 ,运营商所能提供的网络服务越来越好,大家通过手机上网的速度越来越快,很多终端厂商为迎接 3G时代,纷纷推出了自己的智能手机。现在最热门的智能手机操作系统莫过于 Google公司主推 的 Android 系统,这个底层由 C 语言开发,上层为 java 的操作系统既有很强的硬件访问能力,又有很好的开放性。基于这些优点, Android 以非常快的速度就占据了全球智能手机操作系统第二的份额。 随着 Android 的发展,越来越多的软件加入了 Android 的阵营。 参考国内外提供 Android 软件下载的各大网站,都将 Android

5、 软件分为两大类:应用和游戏。这传达出一个重要的信息:游戏开发同样非常重要,甚至与应用开发平分秋色,并驾齐驱。但因为手机游戏的进入门槛低、产品质量参差不齐,企业鱼龙混杂,投身于手机游戏的 企业在产品开发时必须坚持精品路线,否则用户体验的不断恶化,只会导致手机游戏行业的整体沉没。 因此联想(上海)研究院发布了 2010 移动互联网精品战略 项目,本课题就是在这个项目下研究基于 Android 的游戏设计与开发。 1.2 国内外研究现状 基于 Android的游戏开发,国内国外的水平差距很大。在市场上成名的手机游戏基本上都是国外游戏公司开发的,而且很容易辨认。因为工作的关系,本人接触了很多 And

6、roid开发者的游戏,发现国内开发者开发的 Android手机游戏,不仅界面粗糙,而且设计简单,同质化严重,相同 的创意往往被反复抄袭很多次。而国外开发者开发的游戏,大型游戏内容丰富,情节完整;小型游戏也从用户体验和创意上远胜国内的开发者。 本文中提到的传感器技术,游戏社区化技术在国内游戏的开发中应用的很少。本文的研究目的也是在完成公司项目的基础上,提供 Android游戏开发中这些高级技术的解决方案。 1.3 论文的研究目标 本文的目的是研究基于 Android 的游戏设计与开发。根据游戏的背景和功能描述,进行了功能模块设计和相关类的框架设计,解决了游戏开发中动画处理,2 音效处理等关键问题

7、并解决了 Android 游戏开发中多线 程的操作处理问题。并运用碰撞检测算法实现了 Earth Saving游戏中的碰撞检测,在完成了联想 精品战略 的同时提供了 Android 游戏开发中先进的传感器技术、数据库技术和游戏社区化技术的解决方案。 1.4 论文的组织结构 论文内容安排如下: 第一章为绪论。介绍了课题的开发背景、论文完成的工作以及论文内容安排。 第二章为 Android 技术和手机游戏开发的背景介绍。介绍了 Android 的背景和技术架构,以及手机游戏开发的背景和存在问题。 第三章为游戏的主题确定和框架设计。通过游戏主题和功能概述,完成了 游戏策划的有关工作,包括游戏流程设计

8、和模块设计,游戏的相关类的设计和总体框架设计。 第四章为游戏中使用的关键技术和实现方法。包括使用碰撞检测算法实现碰撞检测,使用传感器技术实现游戏操作的重力感应,设计和搭建了 SQLite 数据库,并使用微云平台的 SDK 增加了游戏的社区化功能。 第五章为游戏中主要环节的实施方案。指出了游戏开发环境的搭建方法,游戏中坐标和边界的确定方法,并解决了游戏动画,游戏音效开发中的常见问题,最后使用 Handle 机制解决了 Earth Saving游戏的多线程处理中的问题。 第六章为项目的 总结和下一步工作展望。 3 第二章 Android平台技术和手机游戏开发的背景 Android 是 Google

9、 于 2007 年 11 月 5 日发布的基于 Linux 平台的开源手机操作系统,该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆叠架构,主要分为三个部分。底层以 Linux 内核为基础,由 C语言编写并编译,只提供基本功能;中间层包括函数库 Library 和一个 Java的虚拟机;所以最上层可以支持 Java 语言编写的各种应用软件,包括通话程序、游戏和在线互动程序等。本文开始编写时的最高版本为 Android 1.6,故在开发时采用的是较为稳定的 1.5 版本的 SDK,到本文完成时, Android的最高版本为 2.3 版本。 2.1 Android 的系统架构 And

10、roid 系统架构由 5 部分组成,分别是: Linux Kernel、 Android Runtime、 Libraries、 Application Framework、 Applications。 ( 1) Linux Kernel Android 基于 Linux 2.6 提供核心系统服务。例如:安全、内存管理、进程管理、网络堆栈、驱动模型。 Linux Kernel 也作为硬件和软件之 间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。 通过计算机网络知道 OSI/RM,分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影

11、响到上层。也就是说 各层各司其职,各层提供固定的 SAP( Service Access Point) ,专业点可以说是 高内聚、低耦合。 ( 2) Android Runtime Android 包含一个核心库的集合,提供大部分在 Java 编程语言核心类库中可用的功能。每一个 Android 应用程序是 Dalvik 虚拟机中的实例, 运行在他们自己的进程中。 Dalvik 虚拟机设计成,在一个设备可以高效地运行多个虚拟机。 Dalvik 虚拟机可执行文件格式是 .dex, dex 格式是专为 Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括 JVM 都是

12、基于栈的,而 Dalvik 虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。 dx 是一套工具,可以将 Java .class 转换成 .dex 格式。一个 dex 文件通常会有多个 .class。由于 dex 有时必须进行最佳化 ,会使文件大小增加 1 4 倍,以 ODEX 结尾。 4 Dalvik 虚拟机依赖于 Linux 内核提供基本功能,如线程和底层内存管理。 ( 3) Libraries Android 包含一个 C/C+库的集合,供 Android 系统的各个组件使用。这些功能通过 Android 的应用程序框架( appl

13、ication framework)暴露给开发者。下面列出一些核心库: 系统 C 库 :标准 C 系统库( libc)的 BSD 衍生,调整为基于嵌入式Linux 设备。 界面管理 :管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层。 LibWebCore:新式的 Web 浏览器引擎 ,驱动 Android 浏览器和内嵌的 web 视图 。 3D 库 :基于 OpenGL ES 1.0 APIs 的实现。库使用硬件 3D 加速或包含高度优化的 3D 软件光栅。 FreeType :位图和矢量字体渲染。 SQLite :所有应用程序都可以使用的强大而轻量级的关系数据库引擎。 ( 4)

14、Application Framework 通过提供开放的开发平台, Android 使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹 钟、向状态栏添加通知等等。 开发者可以完全使用核心应用程序所使用的框架 APIs。应用程序的体系结构旨在简化组件的重用,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。 所有的应用程序其实是一组服务和系统,包括: 视图( View) 丰富的、可扩展的视图集合,可用于构建一个应用程序。包括列表、网格、文本框、按钮,甚至是内嵌的网页

15、浏览器。 内容提供者( Content Providers) 使应用程序能访问其他应用程序(如通讯录)的数 据,或共享自己的数据。 资源管理器( Resource Manager) 提供访问非代码资源,如本地化字符串、图形和布局文件 第二章 Android 平台技术和手机游戏开发背景介绍 5 通知管理器( Notification Manager) 使所有的应用程序能够在状态栏显示自定义警告。 活动管理器( Activity Manager) 管理应用程序生命周期 ,提供通用的导航回退功能 2.5、 Applications Android 装配一个核心应用程序集合,包括电子邮件客户端、 SM

16、S 程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用 Java 编程语言写的。 所以开放性更好。 Android 系统架构见图 2-1。 图 2-1 Android 的系统框架图 Applications Home Contents Phone Browser 。 Application Framework Activity Windows Content ViewSys Telephony Package Resource Location Notifica Libraries Surface OpenGL SGL SSL Media Free Type Libc SQLite

17、 WebKit Android Core Libraries Dalvik VM Flash WiFi Power Camera Keypad Audio Display IPC Linux Kernel 6 自动生成 R.string.标签 string/标签 2.2 Android 文件结构和资源引用方式 Android 的项目文件结构和其他开发语言的文件结构不一样,除了有最常见的 src 存放源代码的文件夹以外,还多了 gen 文件夹, Android 的 jar 包, assets文件夹, res 存放资源的文件夹和 Android Manifest 文件。 图 2-2 Android

18、 项目文件结构图 Assets 文件和 res 文件都是存在资源的文件夹 ,他们的区别是:在 assets 中保存的文件一般是原生的文件,通常很少用到,例如 MP3 格式的文件, Android程序不能直接访问,必须通过 AssetManager 类以二进制流的形式来读取。而 res文件夹中的资源可以通过 R资源类直接访问。 下面这张图是我自己总结的 Android 资源引用的关系图: 图 2-3 Android 布局文件引用关系图 在 Android 中,是以 xml 文件来定义显示界面的,但是如果直接使用 xml的说明文件来存储界面描述到手机上,会占用相当大的文件空间,所以 Android没有直接使用 xml 文件,而是通过工具将 xml 说明文件转换成资源文件。 R.java就是这个资源文件的索引,在程序中可以使用 R 这个类来访问项目中包含的资源文件,这个 R 类是自动生成的,所以当项目中添加新的资源文件时,它的文件内容也跟着变化。 src R.java drawable(logo) values(strings) layout(main.xml)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。