《毕业论文基于Android系统的手机宠物游戏技术研究与实现32790.doc》由会员分享,可在线阅读,更多相关《毕业论文基于Android系统的手机宠物游戏技术研究与实现32790.doc(73页珍藏版)》请在三一办公上搜索。
1、基于Android手机的宠物游戏技术研究与实现摘 要在科技文化高速发展的今天,人们对电子游戏娱乐的需求也日益高涨。从最初的运行于掌上游戏机的“贪吃蛇”和“俄罗斯方块”到如今风靡全世界的网游无不体现了游戏的魅力。而随着智能手机终端的涌现,更是为电子游戏提供了高速发展的平台。特别是iPhone智能手机和Android智能手机的面世,为掌上休闲游戏与应用提供了更完善的的开发环境。本文基于Google公司为广大智能手机开发者提供的Android系统环境,研究并开发了一款名为“吉祥鸟”的宠物休闲类游戏。该游戏主要是在研究了Android系统的SQLite数据库、AppWidget框架、SurfaceVi
2、ew组件、重力感应等的基础之上构建游戏数据中心、游戏控制引擎、桌面映射框架、游戏渲染引擎、电子罗盘,并将它们整合开发出一个具有良好娱乐界面和极强的趣味性的休闲游戏。首先,论文介绍了实现宠物游戏的相关理论基础、运行平台和实现技术;其次,论文重点研究了SQLite数据库的技术特点及游戏数据的存取,让本游戏的大量数据更易整合,提高数据的存取效率;再次,为了让游戏具有较强的视觉和听觉冲击,本论文研究并融入了图形图像组件和音效组件;另外,论文还研究并融入了Android SDK的变换矩阵和手势操作,使游戏操作更加友好;最后,论文对游戏的各个模块进行了功能和性能测试。本文及本游戏最大的特色主要有三点:其一
3、是在Android系统的AppWidget框架中结合SQLite数据库及图形图像处理等组件构建了一款轻松休闲游戏;其二是在游戏中富有创意的融入了极具趣味的宠物预测、宠物占卜等娱乐功能,并附带万年历等实用功能;其三是在重力感应的基础上开发出了电子罗盘。关键词:Android;宠物游戏;SQLite; 重力感应;游戏渲染Research and Implementation of pet game based on AndroidAbstractWith the rapid development of science and technology nowadays, the demands of
4、 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 intelligent mobile terminals, a high-speed video game development platform is prov
5、ided. 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 provided for the majority of smartphone developers , this thesis researches and
6、 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, desktop mapping framework, game rendering engine on top of it, with a good view of
7、 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 characteristics , storage and access to the game data of SQLite database, it make
8、s 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 the SurfaceView controls and SoundPool controls; In addition, the thesis also r
9、esearches 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 of this paper and game are: one is that this casual game is combined the SQL
10、ite 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, and comes with calendar and other useful features.Keywords: Android;Pet game;SQLite; G
11、ravity sensing;Game render目 录摘要IAbstractIII目 录V第一章 绪论11.1 手机游戏的研究背景11.2 国内外手机游戏的研究现状21.3 论文主要研究内容51.4 论文组织结构51.5 小结6第二章 ANDROID平台研究72.1 Android特性72.2 Android构架72.3 iPhone平台概述102.4 Android与iPhone比较102.5 小节11第三章 ANDROID手机宠物游戏引擎及相关技术研究133.1 宠物鹦鹉手机游戏概述133.1.1 游戏主题创意133.1.2 游戏运行机制概述133.2 游戏控制引擎153.2.1 Ac
12、tivity153.2.2 Intent Receiver163.2.3 Service173.2.4 ContentProvider173.2.5 多线程183.3 游戏数据中心193.3.1 Android数据存取方式概述193.3.2 SQLite数据库193.3.3 SharePreference存储方式203.4 AppWidget框架213.4.1 AppWidget概述213.4.2 Appwidget的工作原理213.4.3 AppWidget构建方法223.5 游戏界面渲染引擎233.5.1 SurfaceView组件233.5.2帧动画253.5.3矩阵运算253.5.4
13、声音播放组件263.5.5 OpenGL ES 3D渲染技术273.6周易预测学浅析283.7电子罗盘293.7.1重力感应293.7.2罗盘303.8小结30第四章 宠物鸟游戏的实现314.1宠物鸟游戏的开发工作314.2 游戏素材创作314.2.1游戏界面设计314.2.2 角色动画的设计334.3 软件整体运行流程354.4 游戏数据中心的实现364.4.1 基于SQLite的数据中心实现364.4.2 运用SharePreference暂存游戏中间结果384.5宠物养成的实现394.5.1 游戏动画渲染引擎实现404.5.2 游戏操作接口实现424.5.3 游戏控制引擎实现444.6
14、AppWidget映射454.7 宠物预测实现474.7.1 宠物预测UI设计484.7.2 宠物预测功能实现494.8电子罗盘的实现514.8 小结53第五章 游戏测试535.1 测试环境535.2 宠物游戏的功能测试535.2.1 宠物角色动画渲染测试535.2.2 游戏互动娱乐测试555.2.3 宠物预测功能测试555.2.4 AppWidget映射测试565.2.5电子罗盘的测试575.3 游戏性能测试575.4 小结58第六章 总结与展望596.1 总结596.2 展望59致谢61参考文献63硕士期间发表软件著作权67第一章 绪论1.1 手机游戏的研究背景自上世纪80年代第一部手机诞
15、生以来,随着计算机技术的进步,手机也经历了从模拟到GSM、2.5G再到今天的3G手机如此一个发展历程12。特别是进入21世纪后手机的硬件性能得到很大的提高,当前主流手机普遍配有主频500MHZ的微处理器和500MB容量的存储器。与之同步发展的还有支持手机运行的手机操作系统,从当初的单片机系统到后来的专用嵌入式系统,到后来开始为智能手机设计开发出可以更高效管理手机软硬件资源的操作系统2,其中有不少属于开源项目的手机操作系统。目前全球的智能手机操作系统主要以Google公司开发的Android系统、苹果公司开发的iPhone系统、诺基亚公司开发的Symbian系统、微软公司开发的WindowsMo
16、bile系统和Linux系统为代表。从图1.1为2010全球智能手机操作系统市场份额统计,Android仅仅经过两三年的发展就抢占了9%的市场份额,并保持着2%的增长速度。中国是最大的手机市场,2010年的统计数据表明,Android已取代了iPhone成为中国市场额最大的智能手机操作系统。图1.1 2010全球智能手机操作系统市场份额统计Android系统是Google公司于2007年推出的一款手机操作系统,目前能安装于HTC、摩托罗拉、联想、华为等知名品牌手机。它是基于Linux2.6.1内核的一个开源手机操作系统,目前最高版本为2.3,集成了GPS电子地图导航、重力感应器、多点触控等重要
17、功能,开发者可以开发出丰富的运用。由于Android智能手机操作系统是一个开源项目,具有很强的开放性和可扩展性,吸引了大量的手机软件开发人员为这些手机系统开发应用软件及休闲游戏,极大的丰富了手机功能。为服务广大的开发人员与谷歌手机用户,谷歌公司在因特网搭建了一个应用软件商店。开发人员开发出的手机应用软件可以陈列于应用软件商店中供用户挑选购买,解决了软件工程师最薄弱的软件营销环节,作为目前广大手机软件工程师最大的创收途径而博得广泛的热衷。电脑游戏是很多人不可或缺的娱乐活动,八九十年达的“贪吃蛇”和“超级玛利亚”给大家留下了欢乐的欢乐记忆,也为游戏创作者带来了巨额财富。近二十年来,随着计算机硬件性
18、能的提升及软件开发者的努力,游戏作品不论是创意还是视听感觉都有飞跃的发展。当前电脑游戏行业非常繁荣,竞争也非常激烈,随着智能手机的问世并普及,越来越多的游戏开发人员把目光转向了手机游戏这个新兴的行业。手机通常重量轻,随身携带方便,现代人们压力大,非常希望在工作之余,上下班途中可以通过娱乐来放松自己,此时,手机游戏便能发挥出它轻松休闲的特点。受手机性能的制约,以往运行于手机之上的游戏一般较为简单,但随着微电子技术的发展,手机性能越来越优良,现在已经可以开发出类似于PC机上的游戏。特别是随着3G移动网络的迅猛发展,可以预料在十年之内目前如火如荼的网络游戏也将转战至手机平台。在手机游戏及应用开发方面
19、目前以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 SDK。J2ME4044 作为Java2的一个组
20、成部分,以其发展时间长而成为较为普遍的技术。其最大的优势在于移植性强,使用J2ME技术开发的程序,可以经过简单的修改以后,能在不同厂商的手机上运行。同时由于Java43语言的普及从而开发周期大大缩短。但是,也因为兼顾移植性,导致其开发出的功能受到一定的限制,又因为其运行于JVM上并受手机性能的影响所以运行速度普遍较慢。Object C语言基于标准的ANSI C,其语法源于Smalltalk消息传递风格,作为iPhone手机上的标准开发语言而受到青睐。相对于J2ME39 40最大特点是软件运行效率高速度快,界面也继承了苹果的华丽风格,遗憾的是开发出的应用软件只能运行于iPhone手机上。谷歌与开
21、发手机联盟合作开发的Android SDK是近两年诞生的充满活力和生命力的手机开发语言,是一个标准的、开放的移动电话软件平台,不存在任何以往那种阻碍移动产业创新的专有权障碍。相对于其他开发语言,Android最大的优点就是开放性,吸引了众多的开发者的支持,短短两年时间开发出大量的手机应用软件,丰富了手机的应用功能。另外对网络友好,支持大部分网络功能,并与Google应用无缝结合,可以轻松获取Google服务。图1.2 2010中国移动应用超市各类手机软件下载比例Android和手机应用市场正处于起步阶段,市场和消费者需要个接受的过程,众多开发者也都在积极探索盈利31模式。Android开发者实
22、现盈利主要依赖两方面因素,一是全球Android手机终端的爆发,另外就是海外付费应用程序的模式逐渐形成。目前Android应用开发个人或团体虽未取得规模盈利,但也开始逐渐向盈利模式转移,获得不错收益。图1.2是中国移动应用软件超市2010年的统计数据,消费者下载量最高的依然是应用开发,其次便是游戏开发,占据39%的下载量,而传统的增值业务则只占5%,在移动互联网时代,开发者纷纷逃离营运商的束缚,转向利润较为丰厚的应用程序和游戏开发。由此图也可以看出手机游戏软件在消费者中的受欢迎程度,如果想在未来手机应用程序开发中实现规模则需要加大手机游戏方面的开发力度。目前在手机上开发出较为成功的游戏主要有F
23、TG格斗游戏、PUZ益智类游戏、RPG角色扮演游戏、SLG模拟/战棋式战略游戏以及体感游戏和宠物养成游戏六类。其中格斗游戏诞生于街机,曾经的“街霸”是其典型代表。FTG系统的核心是对战斗部分进行碰撞检测计算。益智游戏最大的创意是其游戏规则,玩家需要以自己的智慧对游戏规则进行思考,判断从而通关以获得成就感。PUZ游戏对玩家操作要求不高是手机游戏中受众面最广的游戏,最具代表是“推箱子”。角色扮演游戏是最能与用户共鸣的游戏,开启了一扇通往虚拟现实的大门,可以让玩家沉浸于打怪升级的快乐之中,“仙剑奇侠传”是其经典代表。RPG39游戏的核心是代表玩家角色成长的升级系统,游戏都贯穿一个故事情节,所以其创意
24、是多元的、立体的,让开发者有更广阔的创作空间。战棋类游戏是玩家在虚拟地图上指挥一定角色与敌方展开战斗,典型的有“地雷战”。体感游戏主要依赖手机中的重力感应等装置开发出的新型游戏,玩家可以通过摇晃、旋转、移动等动作来操作游戏。宠物养成游戏则因为其人性化游戏情节而吸引人们注意力。手机游戏研发的重点是游戏情节和游戏界面。游戏情节的创作依赖人的想象力和创造力,主题及素材可以来源于热门小说也可来古老传说,例如中国的经典名著“三国志”被日本光荣公司搬去后创作出名噪一时的经典同名游戏。还有著名网络小说“诛仙”也被创作为当前流行的同名网络游戏。这些文学作品为手机游戏的开发提供了大量的可创作素材。同时,行业竞争
25、的激烈也导致雷同的不少游戏情节出现,这就要求创作人员不断发挥才能,构思出更加丰富的游戏主题。游戏界面方面随着手机性能不断提高的影响,也愈加华丽。从当初粗糙单色的俄罗斯方块到后来颜色丰富的2D游戏,再到现在开始流行的极具立体效果的3D游戏。游戏的操纵方面也有革命性发展,从最初按键操纵到后来的屏幕多点触控再发展到重力感应操纵。随着手机游戏37的高速发展,Google公司对游戏开发越来越重视,在新推出的Android2.3增强了对游戏开发支持力度也提升了多媒体影音和通信功能。增加了新的垃圾回收和优化处理事件,以提高对游戏的支持能力。原生代码可直接存取输入和感应器事件、EGL/OpenGL ES、Op
26、enSL ES、新的管理窗口和生命周期的框架。同时还强化了SQLite数据库管理功能,更加方便游戏数据的存取,相信开发者可以据此创作出更加优秀的游戏作品。1.3 论文主要研究内容论文研究了Android SDK开发环境23 28以及此环境下的SQLite数据库、AppWidget框架、SurfaceView 2D图形渲染技术、Opengl ES 3D渲染技术等手机游戏开发相关技术。在本游戏软件中,首先运用Android内嵌的SQLite数据库实现游戏数据的存取,为游戏的各功能模块提供数据源。其次运用SurfaceView将游戏界面渲染成仿3D效果,并提供游戏操纵接口。最后通过Appwidget
27、框架的BroadCast和Service机制,将游戏界面映射至手机桌面,使用户更直观的体验游戏的精彩。由于游戏的宠物预测模块涉及的数据库操作,本论文重点研究了两种游戏数据的存取方式。第一种方式为Android内置的SQLite数据库,用于存取大容量的永久性游戏数据,为游戏提供安全稳定的数据源。第二种方式为Share Preferences,是一个轻量级数据存储,用于暂存游戏的中间数据。两者构成游戏的数据中心。此游戏的最大特色是与中国的古老文化“周易”相结合,将预测、占卜等玄异艺术融入休闲娱乐中。为了在游戏中保持一定的神秘性,本论文还浅层次的研究了五行、八字、卦象等学说,并顺利的在游戏中实现了这
28、些功能,达到了现代文明与古老文化向结合的效果。1.4 论文组织结构根据课题所涉及到的主要内容,论文共分五章,内容及章节安排如下:第一章,介绍Android手机宠物游戏的研究背景、国内外现状、本论文研究的主要内容和论文的组织结构。第二章,介绍了Android平台的构架和特性,并与iPhone平台进行比较。第三章,分别介绍了在实现手机宠物游戏的基础理论、需要用到的相关技术和Android SDK开发环境,重点介绍了SQLite数据库存储技术和AppWidget框架下的Broadcast和Service机制,同时还介绍了重力感应的运用。第四章,本章主要介绍了手机宠物游戏的实现。用SQLite数据库存
29、取大容量数据源及Share preferences存取临时数据,依照设定的游戏情节设计游戏控制引擎,渲染游戏界面,设计电子罗盘,为玩家提供多点触控来操纵游戏。第五章,介绍了手机宠物游戏的功能性测试,分别测试了宠物养成、八字算命、姓名测试、情缘速配、电子罗盘、手机桌面映射功能。并进行了游戏的性能测试。最后,总结了本文的工作,提出未来的研究工作。1.5 小结本章介绍了手机游戏宠物的背景和意义,在综述了当前国内外研究现状的基础之上提出了本文的研究内容与重点,最后介绍了本论文的组织结构。第二章 Android平台研究2.1 Android特性Android系统是工作于智能手机之上的操作系统38,处处体
30、现了与手机相关的特性。由于手机硬件配置的关系Android系统与PC机上的操作系统有着很大的差异。只有在充分了解Android系统特性才能开发出适合手机运用的软件。以下为Android SDK2.2的主要特性:(1)可重用和可替换组件的程序应用框架(2)针对移动设备优化过的Dalvik虚拟机(3)集成了基于开源Webkit引擎的网页浏览器(4)经过优化过的自定义2D图形库和基于OpenGL ES 1.0库 可选硬件加速(5)SQLite结构化的数据存储数据库(6)支持常规的音频视频多媒体格式,如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF GSM电话(硬件决定) (7
31、)蓝牙、GPRS-EDGE、3G和Wifi无线网络(8)相机、GPS全球定位、导航和感应加速器(9)丰富的开发环境包含设备模拟器、工具、调试器、内存和性能分析工具,以及Eclipse集成开发环境插件2.2 Android构架在了解了Android特性的基础上深入分析Android构架可以更有效的利用API、更好的整合Android资源,从而开发出功能更强大的手机应用软件。Android平台6大致可以划分成三个大层次,包括一个操作系统,中间件及应用程序。图2.1为Android系统软件层架构图35,Android系统软件层由上往下分成4个层,即应用程序、用用程序框架、类库和运行时库、操作系统:图
32、2.1 Android构架(1)应用程序(Application)是和用户交互的一个层次,用户能看得见的这些应用都可以操作。基本上都是通过Java语言开发的独立的能够完成特别功能的应用程序。Android自身为用户提供了桌面、浏览器、电子地图、拨打电话、联系人等纵多基本的应用程序。所以开发人者可以利用应用框架提供的API编写出满足自己的应用程序,然后提供给广大应用软件消费者使用。(2)应用程序框架28(Application Framework)让开发者可以在自己开发的应用软件中直接访问统一API框架,此程序框架的设计可以很方便简单的实现组件复用。在框架安全性限制的前提下所有程序都可以将自己的
33、功能提供给其他程序使用。同样的,组件允许通过重构来突破原组件的功能限制。理解了这个机制开发人员就可以更好的开发出优秀的手机应用程序。应用程序的框架组件主要包括9种: UI组件,如文本框、按钮、列表、标签等,如果能够得灵活运用这些组件则可以方便高效的创建友好的用户交互界面; Content Providers内容提供者,可以简单的理解成为应用程序提供德一种服务,让服务与应用程序之间能够实现数据的共享与相互访问; Resource Manager资源管理,android中大量的资源很多例如颜色、字体、图片、UI组件的Id、用户界面(Layout xml)等等都被称之为资源,这些丰富的资源,都需要通
34、过Resource Manager来统一进行管理; Notification Manager消息通知管理,它可以在不影响用户使用设备喝正常操作的时候在系统的状态栏上自动的提供消息提示,让用户可以及时的看到; Activity Manager活动管理,它管理着所有应用程序的生命周期,并且控制着应用程序的导航,充当一个控制器的角色。每个Activity相当于Windows应用中的一个窗口。通常的应用一般都是通过多个Activity交互的构成; Window Manager窗口管理,所有启动的窗口都被其管理; Location Manager地理位置管理是Google为开发者提供的独具特色的功能,用
35、其管理地图相关的服务; Telephoney Manager电话管理,为应用程序提供与电话相关的诸如来电监听之功能; Package Manager包管理,实现软件包的安装并管理安装在系统之内的所有应用程序。 (3)库(Libraries)及运行时类库(RunTime)此层内容大部分已经涉及底层,普通的应用不需直接对此层进行操作。如果能系统的了解学习此层,将可以开发出受限较少功能更强的应用程序,同时还可以提高软件的执行效率。这层主要包括了十组类库:系统C库,它是一个由BSD集成来的标准的C系统函数库,是专门为嵌入式Linux下的设备所定制的;媒体库Media Framework,它基于Pack
36、eVide下的OpenCore,此类库支持多种常用的视频格式、音频,以及录制和回放,同时还支持静态图像文件; Surface Manager类管理显示子系统,还能为多个应用程序提供3D ,2D图层无缝融合; WebKit是Google开发的一个网页浏览器引擎,可支持嵌入的web视图和Andiroid浏览器; SGL是底层的2D图形图像引擎; OpenGL ES是基于OpenGL ES 1.0 的API所实现的,该库能够使用硬件进行3D加速或利用高度优化进行3D软加速; FreeType用于支持位图和适量字图的显示; SQLite是一个轻量级关系型数据库引擎,但功能强大能够为所有应用程序服务;
37、Core Libraries核心库为Java应用程序开发提供了标准Java核心库的大多数类; Dalvik VM是android平台下的一个虚拟机,类似于JVM虚拟机。(4)Linux内核。Android在Linux 2.6 内核29的基础之上开发出Android核心服务并整合成Android操作系统。它包括了5项主要的核心服务:安全性、内存管理、进程管理、网络堆栈。另外它的驱动程序模型包含触摸屏驱动、按键驱动、摄像头驱动、WiFi驱动、闪存驱动、音频驱动、电源管理驱动、IPC驱动共八个重要驱动,实现更有效的管理Android手机设备。2.3 iPhone平台概述iPhone比Android早
38、诞生一年,凭借其品牌号召力以及先发优势取得了巨大的成功,积累了相当用户群,特别是其靓丽的界面获得了用户一致的认可。iPhone以Cocoa Touch作为开发工具,使用Objective C 2.0作为编程语言。目前iPhone最新版本为4.0,主要有以下六个特性:(1)多任务处理:以往除了简单的音乐播放和通话外,其他所有应用程序回到桌面后就会直接关闭而退出,对那些需要常驻后台执行的服务相当不方便。iPhone4.0则加入了大量多任务处理的API有效的解决了以上问题。(2)受限访问:iPhone严格限制了应用程序的权限,只能访问自己创建的文件系统,这块区域称为沙盒。对网络端口的访问也有一定的限
39、制,不能访问端口号较小的端口号。(3)有限的响应时间:iPhone系统再启动应用程序之后,需要打开应用程序,载入首选项和数据,并尽快在屏幕中显示主界面,这一切都必须在允许的时间内完成。(4)统一的屏幕规格,iPhone手机不像其他手机那样屏幕大大小小,而是统一的480*320.(5)严格遵循模型-视图-控制器(MVC)范型使开发出的运用程序具有更强的可复用性。(6)丰富的用户界面组件让开发者可以方便的开发出具有良好视觉感受的软件界面。2.4 Android与iPhone比较Android与iPhone是目前占据市场比例最大的两种智能手机操作系统,两者各有千秋,在不同方面展示出自己的竞争力。由于
40、这四、五年特别是尽两年来的上佳表现被业内评为未来占主导地位的智能手机操作系统,将占据80%的智能手机市场。以下是从五个方面来对比Android与iPhone:(1)开放性方面:Android是个完全开源的项目,开发者可以根据自己需要任意改造其系统,让Android表现的更为灵活。iPhone则完全是为自己量身定做系统。由于Android表现的较为开放,众多开发者的实际经验可以帮助Android更快的进步,让升级版本更快更好的完善。(2)第三方应用推广方面:Android和iPhone都有自己的应用超市,目前iPhone的付费方式购买比Android较为完善,所以当前从事iPhone应用开发的开
41、发人员盈利水平比Android较高。但由于Android开放力度较大,现在两者应用超市上的应用软件数量基本持平。(3)用户体验方面:用户体验最深的自然是屏幕界面以及机器性能。iPhone以开发MAC OS多年的经验使得iPhone界面美观方面的确优于Android。但随着Android系统的迅速改善特别是最近一年对图形处理方面的重视以及开发者开发经验的增长,两者开发的应用软件界面体验差距越来越小。(4)潜在用户群方面:手机用户是推动智能手机操作系统成长的重要因素,影响用户选择手机最重要的因素则是手机的性价比。目前全世界预装Android系统的手机的主要厂商越有20多个,从机器配置方面来看,An
42、droid手机性价比远远高于iPhone,让更多的用户更愿意选择使用Android手机。这对Android的成长非常有利。(5)应用开发方面:Android的开发语言主要是Java语言,iPhone则是Objective C。Java语言开发的引用移植性较好,开发人员较Objective C更多。而Objective C开发的软件则执行效率更高,为弥补这方面缺陷,Android提供了JNI接口,对执行效率要求较高的部分可以使用C语言开发再通过JNI接口调用来提高执行效率。2.5 小节本章主要介绍了宠物鸟游戏的开发环境即Android平台和iPhone平台的特点,并比较两者优缺点。第三章 And
43、roid手机宠物游戏引擎及相关技术研究3.1 宠物鹦鹉手机游戏概述3.1.1 游戏主题创意迷你宠物鹦鹉手机游戏属于宠物养成类游戏3。与其他宠物游戏相似的,游戏角色是一只能唱会跳的可爱漂亮的2.5D小鹦鹉。可以在随身携带的手机上实现不定时喂养,在人们闲暇时可以逗玩小鹦鹉让其唱歌跳舞来愉悦玩家心情。此游戏与其他宠物游戏相比多了自己独创的灵感,在于将中国古老文明中的周易文化融入宠物中来。论文在初步研究了五行、八字及卦象等学说的基础之上,在宠物游戏中增加了八字预测、姓名测算、情缘速配、电子罗盘等神秘功能以提升玩家的兴趣增强游戏的趣味并将中国的古老文明发扬光大。游戏还通过AppWidget框架的Broa
44、dCast和Service机制将游戏页面映射至手机桌面,让可爱的小鹦鹉成为桌面主题的一部分。另外在手机桌面中添加了农历时间显示和吉凶禁忌提示等实用功能,让用户可以知晓农历日期、中国节假日、农历节气和近日吉凶禁忌提醒以驱灾避祸。3.1.2 游戏运行机制概述宠物鹦鹉游戏是在Android SDK2.2的框架环境之上开发的。图3.1为游戏的架构,主要有五大功能模块,分别是:以SQLite为基础以Share Preferences为辅的游戏数据中心;SurfaceView组件和SoundPool组件相结合构建的图形界面渲染引擎;以AppWidget框架下Broadcast和Service机制相结合构建
45、的手机桌面主题映射模块;由基础的Java语言创建的用于实现八字预测、情缘配对等功能的宠物预测模块;在Android系统框架环境之上构建的用于协调各功能模块的核心游戏控制引擎。游戏控制引擎是本软件的核心,游戏运行后将直接启动游戏引擎。游戏引擎首先会初始化数据中心,如果第一次运行则将游戏数据导入到SQLite数据库中。数据中心初始化完毕之后再初始化桌面映射模块,它是独立于游戏引擎之外的一个线程,与AppWidget框架下的Broadcast相互协调,将游戏的部分界面映射至手机桌面成为一个精美实用的主题。然后游戏引擎再初始化游戏界面渲染引擎,在一整套的游戏情节逻辑控制下不断刷新游戏图片形成游戏动画,
46、并将玩家的操纵通知游戏引擎,后者在接收到操纵动作之后进行分析并作出相应的逻辑处理。当玩家需要体验宠物预测功能并启动后,游戏引擎会初始化宠物预测模块。此模块与数据中心的SQLite数据库高度依赖并紧密相连,需要从各数据表中提取大量相关数据。在接受到玩家输入的姓名及出生年月之后,宠物预测模块会根据周易学说的一套方法计算出生辰八字、姓名五格等重要数据,并依据这些数据在SQLite数据库中查询命理相关信息,最终生成一套预测信息通过游戏引擎及渲染引擎返回至游戏界面。图3.1 游戏架构数据中心是整个宠物游戏的基础,直接为本游戏最具趣味的宠物预测功能模块提供大量的数据支持,并在游戏引擎的协调下间接的为各模块
47、提供数据服务,还帮助游戏引擎暂存游戏的中间数据。界面渲染引擎和游戏创意是游戏吸引玩家娱乐的关键,精美的仿3D游戏动画结合趣味的游戏功能是宠物鸟游戏获取收益与获得成功的关键。宠物预测是游戏的一个特色,以娱乐为主。可以对玩家的出生年月及姓名进行评测,可以为恋爱男女进行星座、血型、属相等进行配对打分。根据重力感应原理设计的电子罗盘还除了可以测定简单方位外还能根据需要测定大门的方位。3.2 游戏控制引擎游戏控制引擎7贯穿整个游戏,主要任务是创建不同的游戏屏幕,并响应不同屏幕间进行切换,同时实现Activity间的数据通信。另外是调动游戏的各功能模块进行协调工作,在游戏运行过程创建并维护不同线程。一个A
48、ndroid应用程序通常由Activity、Intent Receiver、Service、Content Provider四个构造块中的若干块组成,当确定所需的构造块后需要在AndroidManifest.xml中进行登记配置。本论文在研究了Android应用程序构造块的基础上加入多线程技术构成了游戏控制引擎。3.2.1 ActivityActivit78是Android构造块中最基本的也是必须的一种,所有程序的流程都必须运行于Activity中。在游戏程序中,各个Activity是层级的关系,一个Activity通常就是一个单独的屏幕。每一个Activity都被实现为一个独立的类,并且继承于Activity这个基类。这个Activity类将会显示由几个Views组件组成的用户接口,并对事件做出响应。Activity是Android用户唯一可以看见的东西,几乎所有的A