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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(基于安卓的超级马里奥制作毕业设计论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于安卓的超级马里奥制作毕业设计论文.docx

1、基于安卓的超级马里奥制作毕业设计论文 学号:14112200674 毕业设计(论文)题目: 基于安卓的超级马里奥制作作 者 届 别 院 别 信息与通信工程学院 专 业 电子信息工程 指导教师 职 称 完成时间 摘要超级马里奥是一款风靡全球的横版过关游戏。游戏场景一般是设定在开阔空间或是狭窄的通道里,要求玩家通过方向键操作游戏主角马里奥沿途消灭或绕过怪物的同时尽可能多的攒取金币,并不断地完成各个关卡。本文主要介绍了基于安卓操作系统的超级马里奥游戏的应用程序设计和实现。首先简要介绍了安卓操作系统,然后介绍了开发环境, 并详细描述了eclipse下开发环境的具体搭建步骤。最后详细探讨了超级马里奥游戏

2、的设计,最终实现了一个功能完备的Android超级马里奥游戏。关键词:智能手机 安卓 Java语言 超级马里奥游戏ABSTRACTSuper Mario is a popular global horizontal clearance version of the game. The game scene is generally set in the open space or narrow channels, along with the arrow keys to eliminate game player requires operation of the protagonist of

3、 the game Mario or bypass the monster as much as possible while saved from the gold coins, and continue to complete each level.This paper mainly introduces the application design and implementation of Android operating system based on super Mario game. Briefly introduces the Android operating system

4、, and then introduces the development environment, and a detailed description of the specific steps to build development environment under eclipse. Finally, discusses the design of super Mario game, the ultimate realization of a full-featured Android super Mario game.Keywords: intelligent mobile pho

5、ne Android Java Super Mario game第1章 绪论1、android系统介绍随着科技的发展,移动电话(Mobile Phone)正朝着智能化的方向发展,逐步成为多种工具的功能载体,而Android就是这样一个智能手机的平台、一个多种工具的功能载体。1.1 通信工具移动电话的最基本功能为通信功能,因此使用运营商提供的通信网络进行语音通话也是Android平台的最基本功能。除了传统的语音通话功能外,Android平台还具有短消息功能,以及通常移动电话都具有的个人信息系统管理方面的功能(如电话本等)。1.2 网络工具随着数字业务使用的普遍化,移动电话通常被作为网络工具使用,

6、即移动电话可以完成电脑的部分功能。而Android平台在网络方面的功能主要包括浏览器、IM(即时信息)、邮件等。1.3 媒体播放器随着多媒体技术的发展应用,在移动电话上进行音频和视频播放已经成为经常使用的功能。由此,Android平台具有支持更多的音频/视频格式,支持更高分辨率的视频,可更流畅地播放视频,以及支持网络流媒体等功能。1.4 媒体获取设备随着移动电话与媒体获取设备的集成日益增强,Android平台提供了照相机、录音机、摄像机等功能。1.5 多类型的连接设备Android平台提供了多种连接方式,如USB、GPS、红外、蓝牙、无线局域网等。1.6 具有友好和绚丽的用户界面Android

7、平台具有友好的用户界面,使用户容易学习和操作;同时具有绚丽的用户界面,具有良好的视觉效果。1.7 可以个性化定制的平台Android平台针对于用户的个性化需求,提供了全面自定义手机的功能。除了上述介绍的Android平台的功能以外,其在技术上还具有以下几个方面的特性:全开放智能移动电话平台。支持多硬件平台。使用众多的标准化技术。核心技术完整、统一。完善的SDK和文档。完善的辅助开发工具。2、 超级马里奥游戏介绍2.1 超级马里奥的由来超级马里奥全名超级马里奥兄弟,是任天堂公司出品的著名横版过关游戏,最早在红白机上推出,有多款后续作品,迄今多个版本合共销量已突破5亿4000万套。其中的主角马里奥

8、、路易基、碧奇公主、奇诺比奥等等已成为任天堂的招牌人物。主角马里奥日文原名,英文译作Mario,在译成中文时因时代不同,华语圈地区不同而译作“马力欧”“玛丽”等情况也确有存在。根据任天堂公布的官方中文译名和牛津词典,现在一般称为“马里奥”。所以本文一般用游戏全名超级马里奥兄弟。在E3 2013的任天堂直面会中,官方公开了3D马里奥新作超级马里奥3D世界。这款游戏于2013年11月21日发售,对应平台则为WiiU。2.2 超级玛丽玩法介绍超级马里奥是一个通过前后左右和两个功能键来控制一个小人(马里奥),使得马里奥通过一个个有怪物、陷阱的关卡的冒险类休闲游戏。3、 本文章节安排3.1 第一章在这一

9、章中我对安卓系统做了一个简单的介绍,以及超级玛丽这个游戏的游戏背景和玩法的说明,以及后面章节内容的安排。3.2 第二章这章介绍了安卓系统架构做了一个介绍,并对android开发环境的搭建方法做了一个详细的说明。3.3 第三章第2章 Android系统架构以及开发环境1、 android平台架构1.1 架构图直观下面这张图展示了Android系统的主要组成部分:图1、 Android系统架构(来源于:android sdk)可以很明显看出,Android系统架构由5部 分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Frame

10、work、Applications。第二部分将详细介绍这5个部分。2、开发环境的搭建2.1 所需资源Android开发环境的搭建需要JDK、eclipse、SDK。JDK是整个Java的核心,eclipse是开发工具,SDK是google提供的资源包。下图是所需要的资源:2.2 安装JDK双击jdk程序,按默认向导安装好jdk后,还要配置相应的环境变量,具体步骤如下:配置完毕后,通过cmd运行以下命令:java -version如果出现如下图的信息,则设置成功。2.3 安装eclipse我这下载的是免安装版的,直接将eclipse压缩包解压到安装地址就行,下图为eclipse运行后的效果图。2

11、.4 安装SDK打开压缩包后直接双击安装程序,按向导默认安装SDK,然后运行SDK Manager,在SDK Manager中下载好所需要的资源。2.5 安装配置ADT 在线安装ADT速度比较慢,而且有可能安装不了,所以我先把ADT下载下来,然后离线安装。步骤如下图:然后一路按下一步,就可以安装成功了。接下来再配置ADT,选择 Window - Preferences ,在弹出面板中就会看到Android设置项,填上安装的SDK路径,如图:到这里,开发环境就搭建完毕了。第3章 游戏总体设计1、 数据结构的设计超级马里奥运行效果图如下:其中,一共包含四大类对象,分别是马里奥,地图块,食物和怪物,

12、其中食物包括蘑菇和花两种,怪物包括三角怪,乌龟,食人花和背刺怪。在游戏运行过程中,这些对象的数据都是必须知道的关键数据,比如说地图块的位置,马里奥的位置、速度、方向等等,并根据这些数据的反馈来更新游戏状态。具体的数据结构设计如下:1.1 马里奥的数据马里奥数据相对复杂,除了位置信息之外,还有马里奥变化信息,速度信息,动作信息等。主要数据定义如下:startX,startY马里奥初始位置level马里奥等级信息,等级越高,马里奥身体越大xSpeed,ySpeed马里奥的移动速度lifevalue马里奥的生命值state马里奥的当前状态,有向前、向后、向左和向右四种状态jumping马里奥是否处于

13、跳跃状态最后,本人将马里奥相关数据包装为完整类结构:Mario。1.2 地图块的数据游戏地图有地图块组成,地图会随着马里奥向前走而往后推移,所以还要一个数据来表示地图推移速度。主要数据定义如下:Map18256地图块的坐标xSpeed 地图块的平移速度1.3 食物的数据蘑菇出现后会跳跃,根据地图的移动方向来决定蘑菇的跳跃方向。count蘑菇的弹跳次数dir蘑菇运动方向move记录每次蘑菇跳起高度最后,本人将食物的相关数据包装为完整类结构:MushRoom。2、总体设计流程2.1 软件实现思路马里奥的移动是通过触控屏幕来控制,在代码中通过添加触摸事件来检测屏幕是否被触摸,然后相应的改变马里奥的坐

14、标属性。怪物和金币的移动是规律性的,是不可控制的,所以怪物的坐标属性是根据时间的变化而变化。移动效果实现后,就需要检测马里奥是否碰撞到其他单位,这些单位包括障碍方块和怪物,如果碰到障碍方块则不能继续移动,如果碰到怪物,则马里奥的生命属性减少。检测碰撞的方法是判断马里奥与周围一定范围内的物体的坐标有没有重合,如果重合则为碰撞,没有重合则没有碰撞。这里只要检测马里奥周围一部分范围的单位,并不需要整个地图检测,这样可以提高程序流畅度。图三、 程序流程图3、贪吃蛇游戏的主要功能模块设计与实现基于Android的超级马里奥主要包括游戏实体模块、游戏控制模块和一些补充的模块3.1 游戏实体模块游戏实体显示

15、先通过对图片等一些资源加载,然后显示出来来实现菜单和地图等实体的显示。首先我们将需要用到的资源图片粘贴到android项目的assets文件夹中,loadactivity.java用于来加载这些资源,在loadingactivity的onCreate方法中,先设置为全屏状态,因为我们需要用一个进度条来显示图片加载的进度,所以,在这里还要启动一个线程来加载图片。LoadResource.java里面是用来加载图片资源的方法,Loadactivity类就是通过继承loadResource类来实现加载资源功能,加载图片的主要代码如下:canvas.drawColor(Color.BLACK); /绘

16、制红色进度条 canvas.drawBitmap(red, x, y, null); /绘制黄色进度条 canvas.save(); canvas.clipRect(x, y, x + LoadResource.temp * width, y + yellow.getHeight(); canvas.drawBitmap(yellow, x, y, null); canvas.restore(); paint.setColor(Color.YELLOW); /渐变效果 paint.setAlpha(alphaindex+); if(index alpha.length - 1) index =

17、 0; 在进度条读完之后(即图片加载完之后)就要进入菜单界面,所以我们再在src文件夹添加一个muneview类,这个类就是用来实现菜单显示。这个菜单拥有有一个滚动的背景,实现主要滚动背景的代码如下: public void Draw() this.canvas = sh.lockCanvas(); if(canvas != null) paint.setColor(Color.YELLOW); /绘制背景 canvas.drawBitmap(LoadResource.map.get(0), x1-=2, 0, null); canvas.drawBitmap(LoadResource.map

18、.get(0), x2-=2 ,0, null); if(x1 = -LoadActivity.ScreenWidth) x1 = LoadActivity.ScreenWidth; if(x2 move.length - 1) index = 0; break; case BUTTON: this.StartGame.Draw(canvas, paint); this.Options.Draw(canvas, paint); this.Score.Draw(canvas, paint); this.Exit.Draw(canvas, paint); break; this.sh.unlock

19、CanvasAndPost(canvas); 在背景图片完成之后,我们再添加三个按钮,分别是开始游戏,设置,退出,然后设置三个按钮的属性,然后再在Drow方法里显示出来。还要给按钮添加触发事件监听器。3.2 游戏控制模块的实现游戏主要需要完成运动物体的运动控制以及运动物体的碰撞检测:3.2.1 马里奥控制实现地图制作完后,就开始制作主角马里奥,马里奥拥有生命,当前状态(向左或向右),等级(吃蘑菇后等级提高)等属性。新建一个mario类,这个类就是用于实现马里奥的这些属性和控制方法,由于马里奥的控制是通过键盘控制,所以在这里添加按键时间,当检测到按钮按下是,马里奥坐标开始变化,如果按钮放开,马里

20、奥则停止。马里奥的碰撞检测具体主要代码如下: public void Logic(MarioView mv) onLand = false; this.left = true; this.right = true; if(this.hp 0) /背景的碰撞检测 for(int i=0; i this.x - this.image.getWidth()*2 & t.x this.x + this.image.getWidth()*2) if(t.getType() = 133 | t.getType() = 134 | t.getType() = 135 | t.getType() = 77 |

21、 t.getType() = 93) if(t.MoreRectangle_CollisionWithSprite(this, t.getType() = 77 | t.getType() = 93 ? rect : rect2) if(t.getType() = 133 | t.getType() = 134 | t.getType() = 135 ) this.onLand = true; this.jumping = ; if(this.jumpTime t.x) mv.getNowLevel().isWin = true; /前景的碰撞检测 for(int i=0; i this.x

22、- this.image.getWidth()*2 & t.x t.x - 16 & this.x t.x + 16 & this.y + this.rect.top t.y) this.y = t.y - this.image.getHeight(); this.onLand = true; this.jumping = ; if(this.jumpTime t.x - 16 & this.x t.y) this.jumpTime = 0; switch(t.getType() case 21: if(t.value 0) if(this.level = 1) Level.food.add(

23、new MushRoom(t.x,t.y,LoadResource.food.get(0),t); else Level.food.add(new Flower(t.x,t.y,LoadResource.food.get(1),t); t.value -; t.setJumpTime(1); MarioView.PlayMusic(15); break; case 37: if(t.value 0) mv.getNowLevel().getCoin().add(new Coin(t.x,t.y,LoadResource.coin.get(0),1); t.value -; t.setJumpT

24、ime(1); MarioView.PlayMusic(3); score+=10; coin_value+; break; MarioView.PlayMusic(7); /判断是否可以继续向右走 if(this.y t.y - this.image.getHeight() & this.x t.y - this.image.getHeight() & this.x t.x ) this.left = false; /判断跳跃还是下降 if(this.jumpTime 0) this.jumping = 跳; this.y-= ySpeed; if(this.ySpeed 0) this.ySpee

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

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