小新挑战100层游戏设计毕业论文.doc

上传人:龙*** 文档编号:1096249 上传时间:2018-12-06 格式:DOC 页数:20 大小:2.37MB
下载 相关 举报
小新挑战100层游戏设计毕业论文.doc_第1页
第1页 / 共20页
小新挑战100层游戏设计毕业论文.doc_第2页
第2页 / 共20页
小新挑战100层游戏设计毕业论文.doc_第3页
第3页 / 共20页
小新挑战100层游戏设计毕业论文.doc_第4页
第4页 / 共20页
小新挑战100层游戏设计毕业论文.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、目录摘要 .I前言 .II第 1 章 绪论 .11.1 选题背景 .11.1.1 系统开发背景 .11.1.2 Android 游戏的发展趋势 .11.1.3 Android 开发工具及系统特点 .11.2 游戏研究的目的 .21.3 游戏设计思路 .2第 2 章 小新挑战 100 层游戏总体设计 .32.1 游戏设计的概述 .32.1.1 游戏的界面及设计要素 .32.1.2 游戏的规则 .32.2 游戏剧情介绍 .42.2.1 片头故事情节 .42.2.2 片尾故事情节 .42.3 游戏的功能介绍 .42.4 游戏的策划及准备 .5第 3 章 小新挑战 100 层游戏详细设计 .63.1

2、小新挑战 100 层游戏的架构 .63.1.1 游戏总体框架简介 .63.2 菜单类 AgileGirlActivity.63.3 游戏相关类 .73.3.1 游戏主界面绘制类 AgileGirlView.73.3.2 障碍类 UIModle .83.3.3 食物类 Footboard .93.3.4 排行榜类 GlobalRankingActivity .10第 4 章 小新挑战 100 层游戏项目测试 .124.1 游戏测试概述与目的 .124.2 小新挑战 100 层游戏系统测试 .124.2.1 游戏在模拟器上运行步骤 .124.2.2 游戏导入 Android 手机的步骤 .134.

3、3 游戏性能分析 .13第 5 章 总结与展望 .155.1 总结 .155.2 未来的展望 .15参考文献 .16致谢 .17I摘要本论文主要对此款游戏的总体设计,需求分析和内部数据的具体处理和计算进行了详细的阐述。并对游戏的具体设计与实现进行了简要的说明。在一定的 Android 理论的基础上,介绍了部分关键代码与关键函数的应用。对游戏中应用到的相关计算机图形学实现应用动画的过程做了具体介绍。最后展示成果截图并对其进行简单介绍,然后论文进行整体总结与归纳。在游戏整体架构基础上,从细节入手,对软件测试目的“小新挑战 100 层”游戏系统测试进行阐述,包括游戏系统测试的具体实现方法和游戏性能分

4、析。第五章:总结与展望。对本文做了总结,对自己今后需进一步研究的内容做了展望。同时,为增添游戏的趣味性和娱乐性,还为该游戏添加了片头、片尾动画,片头、片尾、游戏主体三者通过一个短小的故事情节串联在一起制作成一个有趣的小游戏。关键词 游戏 安卓 人机交互 动画 系统II前言随着社会与科技的发展,人们越来越注重移动、便携与方便。而随着这股潮流的发展,手机应用游戏应运而生。Android 系统作为一个市场占有超过 50%的手机平台,其应用游戏的发展非常迅猛。本论文提出一款基于 Android 系统的“小新挑战 100 层”游戏设计,并对其具体开发与实现进行了剖析。在游戏制作过程中,实现了用户与手机之

5、间的良好的人机交互,使用户更好的参与到游戏中去。此款游戏为冒险类游戏,其内容主要包含“游戏开始” , “排行榜” , “选项” ,“游戏主画面” , “游戏退出”这 5 个模块。主要介绍了每个模块的功能,设计方法。模块和模块之间的逻辑结构和数据处理。本论文主要对此款游戏的总体设计,需求分析和内部数据的具体处理和计算进行了详细的阐述。并对游戏的具体设计与实现进行了简要的说明。在一定Android 理论的基础上,介绍了部分关键代码与关键函数的应用。对游戏中应用到的相关计算机图形学实现应用动画的过程做了具体介绍。最后展示成果截图并对其进行简单介绍,然后论文进行整体总结与归纳。1第 1 章 绪论1.1

6、 选题背景1.1.1 系统开发背景Android 一词的本意指“机器人” ,同时 Android 也是 Google 于 2007 年 11月 5 日宣布的基于 linux 平台开源手机操作系统名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。2008 年 9 月 22 日,美国运营商 T-Mobile USA 在纽约正式发布第一款基于 Android 的手机T-Mobile G1。该款手机为宏达电制造,是世界上第一部使用 Android 操作系统的手机,支持 WCDMA/HSPA 网络,理论下载速率7.2Mbps,并支持 Wi-Fi。

7、在随后的几个月越来越多的厂商也开始宣布将提供Android 手机。事实上直到 Android 的诞生,才真正打破了智能手机发展的僵局,带领智能手机市场迅速崛起,为人们的生活和工作带来了与众不同的全新体验。1.1.2 Android 游戏的发展趋势无论是软件还是硬件,种种迹象表明,Android 平台的游戏正在进入快速的发展时期。相较传统的 J2ME 游戏,无论是在表现力上,还是在开发效率、可移植性上,都对手机游戏注入了新的理念,重要的是为用户带来了全方位的游戏体验。在可玩性和流行性上都占有优势地位。由此,个人认为在未来的 Android 游戏甚至其他平台的手机游戏中,都会朝着以下的趋势发展:1

8、、将向专业化、大规模化方向发展2、将向网络化方向发展3、将向休闲化、时间片化方向发展1.1.3 Android 开发工具及系统特点开发工具Eclipse 是一个市场占有率很高的 Java IDE 工具,Android 推荐使用Eclipse 来开发 Android 应用,并为其提供了专门的插件:Android Development Tools(ADT) 。系统特点Android 的底层建立在 Linux 系统之上,它采用一种软件叠层的方式进行构建。这种软件层结构使得层与层之间互相分离,分工明确。保证了层与层之间的低耦合,当下层的层下或者层内发生改变时,上层应用程序无须做任何改变。 Andro

9、id 系统主要由 5 部分组成:应用程序层应用程序框架函数库Android 运行时Linux 内核Android 操作系统运行时由 2 个部分组成:Android 核心库和 Dalvik 虚拟机。其中 Android 核心库主要为 Java 语言提供了大部分的功能,而虚拟机则负责运行 Android 应用程序。21.2 游戏研究的目的现如今,电子游戏已慢慢渗透进人们生活中,并在扮演着越来越重的角色。可以说,随着它的迅猛发展,现今的电子游戏已经不仅仅是一种娱乐,而是形成了一种文化现象。本游戏的制作属于手机游戏中的冒险类(AGV)游戏。冒险类游戏大部分都在关卡设定以及游戏节奏上加大投入,游戏时间比

10、较短,并强化其游戏动作的动感和乐趣。 1.3 游戏设计思路“小新挑战 100 层”这款游戏的主要设计是基于随机出现的各种钉板,尖刀,还有各类食物等因素综合作用影响的情况下,玩家使用方向键左右控制小人,要防止被托上去挤死,掉下去摔死、被钉板,尖刀戳死 。游戏中为了增加游戏的复杂性和难度,增加了各种不同作用的 5 种板子以及可以延长生命值的食物等因素来影响玩家游戏情况。 3第 2 章 小新挑战 100 层游戏总体设计2.1 游戏设计的概述 2.1.1 游戏的界面及设计要素 本游戏主界面主要分为 5 个部分:游戏开始,排行榜,选项,更多,游戏结束。游戏开始:点击“开始”按钮,阅读完游戏规则后,可点击

11、“开始游戏”进入游戏界面。排行榜:主界面中点击“排行榜”按钮,进入历史记录界面,此界面记录挑战 100 层成功的前 25 名玩家的信息。选项:主界面中点击“选项”按钮, “选项”界面可以分别对游戏的音效,振动,敏捷度等进行调节。游戏结束:主界面中点击“退出“按钮就会退出游戏。在游戏开始界面,排行榜界面,选项界面上点击返回键会返回主界面,在游戏界面点击返回按钮会进入跳转界面,在跳转界面点击返回按钮会进入到主界面。2.1.2 游戏的规则程序中的梯子,钉子,传送带和陷阱以及食物是随机产生的,主要是控制人物应该时遇到的不同的问题(比如钉子,传送带,陷阱,梯子或者食物落空或者时间间隔)时,不同的处理方式

12、有与之相对应的流程图,具体的流程图如2-1 所示。4图 2-1首先玩家进入游戏,看到开始界面,选择开始“菜单” ,进入游戏主界面,在游戏中,可供玩家落脚的地面共有 5 种,绿色的表示普通地面 ;灰色的是空传送带 ,停留一定时间间隔并会使小人掉下去,玩家们注意不要被这个东西骗了;绿黄相间色的是传送带,传送带有两种,一种是始终向左传送,一种是始终向右传送,可以加速或减慢玩家的行动速度;绿灰色的为钉板 ,如果踏上的话会损失生命值;带弹簧的为跳板 ,会不停地把小人弹起。除钉板外,所有可供玩家落脚的地方都是每踏上一下小人的生命值就会回复一格。吃到一系列食物 可以延缓小人的死亡的速度。画面左下方的长条是小

13、人的血槽,画面右下方的数字表示目前的层数。2.2 游戏剧情介绍2.2.1 片头故事情节 “小新挑战 100 层”的片头故事情节如下:一个风和日丽的早上,小新带着好朋友小白去参加双叶幼儿园的春游活动,与小伙伴们一起坐校车前往游乐场。伴随着阿呆,正男,小白,小新,小爱一路上的欢声笑语,大家来到了游乐场。游乐场里,小伙伴们玩得不亦乐乎,挑战了海盗船,飓风飞椅,摩天环车,摩天轮等一系列的刺激又有趣的项目。小新在游乐场里闲逛,忽然走到了一个项目面前停了下来,只见一位举着一块牌子,上面写着:你是勇士吗?那就来挑战 100 层吧!还有可爱玩具相送哦!看着面前好多漂亮的玩具,小新有点心动:好多玩具呀!大叔微笑

14、着问:小朋友,你想要挑战这个游戏吗?小新立刻举起小手:叔叔,小新是勇士哦!我要报名!于是,小新挑战 100 层的冒险之旅开始啦!跟着小新一起开启奇幻的旅程吧,Ready Go! 2.2.2 片尾故事情节“小新挑战 100 层”的片尾故事情节如下:一番冒险而又刺激的挑战后,小新成功的攻破了 100 层。小新兴奋的蹦了起来,开心的喊着:欧耶!我挑战成功啦!一旁的大叔露出了满意而又欣慰的微笑:恭喜你哦!小朋友,你可以挑选喜欢的礼物啦!最终小新挑了美伢妈妈一直没给他买的电动小火车。2.3 游戏的功能介绍本游戏做开发的是基于 Android 的“小新挑战 100 层”的手机游戏,主要实现玩家可以通过重力

15、感应左右上下控制小人,防止被钉子夹死,掉下去摔死,到顶层碰到钉板而死。“小新挑战 100 层”这款游戏需要实现主要功能如下:51、游戏主框架设计2、游戏中各个 Activity 之间实现数据传输3、排行榜类的设计与实现4、选项类的设计与实现5、背景类的设计与实现6、食物类的设计与实现7、游戏主逻辑的实现8、游戏的开始和退出功能实现2.4 游戏的策划及准备 本游戏属于动作冒险类游戏,从以下 4 个方面进行策划:1、界面切换:游戏中共有 5 个界面,主界面是游戏开始的第一个界面,起欢迎作用。同时作为连接其他所有界面的枢纽。排行榜界面负责显示游戏的历史记录,包括玩家姓名,挑战日期以及分数。选项界面负

16、责整个游戏中的音效和振动效果的控制,敏捷度的调节。2、目标受众:本游戏操作简单,易于上手,适合各个年龄阶段的玩家快速掌握。3、目标平台:本游戏的目标平台为 Android2.1 版本以上。4、完成游戏策划以后,就要对策划时已经确定的游戏中用到的资源进行搜集,在本游戏中,主要搜集的资源是游戏中用到的图片跟声音。将搜集的图片跟音效资源按表中数据进行组织后,放置在项目的 assets 目录下。6第 3 章 小新挑战 100 层游戏详细设计3.1 小新挑战 100 层游戏的架构3.1.1 游戏总体框架简介游戏的总体架构是指从全局把游戏分为哪几个大的模块,每个模块又实现了哪些功能。本游戏可以划分为三个模

17、块,分别为层模块,功能模块和辅助工具类模块, 表示层模块主要指与前台绘制相关的界面类,包括 6 个普通的跳转界面和游戏界面。表示层模块是最终呈现在玩家面前的所有界面,主要负责将各个界面绘制在屏幕上,并通过相应的触摸监听方法完成界面之间的相互转换。功能模块是指在游戏界面中所遇到障碍的集合,主要完成的功能是各种障碍的创建和绘制。在游戏中具体来说就是各类不同作用的木板跟食物的创建以及应对每种障碍的反应。工具辅助模块主要是由一个个工具类构成,这些工具或是完成某种计算,或者是完成信息的存取或读取,或是完成对声音和图片的处理,总之,工具辅助模块主要是帮助前台实现某些效果。 3.1.2 游戏的类架构游戏的类

18、架构是指在总体架构的基础上,对每个大模块进行细分后的小模块架构,通过游戏的类架构,基本可以确定各个类的归属。1、表示层模块类架构,表示层模块主要包括界面类及和界面显示相关的线程类还有 Activity,这些类互相配合,基本完成了前台界面的绘制工作。2、功能模块的类架构,功能模块主要包括创建障碍和食物的工具类,游戏中包括 6 种不同作用的板子和 8 种食物。 3、工具辅助模块的类架构,工具辅助模块包含排行榜模块,图片和音效处理模块,全屏自适应模块等。3.2 菜单类 AgileGirlActivityActivity 是 Android 程序中比较重要的类,本游戏中 AgileGirlActivi

19、ty继承自 Activity,控制着整个界面的跳转,也负责部分游戏资源的初始化,接下来就开始进行 AgileGirlActivity 开发。getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);这两行代码是在构造器内设置屏幕显示方式为全屏。getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.

20、FLAG_FULLSCREEN);setContentView(R.layout.main);mAgileGirlView =(AgileGirlView) findViewById(R.id.agile_buddy);mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);mSensor=mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);7mSensorEventListener = new SensorEventListener() public voi

21、d onSensorChanged(SensorEvent e) mAgileGirlView.handleMoving(e.valuesSensorManager.DATA_X);public void onAccuracyChanged(Sensor s, int accuracy) ;游戏中对小人的操控使用了加速度传感器,模拟重力感应,使小人在木板上上下左右移动,以上代码是开发注册传感器监听器的步骤,首先获得传感器管理器,传感器为加速度传感器,然后获得振动服务对象。mSensorManager.registerListener(mSensorEventListener, mSensor,

22、SensorManager.SENSOR_DELAY_GAME);这两行代码是注册重力感应器监听。3.3 游戏相关类 3.3.1 游戏主界面绘制类 AgileGirlView主界面是游戏运行后进入的第二个界面,起到中枢作用,同时在所有的界面中,主界面处于核心位置,界面间的相互跳转主要是通过主界面串联起来的。首先更新本地文件,初始化资源和音效。以下代码是对振动的处理方法。if (mVibratorFlag) if (mVibrator = null) mVibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE

23、);mVibrator.vibrate(25);以下代码为主界面音效的播放方法。private void playSoundEffect(int soundId) try AudioManager mgr = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);float streamVolumeCurrent = mgr.getStreamVolume(AudioManager.STREAM_RING);float streamVolumeMax = mgr.getStreamMaxVolume(AudioManager.STREAM_RING);float volume = streamVolumeCurrent / streamVolumeMax;soundPool.play(soundPoolMap.get(soundId), volume, volume, 1, 0,1f); catch (Exception e) Log.d(“PlaySounds“, e.toString();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。