基于安卓系统的游戏开发与设计.docx
- 文档编号:2183298
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:51
- 大小:1.98MB
基于安卓系统的游戏开发与设计.docx
《基于安卓系统的游戏开发与设计.docx》由会员分享,可在线阅读,更多相关《基于安卓系统的游戏开发与设计.docx(51页珍藏版)》请在冰点文库上搜索。
基于安卓系统的游戏开发与设计
基于安卓系统的游戏开发与设计
摘要
3G时代已经慢慢的融入了我们的日常生活,随着国家的通信政策以及各大运营商的宣传的影响,3G手机已经随处可见,面对全球信息、技术空前高速发展,信息高速化发展更是社会进步的一个标志。
在全球信息化的今天,手机已经成为人们日常生活中不可缺少的一部分,尤其是在电子产品日新月异的今天,我们在平时随处可见的电子产品中,手机无疑是一个最大的用户集,而各大厂商智能手机则依旧是电子市场的一颗耀眼的明星。
其中的代表作有诺Nokia的塞班系统,摩托罗拉的Linux系统,但是其中异军突起的仍然是Google的Andriod系统以其开放的源代码和方便简洁的操作必然是未来智能手机领域的领头羊。
这次毕业设计我们选择基于Andriod的手机游戏一定会使我们在以后的工作中提供更多的机会。
随着新技术的不断开发与应用,近年来Java技术发展十分迅速,一个以Java应用为主的新技术革命浪潮正在蓬勃兴起。
而基于Andriod的软件开发是一个前景很大的技术,通过这次毕业设计,能使我们从对软件的设计中体会到实际中软件开发的过程,提高我们的专业能力,最终能够获得很强的专业知识。
关键词:
Android手机游戏,Android平台,Java技术,游戏设计
BasedontheplatformAndroidgamedevelopmentanddesign
Abstract
3Gerahasgraduallyintegratedintoourdailylife,withthecountry'scommunicationpolicyaswellasthemajorcarriersofsensitizationtotheeffectsof3Gmobilephone,canbeseeneverywhere,inthefaceoftheglobalinformationtechnology,anunprecedentedrapiddevelopment,theinformationhighspeeddevelopmentisasymbolofsocialadvancement.Intheglobalinformationtechnologytoday,mobilephonehasbecomeindispensableinthedailylifeofapart,especiallyinelectronicproductschangerapidlytoday,weusuallycanbeseeneverywhereintheelectronicproducts,mobilephoneisundoubtedlyoneofthelargestusersets,andmajormanufacturersofintelligentmobilephonewillstillbeelectronicmarketadazzlingstar.TherepresentativeofConnaughtNokiaSymbian,theMotorolaLinuxsystem,butwhichisstillanewforcesuddenlyrises.GoogleAndriodsystemforitsopensourcecodeandconvenientandsimpleoperationisthefutureleaderinthefieldofintelligentmobilephone.ThistimegraduatethedesignwechoosebasedontheAndriodmobilephonegameswillmakeourworkinthefuturetoprovidemoreopportunities.
Withthenewtechnologydevelopmentandapplication,inrecentyearsthedevelopmentofJavatechnologyisveryrapid,aJavaapplicationoftideofnewtechnologyrevolutionisbooming.Andriodbasedsoftwaredevelopmentisagreatprospectoftechnology,throughthisgraduationdesign,canmakeusfromonthesoftwaredesignoftheactualsoftwaredevelopmentprocess,improveourprofessionalskills,canfinallyobtainstrongprofessionalknowledge.
Keywords:
Androidmobilephonegames;theAndroidplatform;Javatechnology;gamedesign
第1章绪论
1.1课题的背景、目的与意义
2007年,Google公司推出了Android手机操作系统,该系统是基于Linux平台的开源手机操作系统,并且该系统已经成为了新3G时代的主流移动智能平台之一,根据调查,在中国基于Android操作系统的智能手机在中国智能手机总销量中所占的比例已经达到了52%,越来越多的手机用户在接触安卓手机。
Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。
目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安智”。
Android操作系统最初由AndyRunbin开发,最初主要支持手机。
2005年由Google收购注资,并组建开发手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。
Android的主要竞争对手是苹果手机的ios及RIM的BlackBerryOS。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2012年2月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为68.4%。
移动互联网,就是将移动通信和互联网二者结合起来,成为一体。
在最近几年里,移动通信和互联网成为当今世界发展最快、市场潜力最大、前景最诱人的两大业务,它们的增长速度都是任何预测家未曾预料到的,所以移动互联网可以预见将会创造怎样的经济神话。
伴随着移动互联网的快速发展,智能手机的快速普及,传统的制质地图已经不能满足现在市民的便利出行。
运行在安卓系统平台的游戏,运行在安卓平台的游戏深受大家的喜爱。
现在,Android游戏不但可以运行于智能手机,也可以运行在平板电脑上。
1.2国内外现状
将向专业化、大规模化方向发展随着各平台对OpenGLES支持能力的大力加强,使得开发复杂的3D场景游戏成为可能。
更多显示芯片对Android的支持,硬件性能将不再成为制约专业化游戏发展的瓶颈。
越来越多在PC、PSP、PS3、XBOX360等各游戏平台占有领先地位的专业游戏公司将向Android等手机平台领域快速渗透,使得游戏的规划更加向专业化方向发展。
2.将向网络化方向发展随着各平台对无线通信网络、WIFI网络、蓝牙网络的良好支持,游戏将创新出更好的游戏性和用户本验。
网络游戏,多人游戏,联机对战等将进一步强化玩家对游戏的粘着度,并且容易通过对道具等的控制产生营利模式。
玩家之间对交互能力的需求也会促成未来的游戏向网络化发展进程的加快。
3.将向休闲化、时间片化方向发展移动设备的随身性使是休闲小游戏将得到快速的发展。
移动设备对分散时间的利用促进了游戏向时间片化发展,即一个游戏可以随时开始,随时结束,充分利用用户分散的时间片来运行。
作为时下最热门的手机系统,android游戏拥有广大的用户群,所以android游戏的开发也显得相当重要,不仅要有娱乐性,也需要一定的益智性。
方块拼图是一个开发用户智力的小游戏,每个关卡都需要动点脑筋,同时拥有评星系统,可以为用户带来一定的刺激性,不断的去提高自己的过关速度。
第2章系统需求分析
2.1需求概括
2.1.1目标
该游戏简单容易上手,更有一定的益智性,可以锻炼你的记忆能力,也有一定的娱乐性,其中不同游戏类型能让你感觉到这个游戏的多样性
2.1.2用户类型和特征
用户主要是16岁至45岁的手机用户群,用户只需要操作手机界面就能够进行游戏的操作。
2.1.3运行环境
(1)硬件资源
装载了Android系统的智能手机。
(2)软件资源
操作系统:
WindowsXP或Windows7。
Androidsdk
JDK:
jdk1.6。
Eclipse
2.2Android环境搭建
在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld。
本文的主题如下:
2.2.1环境搭建
1.JDK安装
如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。
设置环境变量步骤如下:
1.我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:
2.JAVA_HOME值为:
D:
\ProgramFiles\Java\jdk1.6.0_18(你安装JDK的目录)
3.CLASSPATH值为:
.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin;
4.th:
在开始追加%JAVA_HOME%\bin;
5.NOTE:
前面四步设置环境变量对搭建Android开发环境不是必须的,可以跳过。
安装完成之后,可以在检查JDK是否安装成功。
打开cmd窗口,输入java–version查看JDK的版本信息。
如图2.1所示:
图2.1验证JDK安装是否成功
2.Eclipse安装
如果你还么有Eclipse的话,可以去这里下载,下载如图2.2所示的EclipseIDEforJavaDevelopers(92M)的win32bit版:
图2.2Eclipse下载
解压之后即可使用。
3.AndroidSDK安装
在AndroidDevelopers下载android-sdk_r05-windows.zip,下载完成后解压到任意路径。
运行SDKSetup.exe,点击AvailablePackages。
如果没有出现可安装的包,请点击Settings,选中Misc中的"Forcehttps:
//..."这项,再点击AvailablePackages。
选择希望安装的SDK及其文档或者其它包,点击InstallationSelected、AcceptAll、InstallAccepted,开始下载安装所选包
在用户变量中新建PATH值为:
AndroidSDK中的tools绝对路径(本机为D:
\AndroidDevelop\android-sdk-windows\tools)。
如图2.3所示:
图2.3设置AndroidSDK的环境变量
“确定”后,重新启动计算机。
重启计算机以后,进入cmd命令窗口,检查SDK是不是安装成功。
运行android–h如果有图2.4所示以下的输出,表明安装成功:
图2.4验证AndroidSDK是否安装成功
4.ADT安装
打开EclipseIDE,进入菜单中的"Help"->"InstallNewSoftware"
点击Add...按钮,弹出对话框要求输入Name和Location:
Name自己随便取,Location输入http:
//dl-
图2.5addsite框图
确定返回后,在workwith后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有DeveloperTools,展开它会有AndroidDDMS和AndroidDevelopmentTool,勾选他们。
如图2.6所示:
图2.6install框图
然后就是按提示一步一步next。
完成之后:
选择Window>Preferences...
在左边的面板选择Android,然后在右侧点击Browse...并选中SDK路径,本机为:
D:
\AndroidDevelop\android-sdk-windows
点击Apply、OK。
配置完成。
5.创建AVD
为使Android应用程序可以在模拟器上运行,必须创建AVD。
1、在Eclipse中。
选择Windows>AndroidSDKandAVDManager
2、点击左侧面板的VirtualDevices,再右侧点击New
3、填入Name,选择Target的API,SDCard大小任意,Skin随便选,Hardware目前保持默认值
4、点击CreateAVD即可完成创建AVD
注意:
如果你点击左侧面板的VirtualDevices,再右侧点击New,而target下拉列表没有可选项时,这时候你:
点击左侧面板的AvailablePackages,在右侧勾选https:
//dl-
图2.7availablepackages框图
然后点击InstallSelected按钮,接下来就是按提示做就行了
要做这两步,原因是在1.3、AndroidSDK安装中没有安装一些必要的可用包(AvailablePackages)[1]。
2.2.2HelloWorld
通过File->New->Project菜单,建立新项目"AndroidProject"
然后填写必要的参数,如图2.8所示:
(注意这里我勾选的是GoogleAPIs,你可以选你喜欢的,但你要创建相应的AVD)
图2.8helloWord框图
相关参数的说明:
ProjectName:
包含这个项目的文件夹的名称。
PackageName:
包名,遵循JAVA规范,用包名来区分不同的类是很重要的,我用的是helloworld.test。
ActivityName:
这是项目的主类名,这个类将会是Android的Activity类的子类。
一个Activity类是一个简单的启动程序和控制程序的类。
它可以根据需要创建界面,但不是必须的。
ApplicationName:
一个易读的标题在你的应用程序上。
在"选择栏"的"Usedefaultlocation"选项,允许你选择一个已存在的项目。
点击Finish后,点击Eclipse的Run菜单选择RunConfigurations…
选择“AndroidApplication”,点击在左上角(按钮像一张纸上有个“+”号)或者双击“AndroidApplication”,有个新的选项“New_configuration”(可以改为我们喜欢的名字)。
在右侧Android面板中点击Browse…,选择HelloWorld
在Target面板的Automatic中勾选相应的AVD,如果没有可用的AVD的话,你需要点击右下角的Manager…,然后新建相应的AVD[2]。
如图2.9所示:
图2.9Target框图
然后点Run按钮即可,运行成功的话会有Android的模拟器界面,如图2.10所示:
图2.10安卓模拟器界面
2.3可行性分析
可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证新系统开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
这部分将从以下三个方面进行研究:
技术可行性、经济可行性、操作可行性。
1.技术可行性
Android游戏需要掌握java开发语言和Android系统,另外对于算法也要有所掌握。
2.经济可行性
Android游戏需要的硬件资源不大,已有Google提供Android系统平台,只需要一台智能手机,手机客户端即可体验该游戏带来的益智和趣味性。
3.操作可行性
Android游戏的开发需要具备一定的Android开发技术和对算法技术的掌握,懂得操作智能手机。
2.4相关技术简介
本系统的用户为所有使用手机客户端的客户,本系统拥有游戏难度选择;游戏类型选择;而且还有各种不同的游戏特效,相关技术如下:
2.4.1java开发语言
它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。
由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。
就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。
J
java编程语言的风格十分接近C、C++语言。
Java是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。
在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
Java不同于一般的编译执行计算机语言和解释执行计算机语言。
它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。
不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。
但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。
与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。
全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。
“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。
这与微软公司所倡导的注重精英和封闭式的模式完全不同。
Sun公司对Java编程语言的解释是:
Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。
Java平台是基于Java语言的平台。
这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。
2.4.2Android开发
Android的系统架构和其它操作系统一样,采用了分层的架构。
android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许开发者使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多开发者的欢迎,成为真正意义上的开放式操作系统。
在Android中,开发者可以使用Java作为编程语言来开发应用程序,也可以通过NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程,还有其他诸如:
Qt(qtforandroid)、Mono(monoforandroid)等一些著名编程框架也开始支持Android编程,甚至通过MonoDriod,开发者还可以使用C#作为编程语言来开发应用程序。
另外,谷歌还在2009年特别发布了针对初学者的AndroidSimple语言,该语言类似Basic语言。
而在网页编程语言方面,JavaScript,ajaxa,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已经支持Android开发。
而在Android系统底层方面,Android使用C/C++作为开发语言[2]。
应用程序(部分)
早期的Android应用程序开发,通常通过AndroidSDK(Android软件开发包)下使用Java作为编程语言来开发应用程序,但通过不同的软件开发包,则使用的编程语言也不同。
例如开发者可以通过AndroidNDK(AndroidNative开发包)使用C语言或者C++语言来作为编程语言开发应用程序。
同时谷歌还推出了适合初学者编程使用的Simple语言,该语言类似微软公司的VisualBasic语言。
此外,谷歌公司还推出了GoogleAppInventor开发工具,该开发工具可以快速地构建应用程序,方便新手开发者。
Java开发方面
Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。
考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资源占用,因而与J2ME等不同。
如图2.11
图2.11Android结构
其中Activity等同于J2ME的MIDlet,一个Activity类(Class)负责创建视窗(Windows),一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。
两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行效果。
如果运行中的Activity全部画面被其他Activity取代时,该Activity便被停止(Stopped),甚至被系统清除(Kill)。
View等同于J2ME的Displayable,程序人员可以通过View类与“XMLlayout”档将UI放置在视窗上,Android1.5的版本可以利用View打造出所谓的Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的AndroidHero手机即含有大量的widget。
至于ViewGroup是各种layout的基础抽象类(abstractclass),ViewGroup之内还可以有ViewGroup。
View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的。
View与事件(event)息息相关,两者之间通过Listener结合在一起,每一个View都可以注册一个eventlistener,例如:
当View要处理用户触碰(touch)的事件时,就要向Andro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 系统 游戏 开发 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)