游戏毕业设计论文Word文件下载.docx

上传人:b****1 文档编号:448959 上传时间:2023-04-28 格式:DOCX 页数:18 大小:22.78KB
下载 相关 举报
游戏毕业设计论文Word文件下载.docx_第1页
第1页 / 共18页
游戏毕业设计论文Word文件下载.docx_第2页
第2页 / 共18页
游戏毕业设计论文Word文件下载.docx_第3页
第3页 / 共18页
游戏毕业设计论文Word文件下载.docx_第4页
第4页 / 共18页
游戏毕业设计论文Word文件下载.docx_第5页
第5页 / 共18页
游戏毕业设计论文Word文件下载.docx_第6页
第6页 / 共18页
游戏毕业设计论文Word文件下载.docx_第7页
第7页 / 共18页
游戏毕业设计论文Word文件下载.docx_第8页
第8页 / 共18页
游戏毕业设计论文Word文件下载.docx_第9页
第9页 / 共18页
游戏毕业设计论文Word文件下载.docx_第10页
第10页 / 共18页
游戏毕业设计论文Word文件下载.docx_第11页
第11页 / 共18页
游戏毕业设计论文Word文件下载.docx_第12页
第12页 / 共18页
游戏毕业设计论文Word文件下载.docx_第13页
第13页 / 共18页
游戏毕业设计论文Word文件下载.docx_第14页
第14页 / 共18页
游戏毕业设计论文Word文件下载.docx_第15页
第15页 / 共18页
游戏毕业设计论文Word文件下载.docx_第16页
第16页 / 共18页
游戏毕业设计论文Word文件下载.docx_第17页
第17页 / 共18页
游戏毕业设计论文Word文件下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

游戏毕业设计论文Word文件下载.docx

《游戏毕业设计论文Word文件下载.docx》由会员分享,可在线阅读,更多相关《游戏毕业设计论文Word文件下载.docx(18页珍藏版)》请在冰点文库上搜索。

游戏毕业设计论文Word文件下载.docx

即使用FlashCS3作为开发环境

以ActionScript2.0作为开发语言

以FlashPlayer9为运行环境进行Flash应用程序开发和创作的完整知识体系

  对于Flash应用程序开发

在进行Flash开发时

安装一个开发工具(也被称为开发环境、创作环境等

目前流行的Flash开发工具基本都是Adobe公司的产品

最著名的就是FlashCS3和FLEX

1.2.2运行环境

WindowsMacintosh处理器800MHzIntelPentiumIIIprocessor(orequivalent)andlater600MHzPowerPCG3andlater操作系统Windows2000

WindowsXPMacOSX10.3

10.4内存256MBRAM(1GBrecommendedtorunmorethanoneStudio8productsimultaneously)256MBRAM(1GBrecommendedtorunmorethanoneStudio8productsimultaneously)显示1024x768

16-bitdisplay(32-bitrecommended)1024x768

thousandsofcolorsdisplay(millionsofcolorsrecommended)磁盘空间710MBavailablediskspace360MBavailablediskspace1.2.3开发语言

  用户要进行Flash开发

要接触是ActionScript(简称AS)

ActionScript程序语言是用于Flash开发的交互语言

ActionScript有三种语言编写风格

这就是AS1、AS2和AS3

AS1遵循ECMA-262第3版所制定的规范

AS2遵循即将发布的ECMA-262第4版规范

但它们的运行环境只有一种

即FlashPlayerVM(Adobe称为AVM1

AVM是ActionScript虚拟机的简称)

2.游戏设计相关知识介绍

  了解贪吃蛇的设计原理后

接下来就是对设计游戏的一些相关理论知识基础及深入点的分层次介绍

2.1Flash理论基础知识要点

2.1.1基础概念

  

(1)帧频是动画播放的速度

以每秒播放的帧数为度量

帧频太慢会使动画看起来一顿一顿的

帧频太快会使动画的细节变得模糊

在Web上

每秒12帧(fps)的帧频通常会得到最佳的效果

QuickTime和AVI影片通常的帧频就是12fps

但是标准的运动图像速率是24fps

  

(2)将元件看作是一种模板

使用同一个模板能够创建多个实例

对元件的实例可以做各种变换操作

而这些操作不会对元件的各种属性有所更改

也可以改变元件的属性

例如颜色、形状以及边线的粗细等

当对这些属性加以修改后

舞台上的所有实例的相应属性也发生了变化

  (3)影片剪辑拥有自身的、独立于主影片的时间轴播放的多帧时间轴

即可以将影片剪辑看作主影片内的小影片

它可以包含交互式控件、声音、甚至其他影片剪辑实例

也可以将影片剪辑实例放置在按钮元件的时间轴内

以创建动画按钮

  (4)点语法:

_root:

表示绝对路径

他指的是时间主轴

_parent:

表示当前时间轴

可以操控当前时间轴上的对象等

变量作用域分为全局变量、本地变量和时间轴变量

2.1.2基本语法规则及简单注意事项

  

(1)变量、函数、对象、操作符、保留关键字等语言元素

有它自己的语法规则

ActionScript拥有自己的句法和标点符号使用规则

这些规则规定了一些字符和关键字的含义

以及它们的书写顺序

例如

在英语中句号结束一个句子

而在ActionScript中则用分号结束一个语句

  

(2)动画设计过程中的简单注意事项

○1确保处在动画测试模式

○2确保不在多层中添加相互矛盾的帧动作

○3确保多个动作脚本元素没有使用相同的名字

○4确保所有的目标路径以确保他们的正确无误

2.2面向对象编程

  "

对象"

是指属性和方法的集合

每个对象都具有其各自的名称

并且都是特定类的实例

相比较而言

对象是一个形象具体的概念

如生活中所使用的笔、纸张、书籍、计算机等

都可称之为对象

而对于每个对象来说

它们都具有一些区别于其他对象的个体属性

如大小、形状、颜色、使用方法等

  在面向对象编程中

类定义对象的类别

描述对象的属性(数据)和行为(方法)

类是一个较为抽象的概念

可以说是对象概念的提升

利用类可表现一组相关对象中某些公共的属性和行为

如果要使用类所定义的属性和方法

必须先创建该类的实例

实例化对象其实就是指定某个特定的对象

2.3游戏制作中常用函数的属性与方法

2.3.1Mouse类

  使用Mouse类的方法可隐藏和显示SWF文件中的鼠标指针(光标)

默认情况下鼠标指针是可见的

但是用户可以将其隐藏并实现用影片剪辑创建的自定义指针

方法名用法说明Mouse.showMouse.show()在SWF文件中显示鼠标指针

指针在默认情况下可见Mouse.hideMouse.hide()隐藏SWF文件中的鼠标指针Mouse.addListenerMouse.addListener(newListener)注册一个对象以接收onMouseDown、onMouseMove和onMouseUp通知

(参数:

newListener为一个对象)Mouse.removeListenerMouse.RemoveListener(listener)删除用addListener方法注册的对象

listener为一个)MovieClip.onMouseDownMyMovieClip.onMouseDown当按下鼠标左键时调用MovieClip.onMouseMoveMyMovieClip.omMouseMove当鼠标移动时调用MovieClip.onMouseUpMyMovieClip.onMouseUp当释放鼠标左键时调用2.3.2Key类

  Key类是不通过构造函数即可使用其方法和属性的顶级类

使用Key类的方法可生成用户能够通过标准键盘控制的界面

该类的属性是常量

表示控制游戏时最经常使用的键

方法名用法说明Key.addListenerKey.addListener(newListener)注册一个对象

以接收onKeyDown或onKeyUp的通知Key.getAsciiKey.getAscii()返回按下或释放的最后一个按键的ASCII码值Key.getCodeKey.getCode()返回最后一次按键的键控代码值Key.isDownKey.isDown(keycode)判断是否按下了参数keycode中指定的键

若按下则返回True;

否则将返回False

Key.isToggledKey.isToggled(keycode)判断CapsLock键或NumLock键是否处于激活状态

若是则返回True

Key.removeListenerKey.removeListener(Ustener)删除通过addListener方法注册的对象

若删除成功

则返回True;

否则返回False

Key.onKeyDownsomeListener.onKeyDown当按下某个按键时获得通知Key.onKeyUpSomeListener.onKeyUp当释放某个按键时获得通知2.3.3Button类

 按钮是Flash影片中实现交互功能最常见的对象

SWF文件中的所有按钮元件都是对象的实例

用户可在属性检查器中指定按钮实例名称

并通过动作脚本使用Button法和属性来操纵按钮

名称用法说明Button.onDragOutmyButton.onDragOut

当在按钮上按下鼠标按键

并且不释放按键时

然后将鼠标指针滑出按钮时调用事件Button.onDragOvermyButton.onDragOver当用户在按钮上按下鼠标

然后在不释放按键的情况下将鼠标指针拖到按钮之外后

再次将鼠标指针移到按钮上方时调用事件Button.onKeyDownmyButton.onKeyDown当按下键盘上的某个按键时调用事件Button.onKeyUpmyButton.onKeyUp当释放键盘上的某个按键时调用事件Button.onPressmyButton.onPress当在按钮上按下鼠标按键时调用事件Button.onReleasemyButton.onRelease当用户释放鼠标左键时调用事件2.3.4MovieClip类

  MovieClip中类的方法提供的功能与定位影片剪辑的动作所提供的功能相同

无需使用构造函数方法即可调用MovieClip类的方法

用户只需在语法中按名称引用影片剪辑实例即可

方法名与用法myMovieClip.attachMovie(idName

newName

depth[

initObject])

从【库】面板中取出一个元件

并将其附加到舞台上由MovieClip指定的影片中

myMovieClip.creatEmptyMovieClip(instanceName

depth)

为现有的影片剪辑元件实例创建子级的空影片剪辑元件实例

新创建的空影片剪辑的注册点为左上角

myMovieClip.createTextField(instanceName

depth

x

y

width

height)

创建现有影片剪辑元件实例的子级空文本字段

myMovieClip.duplicateMovieClip(newname

initObject])

在影片播放时

复制指定影片剪辑元件的实例

myMovieClip.gotoAndPlay(frame)跳转到指定帧并开始播放影片

myMovieClip.gotoAndStop(frame)将播放头跳转到指定的帧

并停止影片的播放

myMovieClip.hitTest(x

shapeFlag)MovieClip.hitTest(target)

判断指定的实例是否与标识的点击区域或target重叠或交叉

myMovieClip.loadMovie("

url"

[

variables])

在播放原始SWF影片时

将外部SWF或JPEG文件加载到FlashPlayer中的影片剪辑中

myMovieClip.removeMovieClip()

删除使用duplicateMovieclip动作或MovieClip对duplicateMovieclip或attachMovie方法创建的影片剪辑元件实例

myMovieClip.unloadMovie()删除使用loadMovie或attachMovie方法加载的影片剪辑元件实例

MovieClip类的事件处理函数的八种状态

名称用法说明MovieClip.onDatamyMovieClip.onData

当影片剪辑元件实例通过loadVariables或loadMovie方法调用接收数据时调用事件MovieClip.onKeyDownmyMovieClip.onKeyDown当影片剪辑元件实例设置了输入焦点

并且有按键被按下时调用事件MovieClip.onKeyUpmyMovieClip.onKeyUp当键盘按键被释放时调用事件MovieClip.onMouseDownmyMovieClip.onMouseDown当鼠标左键按下时调用事件ovieClip.onMouseMovemyMovieClip.onMouseMove当移动鼠标时调用事件MovieClip.onMouseUpmyMovieClip.onMouseUp当释放鼠标时调用事件MovieClip.onPressmyMovieClip.onPress当用户在指定的影片剪辑元件实例上按下鼠标左键时调用事件MovieClip.onReleasemyMovieClip.onRelease当用户在指定的影片剪辑元件实例上释放鼠标左键时调用事件2.3.5Sound类与Math类

  Math类的方法和属性可以访问和处理数学常数和函数

Math类的所有属性和方法都是静态的

并且必须使用语法Math.method(parameter)或Math.constant来调用

游戏中食物的随机出现就是利用了math函数里的随机函数

  游戏里的背景音乐还有对声音图标的控制也就是通过面向对象编程里的Sound类函数来控制实现的

名称用法说明Sound.attachSoundmySound.attachSound("

idName"

)将指定标识符名称的声音文件附加到Sound对象中Sound.startmySound.start([secondOffset

loop])指定声音文件的播放Sound.stopSound.stop(["

])当指定了要停止播放的声音时

将停止该声音的播放;

若未指定idName参数

则停止当前所有声音的播放Sound.setVolumemySound.setVolume(volume)设置Sound对象的音量Sound.loadSoundmySound.loadSound("

isStreaming)将MP3声音文件加载到Sound对象的实例中2.3.6Array类

  通过Array类用户可以访问和操纵数组

数组是一个对象

其属性由表示该属性在数组中位置的数字来标识

此数字称为"

索引"

所有数组都从零开始

这意味着数组中的第一个元素为[0]

第二个元素为[1]

依此类推

方法说明Array.concat()连接参数

并将其作为新数组返回Array.join()将数组内的所有元素联接为一个字符串Array.pop()删除数组中最后一个元素

并返回该元素的值Array.push()将一个或多个元素添加到数组的结尾

并返回该数组的新长度Array.reverse()倒转数组的方向Array.shift()删除数组中第一个元素

并返回该元素的值属性说明Array.length指定数组中元素数量的非从零开始的整数

3.制作贪吃蛇游戏的整体规划

3.1贪吃蛇游戏的大致结构图

3.2游戏设计整体构思

  首先场景规划

主要有两个:

一个是游戏封面

一个是游戏运行界面

其次是电影影片剪辑

主要有蛇

背景设计等

按钮及文字属性都有自己的实例名

便于脚本控制

最后对整体的进行核心代码编写与控制

在软件环境里运行并调试

发现问题

分析并解决

最后发布游戏

3.3透视游戏设计的核心重点算法

  贪吃蛇的核心算法是如何实现移动和吃掉食物

没有碰到食物的时候

贪吃蛇继续移动

吃到食物的时候

蛇身增长

咬住蛇身或蛇尾的时候

能够暂停和开始

让游戏继续下去

食物随机出现

贪吃蛇继续游动

并记录游戏所得分数

3.4游戏设计核心重点函数控制

  

(1)新建一个数组来保存当前的蛇的身体aPieceList=newArray();

  

(2)定义mouseListener对象来侦听鼠标的onMouseDown点击事件

mouseListener=newObject();

mouseListener.onMouseDown=function(){函数体};

  (3)addPiece函数的作用是调用一段身体来增长蛇身

  (4)moveFood函数的作用是当碰撞到食物的时候移动食物的位置

  (5)startGame是脚本中重要的一部分

包括蛇的移动

碰撞和增加蛇身

4.游戏详细设计与核心技术

4.1游戏的详细设计

  实现游戏

主要的目的就是场景的布局及影片剪辑的在舞台中的动画实现

重点脚本代码的实现后台控制角色的运动

主要的设计内容就是如下步骤所示:

4.1.1游戏的设计的内容

  

(1)新建一个300*500的文档;

  

(2)设置文档属性中的帧频为12(设置的更高游戏的速度更快);

  (3)新建两个场景

分别命名为:

sceneOne、sceneTwo;

  (4)分别对两个场景设置背景效果

是风格独具一格

注重色彩的搭配;

  (5)设置主题文字效果

并为每个场景创建影片剪辑与按钮;

  (6)为帧和按钮添加事件

脚本代码;

  (7)测试影片

保存并发布

4.1.2游戏影片剪辑的设计

  场景1(sceneOne):

  

(1)封面背景

  

(2)设计封面主题文字与游戏规则

  (3)添加"

游戏进入"

按钮

并为该按钮添加:

on(release){gotoAndPlay("

sceneTwo"

1);

}

  场景2(sceneTwo):

  

(1)游戏运行背景

风格是手机类状的墨绿背景

  

(2)新建一层"

屏幕"

在舞台上画个无边框的矩形

渐变填充色

具体属性如下:

W:

300H:

300X:

0Y:

0

  (3)选择文本工具

在属性面板中设置为动态文本

在矩形的正下方放置一个动态文本来显示所得的分数

文本中写上"

start"

设置字体和颜色

实例名称为"

tScore"

  (4)按下ctrl+F8

命名为"

piece"

设置他的属性为影片剪辑

点击"

高级"

选择"

为ActionScript导出"

那个标示符自动地被设置为"

  (5)选择椭圆工具

在当前的舞台上画一个正圆并设置如下属性:

15H:

15X:

(6)作为蛇的身体

不想用圆形

其他图形也可

但是要保持它的高宽都是15

方法同上

制作一个标示符为food的影片剪辑

  (7)选择椭圆工具在舞台上画一个圆形

并设置为如下属性:

0作为蛇所吃到的食物来增长身体

也可在不修改高宽的情况下进行任意的修改

4.2游戏的核心技术

4.2.1脚本函数

canMove=true;

//可以运动

sta候后onMouseDown事件函数被激活

k=newObject();

k.

};

  在制作游戏的时候

最先考虑的问题之一就是如何是游戏中的动画画面智能化

要做到这一点

最终的目标是要使Flash文本友好

容易编辑和扩展

  在制作项目设计时

主要是素材搜集及理论知识的巩固与升华

首先

一旦确定目标

就尽量思考项目的设计原理与背景

其次要详细规划

分工明细原则

弄懂该如何利用理论基础知识要点去实现看似简单的制作

最后

在综合的实验过程中

努力提高综合素质及分析问题解决问题的能力

从而对软件应用方面会有更深刻的认知与开拓

尽量提升专业素质修养

透过现象看本质

找到一些规律

让自己的学识由量到质变的过程

综合能力的提高进而为进入社会做了更好的准备工作

  简单的贪吃蛇游戏由蛇头、蛇身、蛇尾、食物为主角

游戏控制中

食物一旦吃到

蛇身就增加一段

而后食物随机出现

蛇又运动

循环往复

直至蛇头咬住自己的身体某一部位

游戏终止

可见控制中增加了对软件高级语言编程的应用

比如随机函数

数组

自定义函数

影片剪辑事件等

最后综合在一起应用

除了考虑核心函数和局部函数的主次分配

还要预先初定义一些变量

便于控制整个游戏

最后对软件的熟练操作

实现最终游戏的实现

  

?

1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2