Flash游戏制作《贪吃兔子》.docx

上传人:b****5 文档编号:11739621 上传时间:2023-03-31 格式:DOCX 页数:20 大小:507.52KB
下载 相关 举报
Flash游戏制作《贪吃兔子》.docx_第1页
第1页 / 共20页
Flash游戏制作《贪吃兔子》.docx_第2页
第2页 / 共20页
Flash游戏制作《贪吃兔子》.docx_第3页
第3页 / 共20页
Flash游戏制作《贪吃兔子》.docx_第4页
第4页 / 共20页
Flash游戏制作《贪吃兔子》.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

Flash游戏制作《贪吃兔子》.docx

《Flash游戏制作《贪吃兔子》.docx》由会员分享,可在线阅读,更多相关《Flash游戏制作《贪吃兔子》.docx(20页珍藏版)》请在冰豆网上搜索。

Flash游戏制作《贪吃兔子》.docx

Flash游戏制作《贪吃兔子》

 

青岛大学软件技术学院

 

二维动画课程设计报告

 

题目名称Flash游戏制作——《贪吃兔子》

 

姓名张常品

专业数字媒体艺术

班级08级1班

指导教师徐卓

 

二0一0年一月十五日

课程设计任务书

一、目的:

本次课程设计的目的是通过使用FlashActionScript3.0编程技术制作一个Flash小游戏或交互场景动画,使学生在巩固本学期FlashActionScript编程技术和上一学期Flash动画制作的基础上,进一步培养学生的动画制作能力和编程技术,学会应用所学知识制作交互场景动画和Flash小游戏,积累制作flash动画和游戏的经验,巩固课程所学的理论知识,为以后工作打下基础。

二、要求:

每位同学从所给题目中选择一个作为本次课程设计的主题,使用FlashActionScript3.0制作一个小游戏或交互场景动画,设计要求如下:

1.作品主题积极向上,内容健康完整;

2.作品中的游戏主角或场景须为自己独立创作,并自己编写程序完成游戏或场景功能;

3.作品中要充分利用所学知识进行制作,功能相对完整,运行流畅,画面美观,形式生动活泼,观赏性实用性强;

4.撰写不少于3000字的报告,报告结构合理,语句通顺,能够说明制作过程和原理。

5.同时上交作品文件(SWF及FLA文件两种格式)和课程设计报告。

三、时间与地点:

时间:

2010.1.5—2010.1.15;上午8:

00—11:

30;下午13:

30—15:

30

地点:

西3#实验楼204、205

四、进度计划:

1月4日选题

1月5日搜集资料,确定选题

1月6日编写剧本

1月7-8日设计分镜台本并准备素材绘制主要角色及场景

1月11日动画制作

1月12-14编写程序及测试完善

1月15日撰写报告

目录

第一章游戏功能概述2

第二章角色与场景设计3

2.1角色设计3

2.2按钮设计5

2.3场景设计5

第三章游戏功能设计与实现7

3.1鼠标控制兔子7

3.1.1简介7

3.1.2代码8

3.2在舞台上显示梨子及控制下落过程8

3.2.1简介8

3.2.2代码8

3.3在舞台上显示萝卜及下落过程9

3.3.1简介9

3.3.2代码9

3.4对舞台上的动态文本添加时间帧听10

3.4.1简介10

3.4.2代码10

3.5对按钮添加代码分别完成交互操作11

3.5.1简介11

3.5.2代码11

第四章测试与完善12

第五章小结13

第六章心得体会14

致谢15

参考文献17

第一章游戏功能概述

本游戏规则是当鼠标按住不放,即可拖动兔子改变其位置,当兔子碰到萝卜即得两分,兔子碰到梨子可改变其位置,当梨子落地或时间到,本游戏结束。

当兔子碰到梨子或萝卜时会发出不同的声音,游戏中(如图1):

图1游戏场景

我自己绘制的角色及舞台背景(如下图):

贪吃兔子萝卜梨子兔子(bad)

兔子(good)sun背景兔子背景图

第二章角色与场景设计

2.1角色设计

本游戏中最主要的角色为贪吃兔子、萝卜、梨子,由这三个角色控制游戏。

按住鼠标不放可以拖动贪吃兔子(如图4):

图2贪吃兔子

贪吃兔子碰到梨子可以改变梨子的位置并播放声音,梨子(如图3):

图3梨子

贪吃兔子碰到萝卜可以得2分播放声音并改变坐标,萝卜(如图4):

图4萝卜

2.2按钮设计

在游戏中,设置了按钮,使玩家与电脑能够交互。

在按钮的设计中,其中开始和返回按钮我们做成了一个可以动的影片剪辑,当把鼠标放在上面时,按钮就开始晃动,如图5、图6。

图5图6

2.3场景设计

游戏有两个场景组成:

(1)场景1(如图7):

主要是介绍游戏规则,使玩家了解游戏方法,并显示载入游戏。

图7

(2)场景2(如图8):

主要是显示交互界面,让玩家点击开始按钮,进入游戏。

图8

游戏界面如图9:

图9

当游戏结束得分大于或等于60时进入场景2第三帧(如图10):

图10

得分小于60进入场景2第四帧(如图11):

图11

 

第三章游戏功能设计与实现

3.1鼠标控制兔子

3.1.1简介

在游戏过程中,需要控制兔子的运动位置来完成游戏,为影片剪辑实例tz添加MouseEvent侦听,然后通过鼠标拖拽进行控制。

主要用到的函数为startDrag()和stopDrag()。

3.1.2代码

//鼠标控制兔子

tz.addEventListener(MouseEvent.MOUSE_DOWN,drag);//为兔子添加鼠标按下侦听

tz.addEventListener(MouseEvent.MOUSE_UP,drop);//为兔子添加鼠标松开侦听

functiondrag(e:

MouseEvent){

tz.startDrag();//鼠标按下进行拖动

}

functiondrop(e:

MouseEvent){

tz.stopDrag();//鼠标松开,停止拖动

}

3.2在舞台上显示梨子及控制下落过程

3.2.1简介

通过连接类来完成梨子生成,并用addChild()函数使其显示在舞台上,然后添加setInterval函数来控制其下落过程,如果梨子落地怎游戏结束,移出时间侦听。

根据所得分数进入不同的帧。

实现梨子的连接的方法为:

右键单击梨子影片剪辑,在弹出的菜单中选择连接,然后在弹出的对话框中选为ActionScript导出(x)然后单击确定。

3.2.2代码

//让myli在舞台上显示

varmyli:

li=newli();//动态生成梨子

myli.x=200;//梨子的横坐标

myli.y=-190;//梨子纵坐标

addChild(myli);在舞台上显示梨子

//控制myli的下落

varkk:

uint;

kk=setInterval(liluo,100);//添加时间函数kk

functionliluo(){

myli.y+=10;//定义梨子下落速度为10

if(myli.y>=300){

myTimer.removeEventListener(TimerEvent.TIMER,timerHd);//梨子纵坐标大于或等于300移除时间侦听

clearInterval(kk);//移除时间函数kk

clearInterval(ff);//移除时间函数ff

if(s>=60){

gotoAndStop(3);//当得分大于或等于60进入第三帧

}

else{

gotoAndStop(4);//得分小于60进入第四帧

}

}

}

3.3在舞台上显示萝卜及下落过程

3.3.1简介

通过连接类来完成萝卜的生成并用addChild()函数使其显示在舞台上,setInterval函数来控制其下落过程。

实现萝卜连接的方法为:

右键单击萝卜影片剪辑,在弹出的菜单中选择连接,然后在弹出的对话框中选为ActionScript导出(x)然后单击确定。

3.3.2代码

//生成萝卜

vars:

uint=0;//定义无符号整形变量来记录分数

varmylb:

lb=newlb();//动态生成萝卜

mylb.x=Math.random()*550;//定义萝卜的横坐标

mylb.y=-190;//定义萝卜的纵坐标

addChild(mylb);//在舞台上显示萝卜

setInterval(f,100);//添加ff时间侦听

varff:

uint;

ff=setInterval(f,100);

functionf(){

mylb.y+=30;//萝卜下落速度为30

if(tz.hitTestObject(mylb)){

s=s+2;//如果兔子碰到萝卜s加2

mylb.x=Math.random()*500;//萝卜横坐标随机

mylb.y-=Math.random()*50+300;//改变萝卜纵坐标

sum.text=String(s);//把s的值赋给sum动态文本

}

}

3.4对舞台上的动态文本添加时间帧听

3.4.1简介

在舞台上添加两个动态文本,分别显示剩余时间及所得分数,并控制梨子和萝卜的运动位置。

Timer类是ActionScript3.0中的一个定时器,用于在指定的时间序列上执行代码。

有两个参数,时间间隔和执行次数。

3.4.2代码

//动态文本显示

varmyTimer:

Timer=newTimer(1000,60);//倒计时

//添加时间帧听,Timer类是ActionScript3.0中的一个定时器,用于在指定的时间序列上执行代码。

有两个参数,时间间隔和执行次数。

myTimer.addEventListener(TimerEvent.TIMER,timerHd);//时间开始执行timerHd

myTimer.addEventListener(TimerEvent.TIMER_COMPLETE,endHd);//时间结束执行endHd

myTimer.start();//开始计时

functiontimerHd(e:

TimerEvent){

leftTime.text=String(60-e.target.currentCount);//倒计时时间赋给leftTime动态文本

if(mylb.y>=300){

mylb.x=Math.random()*500;

mylb.y-=Math.random()*50+400;//如果萝卜超出舞台,则从新定义其坐标

}

if(myli.hitTestObject(tz)){

myli.x=Math.random()*500;

myli.y-=Math.random()*50+100;//如果梨子碰到兔子,则随机改变其坐标

}

}

functionendHd(e:

TimerEvent){

clearInterval(ff);

clearInterval(kk);//时间结束则移除ff和kk

if(s>=60){

gotoAndStop(3);//如果得分大于或等于60则进入第三帧,否则进入第四帧

}

else{

gotoAndStop(4)

}

}

3.5对按钮添加代码分别完成交互操作

3.5.1简介

对开始按钮添加代码,进入游戏。

对返回按钮添加代码使其重新开始游戏。

3.5.2代码

//开始按钮

stop();

bt1.addEventListener(MouseEvent.MOUSE_DOWN,bt1Hd);//为bt1添加鼠标按下侦听

functionbt1Hd(e:

MouseEvent){

gotoAndPlay

(2);//鼠标按下进入第二帧

}

//返回按钮

bt2.addEventListener(MouseEvent.MOUSE_DOWN,H2d);//为bt2添加鼠标按下侦听

functionH2d(e:

MouseEvent){

gotoAndStop

(2);//鼠标按下进入第二帧

}

 

第四章测试与完善

游戏导出后,基本效果还算令人满意,然而游戏过程中没有声音,完善过程中

给其添加了声音,增加了游戏的趣味性。

经过完善后场景1测试(如图12):

图12

场景2测试(如图13):

图13

 

第五章小结

在制作过程中遇到了许多问题,首先是角色和舞台设计,通过收集了大量资料后有了

自己的构思和想法,在角色和舞台绘制上花了很多时间。

最困难的就是添加代码。

该游戏设计中用到的代码主要有:

事件侦听函数(addEventListener)、拖动函数(startDrag())、停止拖动函数(stopDrag())、时间侦听的类(Timer)、动态生成影片剪辑函数addChild()、播放函数paly()、时间侦听函数setInterval()等。

由于平时自己做的练习较少,尽管剧本内容丰富,但在编写脚本时却没有了思路,无从下手。

在参考各种文献后,对所学的代码有了新的认识和理解,通过老师的指导最后完成了代码的编写。

总之,经过这次课程设计,让我认识到了自己的不足,明确了自己所努力的方向,在今后我会更加努力的学习。

 

第六章心得体会

通过这次的Flash制作,我学会了很多东西,对动画的制作有了新的认识并有了更多的学习兴趣。

在学习过程中也总结了一些经验。

首先,要制作一个好的Flash动画首先要有一个好的剧本,这就要求培养自己的想象能力及对生活中的观察力,构思并写出剧本。

剧本内容要丰富,具有一定的寓意,才能让制作出动画吸引更多的观众。

其次,根据剧本进行角色设计,背景、人物构造要简洁形象并风格统一。

在一部动画的创作及制作的全过程中,形象设计就是体现动画片叙事语言风格、构架故事的逻辑、控制节奏的重要环节。

从动画创作的角度上看,这是进入视听语言表现层面。

这不单是要对全片风格进行设计,同时对于每一个镜头中的场景、道具等所有构成要素作出准确的设定。

最后,编写脚本,我认为脚本的编写非常重要,也是学习中我遇到的一个难点,要熟练的编写脚本,就要求平时多加练习,上课多听老师的讲解,平时不明白的地方更要及时咨询老师。

添加代码的过程也一定要有足够的耐心,要不厌其烦的不断修改,才能不出错。

添加代码是一个枯燥乏味的过程,看着在些很长很长的代码,很容易使人厌烦,因此要克服这些不足,要在添加代码的过程中找到乐趣,才能不感到枯燥。

思路不能太狭隘,要从多方面多角度去构思,尽力使游戏界面生动,人物有性格有内涵,让观者感受到来自视觉和心灵的冲击,这才称得上是一幅好的作品。

所以,我觉得一个好的作品,要以简洁利落的画面,告诉观众一个故事,一个内容丰富的故事,要有一个比较高的信息量,故事节奏要紧凑,不能太过拖沓。

因为flash作品的特点就是短小精悍。

在这个过程中,关键是要让观众自己去理解,给观众理解的空间,而不是由角色去说。

要做好flash,我觉得还有很多知识要学,以上只是我的一点体会。

我以后还会继续努力的。

 

致谢

在这一年的学习中我学到了很多,期间得到了老师和同学的许多帮助,他们教会了我许多东西,尤其是在专业学习中,课堂上老师耐心细致的讲解让我受益匪浅;课下,同学们也给与我许多无私的帮助,让我对所学知识有了更深刻的认识和理解。

非常感谢老师和同学们的关心与帮助。

首先,要感谢我的指导教师徐老师,在游戏制作过程,我遇到很多困难,老师给予了很多帮助,帮助我找到错误并详细的讲解,在徐老师耐心的讲解下,我理解并知道错误原因。

在完成作品的过程中,老师还多次提出指导性、启发性的建议,提高了作品的整体水平,也使得课程设计报告更加紧凑和严密,最后终于完成作品的制作过程。

其次,要感谢帮助我的同学,当我遇到困难丧失信心的时候,是他们给予我鼓励,并帮助我寻找错误,在和同学的交流后我发现自己的错误,有了新的解决方法,在同学的帮助下,顺利完成了课程设计。

最后感谢所有帮助过我的所有老师和同学。

在脚本的设计制作过程中,我得到了老师的许多指导,老师细心的讲解,认真的指导我们修改作品,给我们提了很多宝贵的意见和建议,不但让我们的作品水平有了一个很大的提高,而且让我们对所学知识有了更系统的理解,让我们的专业知识在运用中得到了丰富和提高,再次向他们表示感谢。

感谢所有在课程设计过程中给予我帮助的人,感谢他们对我的帮助与支持。

在这个过程中,我学到了很多的知识,取得了很大的进步,获得了人生难得的宝贵经验,谢谢你们!

 

参考文献

1.FlashActionScript3.0编程技术教程.朱治国,缪亮,陈艳丽编著.清华大学出版社.2008年6月

2.FlashActionScript3.0从入门到精通.章精设,胡登涛著.清华大学出版社.2008年10月

3.FlashCS3动画制作.宋玉霞,柴华著.机械工业出版社.2008年8月

4.FLASH动画即战力ActionScript3.0范例随学随用.杨东鈘著.清华大学出版社.2007年2月

5.动漫设计与创作岳智飞著.清华大学出版社.2008年2月

6.FlashActionScript3.0入门.精通.专业.胡军著.南开大学出版社.2008年1月

7.FlashActionScript3.0编程入门丛书.朱环瑞著.北京大学出版社.2007年9月

8.FlashActionScript3.0编程技术开发.张亚飞编著.电子工业出版社.2008年6月

9.FlashActionScript3.0实训课堂.珀金斯著.人民邮电出版社.2008年11月

10.Flash/FlexActionScript3.0交互式开发详解.吕辉著.电子工业出版社.2008年1月

11.FlashActionScript3.0动画教程.皮特斯著.人民邮电出版社.2008年4月9月

12.FlashActionScript3.0动画高级教程.彼得斯著.人民邮电出版社.2010年1月

 

评语:

 

成绩:

指导教师年月日

 

签章年月日

备注

 

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

当前位置:首页 > 人文社科 > 法律资料

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

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