《二维动画设计》
课程设计报告
课程名称:二维动画设计
实验项目名称:基于AS 3.0 的游戏设计
院系:物理与电子信息学院
学号: 090804010 姓名:吴朝彬
班级: 09数字媒体
日期: 2011 年 1 月
实验地点:
课程设计成绩:
实验指导教师签字:
基于AS3.0的游戏设计
序言
一、课程设计目标
二维动画课程设计旨在教授学生基本的设计原理和思路,并能发挥学生的个人创意能力,运用Flash软件和一些常用辅助软件,设计制作flash动画作品,并特别强调学生的创新能力和动手能力。
本课程设计要求学生在接受课堂理论知识学习之后,能熟练利用Flash软件制作相关的动画.
二、设计主题
1.基于AS3.0制作一个贪吃蛇小游戏。
2.主要运用Flash CS4软件和PhotoShop CS3图片处理软件。
三、设计思路
构思贪吃蛇游戏,需要贪吃蛇,食物,障碍物,游戏提示、游戏场景等。
贪吃蛇与食物可用同一个snake_body类来生成,障碍物的实现可通过障碍单元barrer影片剪辑重复调用实现,游戏提示如开始结束,暂停,重来都用影片剪辑实现,在适当的事件被触发时自动调用。
至于游戏场景则在可视化的flash舞台直接绘制,设计中用到得素材用PS处理。
具体过程分五步走:
一、建构成贪吃蛇,我们用一个snake_body的类来完成,它应该有这样的功能:.根据用户提供的参数radius,color创建新的实例
二、在flash中绘制游戏的背景,添加各种装饰元素。
三、编写控制函数如贪吃蛇生成函数,食物生成函数,控制贪吃蛇移动的函数,障碍函数,边界检测函数,键盘监听游戏的开始或暂停函数,难度变化函数等。
四、将实例与函数的代码关联起来,构成初步界面,对游戏进行试验性调整,查找游戏运行中产生的错误并修整。
五、发布swf贪吃蛇小游戏,编写游戏说明文档,保存源文件,用于后期再制作。
下面是普通难度等级中的一个场景截图:
二、作品结构
1.游戏大致流程结构:
2.个图层功能说明:
3.库原件:
三、设计步骤
一). 建构成贪吃蛇,我们在编写外部AS文件用创建一个snake_body的类,这个类包括10个数据成员,一个构造函数,以及一个用于填充色彩的私有函数:
二). 在flash中绘制游戏的背景,添加各种装饰元素。
1.游戏背景:
2.游戏结束弹出_gameover剪辑
3游戏使用说明.
4.提示信息
三)编写函数
首先声明在接下来将会用到的变量,导入相应的的包:
1.贪吃蛇生成函数:
通过一个循环,生成长度为ball_num的初始小蛇,并添加到舞台中
2.食物生成:
同样从snake_body类实例化一个食物,注意这里调用了checkFoodPosition()函数,目的是一旦发现食物的坐标出现在蛇的身上或者在障碍上,将重新生成新的坐标。
首次编写时单独写了check_barrer()函数,再试运行是发现有随即错误,仅检查修改函数,具体的checkFoodPosition()函数见源程序。
3.障碍函数:
游戏中的三堵墙,即游戏障碍就是通过这段代码生成的,变量j用该改变障碍的位置,第三堵墙被旋转了90度,其他墙只是改变了x坐标。
4.控制贪吃蛇移动的函数:
用户输入空格键时,游戏暂停;
输入上下左右时,贪吃蛇的蛇头位置将动态改变,并将其当前的x,y值作为下段身体的位置,从而实现贪吃蛇整体的移动
5.边界检测函数:
在这段代码中,我们对贪吃蛇的蛇头位置进行判断,当它不在可活动的游戏舞台上时,判断贪吃蛇出界,游戏结束,弹出提示。
6.键盘监听调用各函数:
键盘输入监听,setInterval(moveSnake,speed)为以speed为时间间隔重复执行moveSnake()函数,当speed改变时,小蛇移动的速度随之改变。
7.难度变化函数等:
根据已经吃到得食物数判断用户的难度,食物小于4时为简单,大于20为困难,其余为普通难度,在主界面输出难度,并改变贪吃蛇移动的速度。
四、游戏检测
到此整个游戏的框架已经搭建完毕再Flash中测试并试运行,发现两个问题需要纠正:
1.提示信息在舞台中的位置,由于提示信息是利用影片剪辑直接拖到舞台上,通过改变他的显影性达到目的的,因此出现在障碍物的下面。
解决:由于此问题在设计之初未考虑到,此处修改较复杂且不影响游戏运行,故不做修改。
2.食物的位置有时会逃离预设区域。
解决:该问题提的出现是由于再设计检测食物位置的函数时,初始时用了两个函数,分别是checkFoodPosition()与check_barrer(),两者并不兼容,而设计的目的是使两者同时满足,进反复修改,将check_barrer()的算法思想整合到checkFoodPosition()中,再次测试问题消失,基本符合设计目的与要求。
五、参考资料
1. Flash家园./article/734.html
2. .Flash贪吃蛇游戏AS代码翻译. 2008。