1、摘要 I 基于 Android 手机的宠物游戏技术研究与实现 摘 要 在科技文化高速发展的今天,人们对电子游戏娱乐的需求也日益高涨。从最初的运行于掌上游戏机的“贪吃蛇”和“俄罗斯方块”到如今风靡全世界的网游无不体现了游戏的魅力。而随着智能手机终端的涌现,更是为电子游戏提供了高速发展的平台。特别是 iPhone 智能手机和 Android 智能手机的面世,为掌上休闲游戏与应用提供了更完善的的开发环境。 本文基于 Google 公司为广大智能手机开发者提供的 Android 系统环境,研究并开发了一款名为“吉祥鸟”的宠物休闲类游戏。该游戏 主要是在研究了Android 系统的 SQLite 数据库
2、、 AppWidget 框架、 SurfaceView 组件、重力感应等的基础之上构建游戏数据中心、游戏控制引擎、桌面映射框架、游戏渲染引擎、电子罗盘,并将它们整合开发出一个具有良好娱乐界面和极强的趣味性的休闲游戏。 首先,论文介绍了实现宠物游戏的相关理论基础、运行平台和实现技术;其次,论文重点研究了 SQLite 数据库的技术特点及游戏数据的存取,让本游戏的大量数据更易整合,提高数据的存取效率;再次,为了让游戏具有较强的视觉和听觉冲击,本论文研究并融入了图形图像组件 和音效组件;另外,论文还研究并融入了 Android SDK 的变换矩阵和手势操作,使游戏操作更加友好;最后,论文对游戏的各个
3、模块进行了功能和性能测试。 本文及本游戏最大的特色主要有三点:其一是在 Android 系统的 AppWidget框架中结合 SQLite 数据库及图形图像处理等组件构建了一款轻松休闲游戏;其二是在游戏中富有创意的融入了极具趣味的宠物预测、宠物占卜等娱乐功能,并附带万年历等实用功能;其三是在重力感应的基础上开发出了电子罗盘。 关键词: Android;宠物游戏; SQLite; 重力感应;游戏渲染 昆明理工大学硕士学位论文 II Abstract III Research and Implementation of pet game based on Android Abstract With
4、 the rapid development of science and technology nowadays, the demands of entertainment video games are growing fast. From the first games that run on the handhelds “Snake“ and “ Tetris”to the now popular around the world online games reflect all the charm of the games. With the emergence of intelli
5、gent mobile terminals, a high-speed video game development platform is provided. Especially when the iPhone and Android phones are available, a better development environment for the applications of handheld casual games is more convenient. Based on the Android system environment of Google that prov
6、ided for the majority of smartphone developers , this thesis researches and develops a pet casual game which is called “lucky bird“. The game is mainly based on the study of the Androids SQLite database system, AppWidget framework, SurfaceView control and game data center, game control engine, deskt
7、op mapping framework, game rendering engine on top of it, with a good view of entertainment interface, and highly interesting. First, the paper introduces the theory of implementation based on pet game, running platform and implementation technology; Secondly, the paper focuses on the technical char
8、acteristics , storage and access to the game data of SQLite database, it makes it easier to integrate the abundant data of this game, more efficiency to improve data storage and access .Again, in order to make the game a strong visual and auditory impact, this paper researches and integrates into th
9、e SurfaceView controls and SoundPool controls; In addition, the thesis also researches and integrates into the Matrix operations and Gesture gestures to make the game more friendly to operate ; Finally, each module of the game is functional and robustness tested. The most two distinguishing features
10、 of this paper and game are: one is that this casual game is combined the SQLite database with the SurfaceView controls in the Android framework with AppWidget; the other is that it integrates a highly original Fun fortune telling ,divination and other entertainment features into the game, 昆明理工大学硕士学
11、位论文 IV and comes with calendar and other useful features. Keywords: Android;Pet game;SQLite; Gravity sensing;Game render目录 V 目 录 摘要 I Abstract 错误 !未定义书签。 目 录 V 第 一章 绪论 1 1.1 手机游戏的研究背景 1 1.2 国内外手机游戏的研究现状 2 1.3 论文主要研究内容 5 1.4 论文组织结构 5 1.5 小结 6 第二章 ANDROID 平台研究 7 2.1 Android 特性 7 2.2 Android 构架 7 2.3 i
12、Phone 平台概述 10 2.4 Android 与 iPhone 比较 10 2.5 小节 11 第三章 ANDROID 手机宠物游戏引擎及相关技术研究 13 3.1 宠物 鹦鹉手机游戏概述 13 3.1.1 游戏主题创意 13 3.1.2 游戏运行机制概述 13 3.2 游戏控制引擎 14 昆明理工大学硕士学位论文 VI 3.2.1 Activity 15 3.2.2 Intent Receiver 16 3.2.3 Service 17 3.2.4 ContentProvider 17 3.2.5 多线程 18 3.3 游戏数据中心 19 3.3.1 Android 数据存取方式概述
13、19 3.3.2 SQLite数据库 19 3.3.3 SharePreference存储方式 20 3.4 AppWidget 框架 21 3.4.1 AppWidget概述 21 3.4.2 Appwidget的工作原理 21 3.4.3 AppWidget构建方法 22 3.5 游戏界面渲染引擎 23 3.5.1 SurfaceView 组件 23 3.5.2 帧动画 25 3.5.3 矩阵运算 25 3.5.4 声音播放组件 26 3.5.5 OpenGL ES 3D渲染技术 27 3.6 周易预测学浅析 28 3.7 电子罗盘 28 3.7.1 重力感应 28 目录 VII 3.7.
14、2 罗盘 29 3.8 小结 30 第四章 宠物鸟游戏的实现 31 4.1 宠物鸟游戏的开发工作 31 4.2 游戏素材创作 31 4.2.1 游戏界面设计 31 4.2.2 角色动画的设计 33 4.3 软件整体运行流程 35 4.4 游戏数据中心的实现 36 4.4.1 基于 SQLite的数据中心实现 36 4.4.2 运用 SharePreference暂存游戏中间结果 38 4.5 宠物养成的实现 38 4.5.1 游戏动画渲染引擎实现 39 4.5.2 游戏操作接口实现 41 4.5.3 游 戏控制引擎实现 43 4.6 AppWidget 映射 44 4.7 宠物预测实现 45
15、4.7.1 宠物预测 UI 设计 46 4.7.2 宠物预测功能实现 48 4.8 电子罗盘的实现 49 4.8 小结 51 第五章 游戏测试 53 昆明理工大学硕士学位论文 VIII 5.1 测试环境 53 5.2 宠物游戏的功能测试 53 5.2.1 宠物角色动画渲染测试 53 5.2.2 游戏互动娱乐测试 54 5.2.3 宠物预测功能测试 55 5.2.4 AppWidget映射 测试 55 5.2.5 电子罗盘的测试 56 5.3 游戏性能测试 57 5.4 小结 57 第六章 总结与展望 59 6.1 总结 59 6.2 展望 59 致谢 61 参考文献 63 硕士期间发表软件著作
16、权 67 绪论 1 第一章 绪论 1.1 手机游戏的研究背景 自上世纪 80 年代第一部手机诞生以来,随着计算机技术的进步,手机也经历了从模拟到 GSM、 2.5G再 到今天的 3G手机如此一个发展历程 12。特别是进入21 世纪后手机的硬件性能得到很大的提高,当前主流手机普遍配有主频 500MHZ的微处理器和 500MB 容量的存储器。与之同步发展的还有支持手机运行的手机操作系统,从当初的单片机系统到后来的专用嵌入式系统,到后来开始为智能手机设计开发出可以更高效管理手机软硬件资源的操作系统 2,其中有不少属于开源项目的手机操作系统。目前全球的智能手机操作系统主要以 Google 公司开发的A
17、ndroid 系统、苹果公司开发的 iPhone 系统、诺基亚公司开发的 Symbian 系统、微软公司开发的 WindowsMobile 系统和 Linux 系统为代表。从图 1.1 为 2010 全球智能手机操作系统市场份额统计 , Android 仅仅经过两三年的发展就抢占了 9%的市场份额,并保持着 2%的增长速度。中国是最大的手机市场, 2010 年的统计数据表明, Android 已取代了 iPhone 成为中国市场额最大的智能手机操作系统。 图 1.1 2010 全球智能手机操作系统市场份额统计 昆明理工大学硕士学位论文 2 Android 系统是 Google 公司于 2007
18、年推出的一款手机操作系统,目前能安装于 HTC、摩托罗拉、联想、华为等知名品牌手机。它 是基于 Linux2.6.1 内核的一个开源手机操作系统,目前最高版本为 2.3,集成了 GPS 电子地图导航、重力感应器、多点触控等重要功能,开发者可以开发出丰富的运用。由于 Android智能手机操作系统是一个开源项目,具有很强的开放性和可扩展性,吸引了大量的手机软件开发人员为这些手机系统开发应用软件及休闲游戏,极大的丰富了手机功能。为服务广大的开发人员与谷歌手机用户,谷歌公司在因特网搭建了一个应用软件商店。开发人员开发出的手机应用软件可以陈列于应用软件商店中供用户挑选购买,解决了软件工程师最薄弱的软件
19、营销环节,作 为目前广大手机软件工程师最大的创收途径而博得广泛的热衷。 电脑游戏是很多人不可或缺的娱乐活动,八九十年达的“贪吃蛇”和“超级玛利亚”给大家留下了欢乐的欢乐记忆,也为游戏创作者带来了巨额财富。近二十年来,随着计算机硬件性能的提升及软件开发者的努力,游戏作品不论是创意还是视听感觉都有飞跃的发展。当前电脑游戏行业非常繁荣,竞争也非常激烈,随着智能手机的问世并普及,越来越多的游戏开发人员把目光转向了手机游戏这个新兴的行业。 手机通常重量轻,随身携带方便,现代人们压力大,非常希望在工作之余,上下班途中可以通过娱乐来放 松自己,此时,手机游戏便能发挥出它轻松休闲的特点。受手机性能的制约,以往
20、运行于手机之上的游戏一般较为简单,但随着微电子技术的发展,手机性能越来越优良,现在已经可以开发出类似于 PC 机上的游戏。特别是随着 3G 移动网络的迅猛发展,可以预料在十年之内目前如火如荼的网络游戏也将转战至手机平台。 在手机游戏及应用开发方面目前以 Android SDK、 J2ME MIDP、 Objective C为主流开发环境。 Android SDK 为开发者提供大量全面的 API,有 SQLite 数据库操作的 API,也有 3D 图形图像框架 OPENGL ES,还有 2D图形渲染的 SurfaceView。论文在研究了 Android SQLite、图形图像处理、 AppWidget 框架、多点触控接口、多线程等游戏相关技术的基础上融合中国的传统周易文化实现了一款妙趣横生的宠物休闲游戏。 1.2 国内外手机游戏的研究现状 在手机应用开发领域当前较为火热的有 J2ME语言、 Object C 语言和 Android