您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > Flash游戏开发(三)
第3章趣味游戏类3.1老鼠出洞(1)游戏说明游戏过程中老鼠随机地从洞中跳出,玩家的任务就是在老鼠把头缩回洞内之前打中它,用鼠标控制锤子,单击鼠标左键即可打出。打得越快得分越高,60秒之后游戏结束,并得出最后的总分,如图3-1所示。图3-1打老鼠游戏设计技巧(1)要实现老鼠在洞中进出的动作效果,可以用遮照层实现。制作的思路为,将老鼠制作成一个图形元件,把老鼠从洞口进出的动画做成一个影片剪辑。主要应用到Random命令,该命令是取随机数,使老鼠随机出现。(2)把鼠标替换成打老鼠的锤子,主要用到了如下的命令:·Startdrag实现鼠标的拖动。·Hide隐藏鼠标。(3)游戏时间和游戏得分的制作是输入两个动态文本,通过鼠标与影片剪辑的接触实现分数计算并显示结果。主要用到如下tellTarget命令,该命令是告知影片剪辑进行相关的操作。制作步骤1.主要元件的制作(1)启动FlashMX2004,单击“属性”面板中的“大小”按钮,打开“文档属性”对话框,设置影片宽为450px,高为330px,背景颜色为灰色(#999999),播放速度帧频为12fps,如图3-2所示。(2)执行菜单栏“插入”|“新建元件”命令或者按Ctrl+F8快捷键新建一个元件,将行为设为“图形”,名称设为“hole”,如图3-3所示。图3-2新建文档属性设置图3-3新建一个图形元件(3)在hole编辑页面中单击工具箱中的“椭圆工具”按钮,设置外边框为白色,宽度为3,填充颜色为黑色,如图3-4所示。图3-4设置椭圆属性(4)为了防止在后面制作过程中因死机而丢失数据,把文件保存为“老鼠出洞”。在hole编辑页面中绘制一个内填充色为黑色,外框为白色的椭圆,大小为114.5px×85.5px,如图3-5所示。图3-5绘制黑色的洞口(5)单击返回到主场景,按Ctrl+L快捷键打开“库”面板,用鼠标把hole拖到场景的“图层1”中,把“图层1”命名为“background”,在“属性”面板中设置宽度为57.2px,高度为42.8px,再复制8个。执行菜单栏“窗口”|“设计面板”|“对齐”命令或者按Ctrl+K快捷键调出“对齐”面板,把9个hole对齐排好,如图3-6所示。图3-6制作几个洞口(6)单击工具箱中的“矩形工具”按钮,设置虚线模式,线的宽度为4,白色,无填充色,然后在场景右边绘制一个矩形。单击工具箱中的“文本工具”按钮,在右边矩形中里输入游戏需要的文字说明“老鼠出洞,游戏说明:老鼠从洞中跑出,在60秒中内消灭它们!”和“游戏时间:”及“游戏得分:”,在“属性”面板中选择“动态文本”,在“游戏时间”和“游戏得分”右边画出两个“动态文本”框,两个动态文本框的“变量”值设为times(游戏时间)和sum_point(游戏得分),效果如图3-7所示。最后在第5帧处按F5键,插入相同帧。图3-7设置文本的格式及值制作说明:在Flash中如果应用到了特殊的字体,最好把一些特效字转换成图形元件,这样在其他计算机上运行的效果才会一样,这里我们选择“老鼠出洞”4个字,按F8键把它转换成名为“text”的图形元件。(7)执行菜单栏“插入”|“新建元件”命令,新建一个图形元件,命名为“wormpic”,如图3-8所示。图3-8新建立元件(8)执行菜单栏“文件”|“导入”|“导入到舞台”命令,导入一只老鼠的图像(参见光盘中的“no3\打老鼠\老鼠.wmf”,也可以绘制一个自己喜欢的图像,如图3-9所示。图3-9导入老鼠(9)执行菜单栏“插入”|“新建元件”命令,新建一个影片剪辑,命名为“wormmovie”,如图3-10所示,这个影片剪辑是制作老鼠一上一下的动画影片效果。图3-10新建影片剪辑(10)单击“确定”按钮,进入wormmovie影片剪辑的编辑页面中,从“库”面板中把wormpic拖入到wormmovie的场景中。按Ctrl+K快捷键打开“对齐”面板,让老鼠的中心与影片的中心对齐,如图3-11所示。图3-11设置老鼠的位置3.1老鼠出洞(2)(11)执行菜单栏中的“插入”|“时间轴”|“关键帧”命令,在第5、10、20、25帧插入关键帧,单击第10帧,调整此帧上wormpic的位置,将其向上移动半只老鼠的高度,再执行菜单栏中的“插入”|“时间轴”|“帧”命令,在第27帧插入帧。用鼠标右键单击第5~10帧间的任一帧,在弹出的菜单中选择“创建补间动画”命令,同样在第20~25帧间建立运动动画,如图3-12所示。图3-12创建动画后的时间轴(12)执行菜单栏“插入”|“新建元件”命令,新建一个“按钮”元件,命名为“grid”,如图3-13所示。图3-13新建按钮grid(13)单击“确定”按钮进入按钮编辑页面,在“点击”帧上执行菜单栏中的“插入”|“时间轴”|“关键帧”命令,插入关键帧,单击工具箱中的“矩形工具”按钮,画一个矩形,大小以能盖住两个老鼠高度为准,如图3-14所示(图中的老鼠是为显示矩形的大小而放置的,在“点击”区中并没有老鼠)。图3-14绘制矩形盖住老鼠(14)在“库”中双击wormmovie影片,进入编辑场景,执行菜单栏中的“插入”|“时间轴”|“图层”命令,新建一图层“图层2”,再执行菜单栏中的“插入”|“时间轴”|“关键帧”命令,在第5帧插入关键帧,从“库”面板中拖动grid到“图层2”,删除“图层2”上第21~27帧,如图3-15所示。图3-15“图层2”上的帧状态(15)执行菜单栏中的“插入”|“时间轴”|“图层”命令,新建一图层“图层3”,执行菜单栏中的“插入”|“时间轴”|“空白关键帧”命令,在第5、20帧插入空白关键帧,如图3-16所示。图3-16在“图层3”上插入空白帧(16)按F9键调出“动作帧”面板,在第1帧处加入“stop();”(停止)命令,单击第5帧,在帧“属性”面板中,将标签设置为“up”,同样将第20帧的标签设为“down”,如图3-17所示。图3-17设置标签值制作说明:在这里为帧设置标签值是为了方便后面用ActionScript命令进行跳转,在FlashMX2004中可以设置是按帧位置数还是按帧标签跳转,通常使用的是标签方式,这样可以减少发生错误的机率,并使你的ActionScript更具有可读性。(17)单击回到主场景,执行菜单栏中的“插入”|“时间轴”|“图层”命令,新建“图层2”并改名为“warm”,从“库”面板中拖动wormmovie影片剪辑到这一个图层,复制8个,使每一个wormmovie都正好处在background层中相应的黑色椭圆长轴以下,如图3-18所示。图3-18设置老鼠的位置(18)在时间轴上面单击“插入图层”按钮新建“图层3”,并将此层改名为“mask”,以background层上黑色椭圆的长轴为基准,画一个矩形,并使此矩形比wormmovie稍大一点,然后复制8个并排列好。用鼠标右击此层,在弹出菜单中选择“遮罩层”命令,这样,就做好了一个遮罩效果层,如图3-19所示。图3-19设置遮罩制作说明:在warm层上的所有元件必须出现在mask层的9个矩形范围以内,否则便都是不可见的。由于现在warm层上并没有任何元件在此范围内,所以虽然在warm层上放置了9个元件,但只能看到background层上9个黑色的hole元件。前面制作的wormmovie是上下移动的影片,当其向上运动时就会显示在屏幕上,而向下运动就会从屏幕上消失,这样就达到了让老鼠一进一出的目的。但是有个严重的问题,9个老鼠会同时运动,而不是像希望的那样一个一个地运动,下面通过ActionScript编写来实现效果。2.主要动作命令的加入和制作(1)单击warm层上的第一个wormmovie影片剪辑,在“属性”面板中将名称设为“warm0”,如图3-20所示,依次将其他的wormmovie命名为“warm1”,“warm2”,...,“warm8”。图3-20设置9个老鼠的实体名称(2)在主场景中新建一个“图层4”并命名为“Action”,在第5帧插入关键帧,单击第5帧,输入Action命令如下:tellTarget(/warmaddrandom(9)){//random(9)是从0~9中任取一个数,add是一个字符串连接符,用来连接/warm和random(9)得到的数gotoAndPlay(up);}_root.gotoAndPlay(1);//而gotoAndPlay(1)从第1帧开始播放,这就达到了wormmovie可以随机出现的目的tellTarget的语法是:telltarget(target);{statement;}·target指定时间轴线的目标路径字符串。·statement目标时间轴线代码。·tellTarget(/warmaddrandom(9))执行后的结果是调用warm0,warm1,...,warm8。(3)接下来替换鼠标,并用做好的影片来代替它。执行菜单栏“插入”|“新建元件”命令,新建一个影片元件并命名为“hammer”,在编辑场景中建立两个图层,在第2个图层单击第1帧,在“动作”面板中输入“stop();”命令,在第2帧和第3帧处加一个锤子的动画。在“图层1”上的第3帧,在锤子下面画上一串血花,并在第4帧处按F5键加入相同帧,如图3-21所示。图3-21绘制锤子和血花的样式(4)单击回到主场景,在主场景中新建一个“图层5”并命名为“hammer”,把hammer从“库”面板中拖到hammer图层,设置实例名称为“hammer”,如图3-22所示。图3-22设置实例名(5)选择Action层的第1帧,并输入如下鼠标替换命令,这样我们就可以用hammer来取代默认的鼠标:mouse.hide();//mouse.hide()把默认的鼠标隐藏起来startDrag(hammer,true);startdrag的语法是:startdrag(target);startdrag(target,[lock]);startdrag(target,[,lock[,left,top,right,bottom]]);·target待拖动的影片剪辑的目标路径。·lock布尔值,用来指定把可拖动的影片剪辑是锁定在鼠标中央位置(真),还是锁定在用户最初在影片剪辑上单击的位置(假)。这个参数是可任选的。·left,right,top,bottom指定动画的父代影片剪辑的限制矩形区域。这个参数是可任选的。(6)在Action和background层的第6帧按F6键插入关键帧,并Action层的第6帧输入停止和显示鼠标的命令:mouse.show();//显示鼠标stop();//停止命令这时完成的时间轴如图3-23所示。图3-23完成的时间轴3.1老鼠出洞(3)(7)要让老鼠在被锤子击中时头缩回洞内,且同时记分相应的增加,也要加入相应的计算代码。双击“库”面板中的wormmovie,进入编辑模式,单击选择“图层2”中的按钮并在第5帧输入下列语句,如图3-24所示。图3-24加入的语句程序说明:on(press){_root.hammer.gotoAndPlay(3);//单击按钮时代替鼠标的hammer跳转到第3帧this.gotoAndPlay(down);//wormmovie跳转到标签为down的帧上,这时老鼠的头缩回洞内_root.sum_point+=this.point;//sum_point是主场景中“游戏得分”右边的动态文本,显示总的得分}(8)分别单击“图层3”的第10帧和第15帧,按F6键插入关键帧,在第5帧的“动作帧”面板中输入“point=20;”,单击第10帧输入“point=15;”第15帧输入“point=10;”第20帧输入“point=5;”。这样越早击中老鼠point值就越大。这里的point值就是在按钮检测函数“_root.sum_point+=this.point”中的“this_point”,其中“sum_point”表示累加的总得分。完成的时间轴如图3-25所示。图3-25wormmovi
本文标题:Flash游戏开发(三)
链接地址:https://www.777doc.com/doc-5527512 .html