ImageVerifierCode 换一换
格式:DOC , 页数:52 ,大小:3.28MB ,
资源ID:1271564      下载积分:30 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1271564.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Android的游戏设计与开发——硕士学位论文.doc)为本站会员(滴答)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

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

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个工作日内予以改正。