当前位置:文档之家› flash趣味游戏制作

flash趣味游戏制作

项目五趣味游戏制作项目目的1、了解游戏制作的基本方法及ActionScript的使用。

2、熟练具备Flash制作的基本知识,并能熟练使用其基本工具及动作面板。

项目内容趣味游戏制作——游戏分析及舞台制作5. 1制作说明1.《小猴拜年》游戏简介这是一个简单有趣的小游戏。

看到一只可爱的小猴子静静地坐在那,你一定会喜欢它的!去逗逗它玩吧,结果会怎样?是对你发出攻击,还是给你以祝福?赶紧试试吧,结果会出乎你的想象。

如果你的运气好的话,小猴会衷心地向你祝福:猴年快乐!游戏初始画面:图 1小猴用电攻击画面:图 2小猴用计算机病毒攻击画面:图 3游戏结束、小猴受宠画面:图 42.实例分析(1)制作特点本游戏的程序代码比较简单,跟着教程,你可以很快的完成游戏的加工制作。

所有代码都写在时间轴上,便于集中管理。

通过本游戏,你可以掌握游戏控制的基本方法。

(2)创意分析游戏开始时,小猴静静地坐在那里,旁边一只大手虎视眈眈,准备对小猴发出攻击,游戏画面提示你点击小猴子。

当你攻击小猴子后,小猴会做出四种不同的反应:第一种反应:小猴子没有反应,被动挨点。

第二种反应:小猴子生气了,用电源来攻击你。

第三种反应:小猴子愤怒了,用电脑病毒来攻击你。

第四种反应:小猴子悲伤了,嚎啕大哭,它的主人会打发你,亲吻它,小猴子高兴极了,向你祝福。

在小猴子做出后三种反应的过程中,禁止你再攻击它,直到它的反应结束。

当小猴子做出第四种反应、向你祝福后,本次游戏结束,你可以重新开始游戏。

当你点击小猴子后,小猴子的反应是随机的。

电脑会产生1到10之间的一个随机整数。

当产生的数字是1或9时,小猴会做出第二种反应;当产生的数字是2或8时,小猴会做出第三种反应;当产生的数字是5时,小猴会做出第四种反应;当产生的是其他的数字时,小猴做出第一种反应。

这样,当你点击小猴子后,小猴子做出第一种反应的机率是50%,做出第二种、第三种反应的机率是20%、20%,做出第四种反应的机率是10%。

游戏流程如图5所示:图 5(3)技术要领重点掌握ActionScript的书写格式、随机数的运用、影片剪辑的播放控制及按钮的失效与生效。

(4)舞台制作●被动挨点:影片剪辑,是小猴子被攻击后的第一种反应,实际上它包含了两种状态――小猴子静坐状态及被动挨点的动作;●用电攻击:影片剪辑,是小猴子被攻击后的第二种反应;●病毒攻击:影片剪辑,是小猴子被攻击后的第三种反应;●受宠若惊:影片剪辑,是小猴子被攻击后的第四种反应。

趣味游戏制作——ActionScript应用3.涉及知识点(1)ActionScript的基础知识Flash的程序语言称为ActionScript,它具有如下两个特点:①ActionScript是以时间轴为基础的程序。

在Flash中,第个关键帧都可以加上程序代码,让Flash随着时间执行这些帧里的程序,从而控制影片的行为。

事实上,当Flash的播放头播放到包含程序代码的关键帧时,首先执行该帧的程序代码,之后再显示该帧的画面。

②ActionScript是事件驱动程序。

如果将程序代码绑定在按钮、影片剪辑等对象的事件上,这些代码只有在被绑定的对象发生相应的事件后才会被执行。

(2)ActionScript的撰写①在Flash5中,程序代码可以写在时间轴上,也可以附加在按钮实体及影片剪辑实体上,这种写作方式比较直接,但是不适于较复杂的动画程序,比如游戏程序,因为把程序分散放在不同的地方,比较不容易管理与维护。

从Flash MX 开始,按钮及其他对象的程序代码,可以直接写在舞台的时间轴上了。

其语法格式如下:格式一:对象实体名称.事件名称= function(){//事件的程序…};这种在等号后面直接加上匿名函数的写法,称为函数例程。

在匿名函数的大括号结尾后面要加上分号(虽然不加也可以,但这是正规的写法,如果你经常编写程序,最好养成一个良好的书写习惯),因为上面的整段语句可被视为一个命令行。

格式二:function 函数名称(){//函数代码…}对象实体名称.事件名称= 函数名称;这种方法将函数独立开来,在将其绑定在实体事件上时,注意函数名称后面没有括号。

②变量的使用。

在使用变量时,要注意变量的命名规则:●变量名要以英文字母开头,可以使用中文变量名;●名称中间不能有空格;●不能使用除了下划线“_”以外的符号;●不能使用Flash的保留字,如“var”、“add”、“new”等;●ActionScript对变量的大小敏感,“Flash”和“flash”将被视为不同的变量;③注释的使用为程序添加注释是写程序的良好习惯之一。

它有助于帮你记下某程序片段的功能或命令解说,以便在日后分析或修改作品时,能很快的了解程序的意义。

注释有两种写法:●单行注释:在行的前面加上双斜线“//”;●多行注释:在注释前后加上“/*”和“*/”;在Flash中,注释默认的颜色为灰色。

在本章的程序代码中,对于比较重要的部分,将以注释的形式加以说明。

(3)随机数的使用在游戏制作中,随机数的使用是非常频繁的。

在Flash中,用下面几个函数来生成随机数:●Math.random():用来生成一个大于0小于1的随机数;●Math.round(x):将参数x的值四舍五入为一个整数;●Math.floor(x):返回参数x中指定的数字或表达式的下限值。

下限值是小于等于指定数字或表达式的最接近的整数。

●Math.ceil(x):返回指定数字或表达式的上限值。

数字的上限值是大于等于该数字的最接近的整数。

例如,我们要生成6到10的随机整数,则可先生成0到4的随机整数,再将该随机数加6,就得到了6到10的随机整数,算法如下:Math.floor(Math.random()*5)+6; //方法一Math.round(Math.random()*4)+6; //方法二(4)按钮动作的禁止我们为按钮绑定了事件处理程序,可是有时我们不希望按钮处理这些事件,此时,可以用下面的方法来禁止按钮的动作:按钮实体名称.enabled = false; //按钮禁用在需要时,我们再将按钮的enabled属性设为true 来启用它。

5.1.2效果实现先把本节要用到的素材全部导入到库。

库面板中包含如下内容:●monkey:文件夹,里面是小猴子身体的各个组成部件,如头、手等;●other:文件夹,里面是游戏中用到的其它部件,如电脑、插座等;●sound:文件夹,里面是游戏中所用到的声音素材;●背景:图形,游戏的背景画面;●空按钮:这是一个只有Hit区的按钮。

其Hit区刚好和小猴子静坐时的外观一样。

舞台上的空按钮虽然看不到,但是它是存在的,能够响应事件。

●被动挨点:影片剪辑,是小猴子被攻击后的第一种反应,实际上它包含了两种状态――小猴子静坐状态及被动挨点的动作;●用电攻击:影片剪辑,是小猴子被攻击后的第二种反应;●病毒攻击:影片剪辑,是小猴子被攻击后的第三种反应;●受宠若惊:影片剪辑,是小猴子被攻击后的第四种反应。

下面,让我们用这些原材料开始制作吧!1. 布置舞台(1)打开文件“小猴拜年.fla”。

(2)将图层1更名为“背景层”。

将库面板中的“背景”图形添加到舞台,使用对齐面板(按Ctrl+K键打开)将其对齐舞台中心;(3)新建图层,命名为“被动挨点”。

将库面板中的“被动挨点”影片剪辑拖拽到舞台,并对齐舞台中心,在属性面板中为其取实例名:mcMonkey1,如图6所示:图 6 被动挨点(4)新建图层,命名为“用电攻击”。

将库面板中的“用电攻击”影片剪辑拖拽到舞台,并对齐舞台中心,为其取实例名:mcMonkey2;(5)新建图层,命名为“病毒攻击”。

将库面板中的“病毒攻击”影片剪辑拖拽到舞台,并对齐舞台中心,为其取实例名:mcMonkey3;(6)新建图层,命名为“受宠若惊”。

将库面板中的“受宠若惊”影片剪辑拖拽到舞台,并对齐舞台中心,为其取实例名:mcMonkey4;(7)新建图层,命名为“蒙板层”。

在时间轴面板上用鼠标右击该层名称,在弹出的快捷菜单中,选择“遮罩层”,将被动挨点层、用电攻击层、病毒攻击层、受宠若惊层都拖拽到它的下方;(8)新建图层,命名为“按钮层”。

将库面板中的“空按钮”按钮拖拽到舞台,并仔细调整它的位置,使其刚好与小猴子的轮廓重叠。

调整好后,为其取实例名:btnNull;(9)新建图层,命名为“动作层”。

该层用来为游戏添加ActionScript代码。

到此,舞台就布置好了,锁定所有图层,此时的时间轴面板如图7所示:图7趣味游戏制作——编写程序控制脚本代码2. 编写程序控制脚本代码(1)为“被动挨点”影片剪辑添加控制脚本前面提到,这个剪辑实际上它包含了两种状态,第一帧为小猴静坐的状态,第2帧到第12帧是大手攻击完毕往回收的过程,同时小猴子也从受攻击的状态恢复到正常静坐的状态。

由于游戏开始时,小猴是处于静坐状态,并未受到攻击,因此它就暂停在第一帧。

双击库面板中的“被动挨点”影片剪辑,进入该剪辑的编辑环境,在最上面新建一层,命名为“动作层”。

用鼠标选中该层的第一帧,打开动作面板,如图8所示。

在动作面板中输入如下代码(灰色部分为注释,可以不输入):stop();//剪辑停在第一帧,直到要小猴子被动挨点时才开始播放图8(2)为“用电攻击”影片剪辑添加控制脚本在最上面新建一个图层,命名为:动作层。

在动作层的第一帧输入如下代码:stop();//剪辑停在第一帧,直到要小猴子用电攻击时才开始播放由于本剪辑在执行完毕后,要通知电脑使按钮btnNull生效,允许玩家再次攻击,因此要在动作层的最后一帧插入关键帧,并为其输入如下代码:_root.clipIsOver();//剪辑播放完毕,执行主时间轴上的clipIsOver()函数(3)为“病毒攻击”影片剪辑添加控制脚本本剪辑与“用电攻击”剪辑类似,也在最上面新建一个动作层,然后在动作层的第一帧输入如下代码:stop();//剪辑停在第一帧,直到要小猴子用计算机病毒进行攻击时才开始播放再在动作层的最后一帧插入关键帧,输入如下代码:_root.clipIsOver();//剪辑播放完毕,执行主时间轴上的clipIsOver()函数(4)为“受宠若惊”影片剪辑添加控制脚本在最上面新建一个图层,命名为:动作层。

在动作层的第一帧输入如下代码:stop();//剪辑停在第一帧,直到要小猴子委屈地大哭、女主人出来打不平时才开始播放本剪辑与前面的三个剪辑不同,当剪辑播放完毕后,游戏就结束了,因此要停在最后一帧,显示可以重玩游戏的按钮。

将时间轴面板上的播放头移到剪辑的最后一帧(第348帧),你可以看到舞台上有一个“再逗逗它”按钮,选中该按钮,为其取实例名:btnReplay。

如果你选不上它,请看看按钮层是不是上锁了?然后在时间轴的最后一帧输入如下的代码:stop();//游戏结束了,画面停在这里//下面的代码用来为按钮btnReplay绑定脚本//当用户单击并释放了该按钮后,执行主时间轴上的clipIsOver()函数,重新开始游戏btnReplay.onRelease=function(){gotoAndPlay(1);//本剪辑回到第一帧_root.clipIsOver();//调用主时间轴上的函数};(5)为主时间轴添加控制脚本回到主场景,在动作层输入如下代码:stop();var currentMovieClip;//声明一个变量,用来存放当前播放的影片剪辑hideAllMovieClips();//隐藏所有的影片剪辑_root.mcMonkey1._visible=true;//显示小猴“被动挨点”影片剪辑,由于该剪辑默认的停在第1帧,小猴处于静坐的状态,因此实际上显示的是小猴静坐的状态//下面的函数用来隐藏所有的影片剪辑function hideAllMovieClips(){_root.mcMonkey1._visible=false;_root.mcMonkey2._visible=false;_root.mcMonkey3._visible=false;_root.mcMonkey4._visible=false;}//下面的函数用来在小猴剪辑播放完成之后执行//隐藏所有的影片剪辑,显示小猴“被动挨点”的影片剪辑//令空按钮生效,玩家可以继续点击function clipIsOver() {hideAllMovieClips();_root.mcMonkey1._visible=true;_root.btnNull.enabled=true;}//为空按钮绑定脚本代码//当点击空按钮时,产生1到10之间的一个随机数//根据随机数的不同,决定小猴的反应,播放相应的影片剪辑//若小猴的反应不是被动挨点,则使空按钮失效btnNull.onRelease=function(){var i;i=Math.ceil(Math.random()*10);//产生1-10的随机数switch(i){case 1,9://产生1或9时,小猴用电攻击currentMovieClip=_root.mcMonkey2;this.enabled=false;break;case 2,8://产生2或8时,小猴用计算机病毒攻击currentMovieClip=_root.mcMonkey3;this.enabled=false;break;case 5://产生5时,小猴受宠若惊currentMovieClip=_root.mcMonkey4;this.enabled=false;break;default://产生其他随机数时,小猴处于被动挨点状态currentMovieClip=_root.mcMonkey1;}hideAllMovieClips();//先隐藏所有的影片剪辑currentMovieClip._visible=true;//显示相应的影片剪辑currentMovieClip.play();//播放相应的影片剪辑};这段控制脚本代码相对有些长,输入完成之后,你可以单击时间轴面板上的“语法检查”按钮,看看你输入的脚本是否有语法错误。

相关主题