游戏毕业设计论文
1. 游戏设计背景
随着科技与经济的快速发达,知识经济的快速增长,娱乐逐渐变成人与智能的交流。智能化的娱乐游戏在网络里愈来愈好,众多的游戏不胜枚举。比如益智类的小游戏、腾讯游戏、网页游戏、格斗游戏、模拟游戏等,尤其是最近网络上特别流行的Flash 制作的动画越来越受关注。现在就探究下用Flash 软件制作贪吃蛇的游戏的设计原理。
1.1游戏设计原理
游戏贪吃蛇就是在Flash 软件用影片剪辑设计出蛇,食物,同时随机地给出食物。游戏者通过键盘操作控制贪吃蛇的移动,去吃食物,吃到食物后消失,然后再随机给出食物同时蛇的身体增长。设计蛇的原理就是利用人眼的视觉效应先将蛇头向前移动一格,然后所有蛇身依次向前移动一格,最后再擦除蛇尾。这样看来好像蛇在向前移动。食物的给出,首先需要产生一个随机数,然后通过这个随机数计算得到食物的纵横坐标,在软件运行效果里显示出来。控制蛇的移动方向,需要扫描键盘,然后根据键值改变蛇的移动方向。
1.2游戏设计的运行环境
学习Flash 开发,首先要建立首要的、基础的正确认知。在几乎任何应用程序开发中,都要接触到三个相互关联的方面:一个是开发环境,一个是运行环境,再一个是开发语言。 1.2.1软件开发环境
Flash 应用程序开发也包含着三个方面,即使用Flash CS3作为开发环境,以ActionScript 2.0作为开发语言,以Flash Player 9为运行环境进行Flash 应用程序开发和创作的完整知识体系。
对于Flash 应用程序开发,在进行Flash 开发时,安装一个开发工具(也被称为开发环境、创作环境等。目前流行的Flash 开发工具基本都是Adobe 公司的产品,最著名的就是Flash CS3和FLEX 。
1.2.2运行环境
1.2.3开发语言
用户要进行Flash 开发,要接触是ActionScript (简称AS ),ActionScript 程序语言是用于Flash 开发的交互语言。ActionScript 有三种语言编写风格,这就是AS1、AS2和AS3。AS1遵循ECMA-262第3版所制定的规范,AS2遵循即将发布的ECMA-262第4版规范,但它们的运行环境只有一种,即Flash Player VM (Adobe 称为A VM1,A VM 是ActionScript 虚拟机的简称)。2. 游戏设计
相关知识介绍
了解贪吃蛇的设计原理后,接下来就是对设计游戏的一些相关理论知识基础及深入点的分层次介绍。
2.1 Flash理论基础知识要点
2.1.1 基础概念
(1)帧频是动画播放的速度,以每秒播放的帧数为度量。帧频太慢会使动画看起来一顿一顿的,帧频太快会使动画的细节变得模糊。在 Web 上,每秒 12 帧 (fps) 的帧频通常会得到最佳的效果。QuickTime 和 AVI 影片通常的帧频就是 12 fps ,但是标准的运动图像速率是 24 fps。
(2)将元件看作是一种模板,使用同一个模板能够创建多个实例。对元件的实例可以做各种变换操作,而这些操作不会对元件的各种属性有所更改。也可以改变元件的属性,例如颜色、形状以及边线的粗细等。当对这些属性加以修改后,舞台上的
所有实例的相应属性也发生了变化。
(3)影片剪辑拥有自身的、独立于主影片的时间轴播放的多帧时间轴,即可以将影片剪辑看作主影片内的小影片,它可以包含交互式控件、声音、甚至其他影片剪辑实例,也可以将影片剪辑实例放置在按钮元件的时间轴内,以创建动画按钮。
(4)点语法:_root:表示绝对路径,他指的是时间主轴。_parent:表示当前时间轴,可以操控当前时间轴上的对象等。变量作用域分为全局变量、本地变量和时间轴变量。
2.1.2基本语法规则及简单注意事项
(1)变量、函数、对象、操作符、保留关键字等语言元素,有它自己的语法规则。ActionScript 拥有自己的句法和标点符号使用规则,这些规则规定了一些字符和关键字的含义,以及它们的书写顺序。例如,在英语中句号结束一个句子,而在ActionScript 中则用分号结束一个语句。
(2)动画设计过程中的简单注意事项。 1确保处在动画测试模式。 ○
2确保不在多层中添加相互矛盾的帧动作。 ○
3确保多个动作脚本元素没有使用相同的名字。 ○
4确保所有的目标路径以确保他们的正确无误。 ○
2.2面向对象编程
“对象” 是指属性和方法的集合,每个对象都具有其各自的名称,并且都是特定类的实例。相比较而言,对象是一个形象具体的概念,如生活中所使用的笔、纸张、书籍、计算机等,都可称之为对象。而对于每个对象来说,它们都具有一些区别于其他对象的个体属性,如大小、形状、颜色、使用方法等。
在面向对象编程中,类定义对象的类别,描述对象的属性(数据)和行为(方法),类是一个较为抽象的概念,可以说是对象概念的提升,利用类可表现一组相关对象中某些公共的属性和行为。如果要使用类所定义的属性和方法,必须先创建该类的实例,实例化对象其实就是指定某个特定的对象。
2.3游戏制作中常用函数的属性与方法
2.3.1 Mouse类
使用Mouse 类的方法可隐藏和显示SWF 文件中的鼠标指针(光标)。默认情况下鼠标指针是可见的,但是用户可以将其隐藏并实现用影片剪辑创建的自定义指针。
2.3.2 Key类
Key 类是不通过构造函数即可使用其方法和属性的顶级类。使用Key 类的方法可生成用户能够通过标准键盘控制的界面,该类的属性是常量,表示控制游戏时最经常使用的键。
2.3.3 Button类
按钮是Flash 影片中实现交互功能最常见的对象,SWF 文件中的所有按钮元件都是对象的实例,用户可在属性检查器中指定按钮实例名称,并通过动作脚本使用Button 法和属性来操纵按钮。
2.3.4 MovieClip类
MovieClip 中类的方法提供的功能与定位影片剪辑的动作所提供的功能相同,无需使用构造函数方法即可调用MovieClip 类的方法,用户只需在语法中按名称引用影片剪辑实例即可。
MovieClip 类的事件处理函数的八种状态
2.3.5 Sound类与Math 类
Math 类的方法和属性可以访问和处理数学常数和函数。Math 类的所有属性和方法都是静态的,并且必须使用语法Math.method(parameter)或Math.constant 来调用。游戏中食物的随机出现就是利用了math 函数里的随机函数。
游戏里的背景音乐还有对声音图标的控制也就是通过面向对象编程里的Sound 类函数来控制实现的。
2.3.6 Array类
通过Array 类用户可以访问和操纵数组。数组是一个对象,其属性由表示该属
性在数组中位置的数字来标识。此数字称为“索引”。所有数组都从零开始,这意味着数组中的第一个元素为 [0],第二个元素为 [1],依此类推。
3. 制作贪吃蛇游戏的整体规划
3.1贪吃蛇游戏的大致结构图
3.2游戏设计整体构思
首先场景规划,主要有两个:一个是游戏封面,一个是游戏运行界面。其次是电影影片剪辑,主要有蛇,食物,背景设计等,按钮及文字属性都有自己的实例名,便于脚本控制。最后对整体的进行核心代码编写与控制。在软件环境里运行并调试,发
现问题,分析并解决。最后发布游戏。
3.3透视游戏设计的核心重点算法
贪吃蛇的核心算法是如何实现移动和吃掉食物。没有碰到食物的时候,贪吃蛇继续移动,吃到食物的时候,蛇身增长。咬住蛇身或蛇尾的时候,能够暂停和开始。让游戏继续下去,食物随机出现,贪吃蛇继续游动,并记录游戏所得分数。
3.4游戏设计核心重点函数控制
(1)新建一个数组来保存当前的蛇的身体aPieceList = new Array(); (2)定义mouseListener 对象来侦听鼠标的onMouseDown 点击事件 mouseListener = new Object();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:300 H:300 X:0 Y:0
(3)选择文本工具,在属性面板中设置为动态文本。在矩形的正下方放置一个动态文本来显示所得的分数。文本中写上"start" ,设置字体和颜色。实例名称为"tScore" 。
(4)按下ctrl+F8,命名为"piece" ,设置他的属性为影片剪辑,点击" 高级" 按钮,选择" 为ActionScript 导出" ,那个标示符自动地被设置为"piece" 。
(5)选择椭圆工具,在当前的舞台上画一个正圆并设置如下属性: W:15 H:15 X:0 Y:0
(6)作为蛇的身体,不想用圆形,其他图形也可,但是要保持它的高宽都是15。方法同上,制作一个标示符为food 的影片剪辑。
(7)选择椭圆工具在舞台上画一个圆形,并设置为如下属性:
W:15 H:15 X:0 Y:0作为蛇所吃到的食物来增长身体。也可在不修改高宽的情况下进行任意的修改。
4.2游戏的核心技术
4.2.1脚本函数 (
canMove = true; //可以运动 sta 候后onMouseDown 事件函数被激活 k = new Object(); k. } };
在制作游戏的时候,最先考虑的问题之一就是如何是游戏中的动画画面智能化,要做到这一点,最终的目标是要使Flash 文本友好,容易编辑和扩展。
在制作项目设计时,主要是素材搜集及理论知识的巩固与升华。首先,一旦确定目标,就尽量思考项目的设计原理与背景。其次要详细规划,分工明细原则,弄懂该如何利用理论基础知识要点去实现看似简单的制作。最后,在综合的实验过程中,努力提高综合素质及分析问题解决问题的能力。从而对软件应用方面会有更深刻的认知与开拓,尽量提升专业素质修养。透过现象看本质,找到一些规律,让自己的学识由量到质变的过程,综合能力的提高进而为进入社会做了更好的准备工作。
简单的贪吃蛇游戏由蛇头、蛇身、蛇尾、食物为主角。游戏控制中,食物一旦吃到,蛇身就增加一段,而后食物随机出现,蛇又运动,循环往复,直至蛇头咬住自己的身体某一部位,游戏终止。可见控制中增加了对软件高级语言编程的应用。比如随机函数,数组,自定义函数,影片剪辑事件等,最后综合在一起应用,除了考虑核心函数和局部函数的主次分配,还要预先初定义一些变量,便于控制整个游戏,最后对软件的熟练操作,实现最终游戏的实现。
游戏毕业设计论文
1. 游戏设计背景
随着科技与经济的快速发达,知识经济的快速增长,娱乐逐渐变成人与智能的交流。智能化的娱乐游戏在网络里愈来愈好,众多的游戏不胜枚举。比如益智类的小游戏、腾讯游戏、网页游戏、格斗游戏、模拟游戏等,尤其是最近网络上特别流行的Flash 制作的动画越来越受关注。现在就探究下用Flash 软件制作贪吃蛇的游戏的设计原理。
1.1游戏设计原理
游戏贪吃蛇就是在Flash 软件用影片剪辑设计出蛇,食物,同时随机地给出食物。游戏者通过键盘操作控制贪吃蛇的移动,去吃食物,吃到食物后消失,然后再随机给出食物同时蛇的身体增长。设计蛇的原理就是利用人眼的视觉效应先将蛇头向前移动一格,然后所有蛇身依次向前移动一格,最后再擦除蛇尾。这样看来好像蛇在向前移动。食物的给出,首先需要产生一个随机数,然后通过这个随机数计算得到食物的纵横坐标,在软件运行效果里显示出来。控制蛇的移动方向,需要扫描键盘,然后根据键值改变蛇的移动方向。
1.2游戏设计的运行环境
学习Flash 开发,首先要建立首要的、基础的正确认知。在几乎任何应用程序开发中,都要接触到三个相互关联的方面:一个是开发环境,一个是运行环境,再一个是开发语言。 1.2.1软件开发环境
Flash 应用程序开发也包含着三个方面,即使用Flash CS3作为开发环境,以ActionScript 2.0作为开发语言,以Flash Player 9为运行环境进行Flash 应用程序开发和创作的完整知识体系。
对于Flash 应用程序开发,在进行Flash 开发时,安装一个开发工具(也被称为开发环境、创作环境等。目前流行的Flash 开发工具基本都是Adobe 公司的产品,最著名的就是Flash CS3和FLEX 。
1.2.2运行环境
1.2.3开发语言
用户要进行Flash 开发,要接触是ActionScript (简称AS ),ActionScript 程序语言是用于Flash 开发的交互语言。ActionScript 有三种语言编写风格,这就是AS1、AS2和AS3。AS1遵循ECMA-262第3版所制定的规范,AS2遵循即将发布的ECMA-262第4版规范,但它们的运行环境只有一种,即Flash Player VM (Adobe 称为A VM1,A VM 是ActionScript 虚拟机的简称)。2. 游戏设计
相关知识介绍
了解贪吃蛇的设计原理后,接下来就是对设计游戏的一些相关理论知识基础及深入点的分层次介绍。
2.1 Flash理论基础知识要点
2.1.1 基础概念
(1)帧频是动画播放的速度,以每秒播放的帧数为度量。帧频太慢会使动画看起来一顿一顿的,帧频太快会使动画的细节变得模糊。在 Web 上,每秒 12 帧 (fps) 的帧频通常会得到最佳的效果。QuickTime 和 AVI 影片通常的帧频就是 12 fps ,但是标准的运动图像速率是 24 fps。
(2)将元件看作是一种模板,使用同一个模板能够创建多个实例。对元件的实例可以做各种变换操作,而这些操作不会对元件的各种属性有所更改。也可以改变元件的属性,例如颜色、形状以及边线的粗细等。当对这些属性加以修改后,舞台上的
所有实例的相应属性也发生了变化。
(3)影片剪辑拥有自身的、独立于主影片的时间轴播放的多帧时间轴,即可以将影片剪辑看作主影片内的小影片,它可以包含交互式控件、声音、甚至其他影片剪辑实例,也可以将影片剪辑实例放置在按钮元件的时间轴内,以创建动画按钮。
(4)点语法:_root:表示绝对路径,他指的是时间主轴。_parent:表示当前时间轴,可以操控当前时间轴上的对象等。变量作用域分为全局变量、本地变量和时间轴变量。
2.1.2基本语法规则及简单注意事项
(1)变量、函数、对象、操作符、保留关键字等语言元素,有它自己的语法规则。ActionScript 拥有自己的句法和标点符号使用规则,这些规则规定了一些字符和关键字的含义,以及它们的书写顺序。例如,在英语中句号结束一个句子,而在ActionScript 中则用分号结束一个语句。
(2)动画设计过程中的简单注意事项。 1确保处在动画测试模式。 ○
2确保不在多层中添加相互矛盾的帧动作。 ○
3确保多个动作脚本元素没有使用相同的名字。 ○
4确保所有的目标路径以确保他们的正确无误。 ○
2.2面向对象编程
“对象” 是指属性和方法的集合,每个对象都具有其各自的名称,并且都是特定类的实例。相比较而言,对象是一个形象具体的概念,如生活中所使用的笔、纸张、书籍、计算机等,都可称之为对象。而对于每个对象来说,它们都具有一些区别于其他对象的个体属性,如大小、形状、颜色、使用方法等。
在面向对象编程中,类定义对象的类别,描述对象的属性(数据)和行为(方法),类是一个较为抽象的概念,可以说是对象概念的提升,利用类可表现一组相关对象中某些公共的属性和行为。如果要使用类所定义的属性和方法,必须先创建该类的实例,实例化对象其实就是指定某个特定的对象。
2.3游戏制作中常用函数的属性与方法
2.3.1 Mouse类
使用Mouse 类的方法可隐藏和显示SWF 文件中的鼠标指针(光标)。默认情况下鼠标指针是可见的,但是用户可以将其隐藏并实现用影片剪辑创建的自定义指针。
2.3.2 Key类
Key 类是不通过构造函数即可使用其方法和属性的顶级类。使用Key 类的方法可生成用户能够通过标准键盘控制的界面,该类的属性是常量,表示控制游戏时最经常使用的键。
2.3.3 Button类
按钮是Flash 影片中实现交互功能最常见的对象,SWF 文件中的所有按钮元件都是对象的实例,用户可在属性检查器中指定按钮实例名称,并通过动作脚本使用Button 法和属性来操纵按钮。
2.3.4 MovieClip类
MovieClip 中类的方法提供的功能与定位影片剪辑的动作所提供的功能相同,无需使用构造函数方法即可调用MovieClip 类的方法,用户只需在语法中按名称引用影片剪辑实例即可。
MovieClip 类的事件处理函数的八种状态
2.3.5 Sound类与Math 类
Math 类的方法和属性可以访问和处理数学常数和函数。Math 类的所有属性和方法都是静态的,并且必须使用语法Math.method(parameter)或Math.constant 来调用。游戏中食物的随机出现就是利用了math 函数里的随机函数。
游戏里的背景音乐还有对声音图标的控制也就是通过面向对象编程里的Sound 类函数来控制实现的。
2.3.6 Array类
通过Array 类用户可以访问和操纵数组。数组是一个对象,其属性由表示该属
性在数组中位置的数字来标识。此数字称为“索引”。所有数组都从零开始,这意味着数组中的第一个元素为 [0],第二个元素为 [1],依此类推。
3. 制作贪吃蛇游戏的整体规划
3.1贪吃蛇游戏的大致结构图
3.2游戏设计整体构思
首先场景规划,主要有两个:一个是游戏封面,一个是游戏运行界面。其次是电影影片剪辑,主要有蛇,食物,背景设计等,按钮及文字属性都有自己的实例名,便于脚本控制。最后对整体的进行核心代码编写与控制。在软件环境里运行并调试,发
现问题,分析并解决。最后发布游戏。
3.3透视游戏设计的核心重点算法
贪吃蛇的核心算法是如何实现移动和吃掉食物。没有碰到食物的时候,贪吃蛇继续移动,吃到食物的时候,蛇身增长。咬住蛇身或蛇尾的时候,能够暂停和开始。让游戏继续下去,食物随机出现,贪吃蛇继续游动,并记录游戏所得分数。
3.4游戏设计核心重点函数控制
(1)新建一个数组来保存当前的蛇的身体aPieceList = new Array(); (2)定义mouseListener 对象来侦听鼠标的onMouseDown 点击事件 mouseListener = new Object();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:300 H:300 X:0 Y:0
(3)选择文本工具,在属性面板中设置为动态文本。在矩形的正下方放置一个动态文本来显示所得的分数。文本中写上"start" ,设置字体和颜色。实例名称为"tScore" 。
(4)按下ctrl+F8,命名为"piece" ,设置他的属性为影片剪辑,点击" 高级" 按钮,选择" 为ActionScript 导出" ,那个标示符自动地被设置为"piece" 。
(5)选择椭圆工具,在当前的舞台上画一个正圆并设置如下属性: W:15 H:15 X:0 Y:0
(6)作为蛇的身体,不想用圆形,其他图形也可,但是要保持它的高宽都是15。方法同上,制作一个标示符为food 的影片剪辑。
(7)选择椭圆工具在舞台上画一个圆形,并设置为如下属性:
W:15 H:15 X:0 Y:0作为蛇所吃到的食物来增长身体。也可在不修改高宽的情况下进行任意的修改。
4.2游戏的核心技术
4.2.1脚本函数 (
canMove = true; //可以运动 sta 候后onMouseDown 事件函数被激活 k = new Object(); k. } };
在制作游戏的时候,最先考虑的问题之一就是如何是游戏中的动画画面智能化,要做到这一点,最终的目标是要使Flash 文本友好,容易编辑和扩展。
在制作项目设计时,主要是素材搜集及理论知识的巩固与升华。首先,一旦确定目标,就尽量思考项目的设计原理与背景。其次要详细规划,分工明细原则,弄懂该如何利用理论基础知识要点去实现看似简单的制作。最后,在综合的实验过程中,努力提高综合素质及分析问题解决问题的能力。从而对软件应用方面会有更深刻的认知与开拓,尽量提升专业素质修养。透过现象看本质,找到一些规律,让自己的学识由量到质变的过程,综合能力的提高进而为进入社会做了更好的准备工作。
简单的贪吃蛇游戏由蛇头、蛇身、蛇尾、食物为主角。游戏控制中,食物一旦吃到,蛇身就增加一段,而后食物随机出现,蛇又运动,循环往复,直至蛇头咬住自己的身体某一部位,游戏终止。可见控制中增加了对软件高级语言编程的应用。比如随机函数,数组,自定义函数,影片剪辑事件等,最后综合在一起应用,除了考虑核心函数和局部函数的主次分配,还要预先初定义一些变量,便于控制整个游戏,最后对软件的熟练操作,实现最终游戏的实现。