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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(完整版基于Android操作系统的飞机大战手机游戏毕业设计40设计41Word文档格式.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版基于Android操作系统的飞机大战手机游戏毕业设计40设计41Word文档格式.docx

1、 the World War II aircraft rolling screen action game one, incorporating many action games unique technology, and smooth picture, sound rock.The network is developing rapidly, a puzzle game is widely applied to the network the platform. From the network the platform game, through the Eclipse Android

2、 SDK Java language prepared by the World War II aircraft.This paper elaborated on the platform of Android, object-oriented software development thought to the World War II aircraft game system analysis, design and implementation process. In the practice of the project process, the main use of the fo

3、llowing techniques: the layout of the main mobile phone using XML design, procedures and sub module life cycle management used in the Activity process control, the game screen is updated using the mobile phone 2D graphics programming. In this paper, the front half part of brief introduction of syste

4、m related industry information and basic technical knowledge, the second part of the each module of the system used in the realization of the key technology for a comprehensive introduction.Key words: scrolling game; World War II aircraft; mobile phone games; Android platform一、 绪论5二、 相关研究综述6(一)关于jav

5、a语言6 (二) 关于Android8三、系统开发环境及相关技术10四、游戏所需类的分析与实现11(一)游戏的框架简介11(二)游戏界面的框架简介12(三)各个类的简要介绍13五、游戏界面展示22总结27致谢28参考文献29前 言随着3G移动网络应用的推广,手机游戏的规模、复杂程度日益增强;其技术手段、设计思想、系统体系结构都发生了深刻的变化。手机操作系统正朝着高处理能力、多功能、智能化的方向发展。近年来,网络文化市场发展很快,随着互联网的迅速普及、宽带的接入社区和家庭,我国网络游戏市场发展迅速并进入了一个高速增长期,并已经创造了较大的产值,带动了相关产业的发展。现在,游戏的类型也由最初的动作

6、游戏和简单益智游戏向更复杂、更高智力,更具真实性的游戏发展。目前的游戏种类繁多,包括角色扮演、仿真模拟类、人工智能、休闲类、渲染类、网络类等等,甚至有的游戏包含了好几种类型。机战类游戏一直以来都很多。但仿真模拟类的游戏却有不少,现在休闲类的技术广泛的应用到很多游戏里面等等。飞机大战游戏是广泛人士喜爱的游戏,通过上下左右键控制方向A键发射子弹,游戏中有加血道具与子弹升级道具。并有关卡BOSS等着与你死战。鉴于游戏的对社会的巨大影响力和光辉的发展前景,以及我们自己对游戏爱好,这次的毕业设计我们决定尝试设计和制作一个具有一定可玩性的游戏。期间,我们收集相关资料、研究同类型的游戏、阅读有关这类型游戏和

7、相关技术性的书籍,通过制作游戏项目来熟悉游戏的制作思路、过程,加深对面向对象编程语言的掌握,培养自己的耐心、细心和考虑问题的全面性,同时解决本课题要完成的问题,如游戏框架如何构建,如何完善游戏的各种功能,如何能让游戏有音乐和音效的实现,如何能让游戏过关,如何能让游戏界面美观,看起来舒服感觉。一、绪论11 研究内容 Android平台飞机大战是基于Android手机平台,运用Java语言编写的一款手机滚屏类射击游戏。12 研究意义 Android平台手机游戏的开发的意义在于活动人的思维,使人精神放松,锻炼人的反应能力与应变能力。13研究现状和发展趋势据Gartner最新数据显示,2010年第二、

8、三季度全球智能手机销售继续大幅增长,其中第三季度安卓占全球智能手机市场的25.5%,仅次于塞班,成为第二大智能手机系统。2010第二、三季度与去年同期相比,增度分别是15.4%及22%,增势迅猛。而塞班系统较09年的市场份额,尽管终端销量有大幅度提升,但增势下滑10%,形势非常严峻。其他操作系统的表现则要平稳很多。安卓是首款开源代码的操作系统,采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改安卓的SDK软件包。系统的开源性使其具有良好的拓展性,一方面,为众多移动应用开发者提供了良好的系统性平台,有利于移动应用的集合;另一方面,终端厂商可以针对自身的特殊需要“定制化开发”。与此相

9、比,尽管2010年2月,塞班基本完成开源工作,但由于代码臃肿,用户界面设计缺失,塞班的开源并无实际意义,错失发展良机。我们认为,安卓在全球市场的成长壮大,塞班市场份额不断下跌已成不争事实。安卓操作系统发展迅猛主要得益于免费、开源和良好产业运作策略,这三点为安卓在智能手机市场赢得更多的发展机遇。系统的免费让更多的厂商加入,推动了份额的上升;代码的开源让更多的开发者进入应用开发;应用的丰富吸引了更多用户选择,这也是谷歌值得众多厂商学习的地方。此外,谷歌通过OHA联合众多厂商进行系统研发,不断更新版本,将系统应用推广到更多的终端产品中,确保用户体验持续改善。二、相关研究综述2.1 关于java语言J

10、ava编程特点 1、Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之

11、,Java语言是一个纯的面向对象程序设计语言。3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。5、Java语言是安全的。Java通常被用

12、在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。7、Java语言是可移植的。这种可移植性来

13、源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接

14、近于C+。10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronize

15、d)。11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。Java语言的优点1 java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下三个方面:1.Java的风格类似于C+,因而C+程序员是非常熟悉的。从某种意义上讲,Java语言是C及C+语言的一个变种,因此,C+程序员可以很快就掌握Java编程技术。2.Java摒弃了C+中容易引发程序错误的地

16、方,如指针和内存管理。3.Java提供了丰富的类库。2 面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码继承及重用。单从面向对象的特性来看,Java类似于SmallTalk,但其它特性、尤其是适用于分布式计算环境的特性远远超越了SmallTalk。3 另外,为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。现在,Java运行系统有Solaris2.4(SPARC),Win32系统(Windows95和W

17、indowsNT)等.Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。2.2 关于Android 2.2.1 android构架Android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application)。根据Android的软件框图,其软件层次结构自下而上分为以下几个层次:图2.2 Android系统架构2.2.2 XUL界面布局XUL 是一种基于 XML 的语言,因此需要对 XML(特别是 XML 名称空间)很熟悉。XUL是英文“XM

18、L User Interface Language”的首字母缩写。顾名思义,它是一种应用XML来描述使用者界面的标示语言。2.2.3 Android的Activity组件Activity,一般代表手机屏幕的一屏,相当于浏览器的一个页面。在Activity中添加view,实现应用界面和用户交互。一个应用程序一般由多个Activity构成,这些Activity之间可互相跳转,可进行页面间的数据传递。每个Activity都有自己的生命周期。224 SQLite数据库在Android平台上,集成了一个嵌入式关系型数据库SQLite。SQLite是支持结构化查询的轻量级数据库,能很好得适应于移动设备的应

19、用。Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。225 Android 2D图形编程 1、Simple Graphics in View:就是直接使用Android已经实现的一些画图操作,比如说images,shapes,colors,pre-defined animation等等。这种方式只能画静态或者极为简单的2D图画,对于实时性很强的动画,高品质的游戏都是没法实现的。2、Canvas:首先我

20、们要明白这个Canvas是一个2D的概念,是在Skia中定义的。也就是说在这个方式下还是说的画2D图形。三、系统开发环境及相关技术3.1 Android开发环境介绍 Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以,Google公司推荐使用主流的Java继承开发环境Eclipse。只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的Android

21、SDK。同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。(1) Java SDK(2) Eclipse(3) Android SDK3.2 Android开发平台搭建Android开发平台搭建步骤:首先到下载Eclipse集成开发环境并且解压,这里推荐下载Java EE 集成版本,可以为平台的搭建省下不少工作。接着再去 站点下载SDK后安装,下载,Android SDK1.5后解压。第一步下载工序就结束了。双击Eclipse解压后目录中的eclipse.exe然后启动,选择Eclipse菜单中的Help- In

22、stall New Software- 选项卡上的Available Software,点击右侧的“Add”输入后确定,然后在“Work with”下拉菜单中选择刚才输入的网址。过一会就会出现一个Developer Tools选项,勾上以后点击Next以后Eclipse会自动网上查找Android 开发工具插件,然后找到Android DDMS和Android Development Tools,选中这两个点击Finish,Eclipse就会自动下载并安装Android插件了,最后会提示重启Eclipse。重启后选择Eclipse菜单中的Windows- Preferences 在左侧的And

23、roid项目中SDK Location中填入Android SDK解压后的目录,然后点击Apply。4 在WindowsXP的系统变量中的path变量中添加一个值,该值指向解压后的Android SDK目录下的tools文件夹。四、游戏所需类的分析与实现4.1 游戏的框架简介图4.1 游戏的类框架1、启动游戏,在PlaneActivity中会先进入加载界面ProcessView,然后后台加载欢迎界面WelcomView,当加载完成后屏幕切换到欢迎界面,并启动WelcoeViewThread线程生成欢迎界面的动画效果。2、当欢迎动画播放完成后屏幕会停留在选择状态等待玩家操作。3、当玩家单击“帮助

24、”时将初始化帮助界面HelpView并将其显示出来。4、当玩家大几“开始游戏”按钮时,屏幕将显示加载界面。后台将初始化游戏界面GameView,在地图信息类Maps中初始化此关卡中的所有敌机、变枪的道具、补血的道具等。5、初始化游戏界面的同时启动GameViewBackGroundThread线程,以初始滚动游戏界面的背景图片。6、当玩家发射炮弹或敌机发射炮弹时会创建Bullet对象,并将其添加到已知的容器中。7、在游戏过程中如果需要显示爆炸效果,会创建爆炸效果类Explode以及ExplodeThread类来渲染爆炸效果。8、游戏中所有类中使用的常量全部封装到常量类ConstantUtil类

25、中。4.2 游戏界面的框架简介图4.2 游戏界面的类框架 1、GameView在初始化是会从Maps读取当前关卡的地图信息,包括敌机、补血道具、换枪道具等。 2、在界面初始化的同时,还需要启动MoveThread线程、GameViewBackGroundThread线程、KeyThread线程以及ExplodeThread线程。 3、GameView会在适当的时候从Plane类中读取主战飞机的信息进行绘制。 4、当主战飞机发射子弹时,会创建Bullet对象并添加到指定容器中,此时MoveThread同样需要定时改变子弹对象的位置。 5、在以上过程中,全部都需要PianeActivity的管理与

26、ConstanUtil的参与。4.3各个类的简要介绍1、 共有类:Activity的实现类PlaneActivity,该类是通过扩展基类Activity实现的,是整个游戏程序的入口。键盘监听线程KeyThread,该类为手机键盘的监听线程,每隔一段时间读取一次键盘的状态值,并根据当前键盘状态做出相应的操作package wyf.ytl;public class KeyThread extends Thread int span = 20;/ 睡眠的毫秒数 int countMove = 0;/ 飞机移动的计数器 int countFine = 0;/ 飞机发子弹的计数器 int moveN =

27、 3;/ 每三次循环移动一下 int fineN = 5;/ 每五次循环发一次子弹 PlaneActivity activity;/ Activity的引用 private boolean flag = true;/ 循环标志 int action;/ 键盘状态码 private boolean KEY_UP = false;/ 向上键是否被按下 private boolean KEY_DOWN = false;/ 向下键是否被按下 private boolean KEY_LEFT = false;/ 向左的键被按下 private boolean KEY_RIGHT = false;/ 向右

28、的键被按下 private boolean KEY_A = false;/ A的键被按下 private boolean KEY_B = false;/ B的键被按下 public KeyThread(PlaneActivity activity) / 构造器 this.activity = activity; public void setFlag(boolean flag) / 设置标志位 this.flag = flag; public void run() / 重写的方法 while (flag) action = activity.action;/ 得到当前键盘的状态码 if (action = 19) / 上 KEY_UP = true; else KEY_UP = false; if (action = 20) / 下 KEY_DOWN = true; KEY_DOWN = false; if (action = 21) / 左 KEY_LEFT = true; KEY_LEFT = false; if (action = 22) / 右 KEY_RIGHT = true; KEY_RIGHT = false; if (action = 29) / A KEY_A = true; KEY_A = false; if (activity.g

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1