一、实现思路
我们先来看看实例的效果,鼠标在场景中的不同地方划过,场景中的小人都会有不同的反应。尤其有趣的是,当鼠标划过的速度不同的时候,反应的强弱也是不同的。这就跟游戏中的实现很相似了。
总的来说,实现的思路大概是这样的:先制作好鼠标划过不同部位所响应的动作特效,再用几个Movie Clip来捕捉鼠标划过的位置跟速度,然后播放不同的动作特效,这就是我们所看到的效果。
二、实现过程
下面我们来看看具体的实现过程。
1、按“Ctrl + N”,新建一个Flash文件,按“Ctrl + F8”,新建一个Movie Clip,命名为“All Motion”。
2、进入此Movie Clip,用鼠标右键点击图层的名称,依次插入“label”、“Action”、“sound”、“idle”四个图层,在“label”层第一帧的属性面板上设置帧的label为“c_idle”,在第34帧上点击鼠标右键,插入一个关键帧,并设置此帧的label为“ML_w”,同理,依次在第47帧、第77帧、第89帧、第139帧、第154帧、第168帧、第220帧、第255帧、第267帧、第310帧、第358帧、第372帧、第430帧、第446帧上分别插入一个关键帧,并分别设置帧的label为“ML_s”、“MR_w”、“MR_s”、“TL_m”、“TL_w”、“TL_s”、“TR_m”、“TR_w”、“TR_s”、“B_m”、“BL_w”、“BL_s”、“BR_w”
、“BR_s”。
3、在“Action”层的第33帧上面点击鼠标右键,插入一个关键帧,在此帧的Action Script面板上面添加语句:gotoAndPlay(1); 同理,在此层的第46帧、第75帧、第85帧、第120帧、第151帧、第165帧、第205帧、第252帧、第266帧、第301帧、第357帧、第369帧、第420帧、第440帧、第464帧分别插入一个关键帧,并分别在帧的Action Script面板上面添加语句:gotoAndPlay(1);
4、在“idle”图层的第34帧上面插入一个关键帧,在此图层第1帧的场景中用绘图工具画一个小人,如图1所示。这是在没有鼠标动作时候显示的。
5、在“layer1”图层的第34帧和第45帧上分别插入一个关键帧,在第34帧至第45帧之间制作出当鼠标以比较慢的速度从小人的左边手臂处划过的Movie Clip效果。以此类推,在第34帧至第45帧之间制作出当鼠标以比较慢的速度从小人的左边手臂处划过的Movie Clip效果。在第47帧至第74帧之间制作出当鼠标以比较快的速度从小人的左边手臂处划过的Movie Clip效果。在第77帧至第84帧之间制作出当鼠标以比较慢的速度从小人的右边手臂处划过的Movie Clip效果。在第89帧至第119帧之间制作出当鼠标以比较快的速度从小人的右边手臂处划过的Movie Clip效果。
6、在第139帧至第150帧之间制作出当鼠标以中等的速度从小人的左边头部处划过的Movie Clip效果。在第154帧至第164帧之间制作出当鼠标以比较慢的速度从小人的左边头部处划过的Movie Clip效果。在第168帧至第204帧之间制作出当鼠标以比较快的速度从小人的左边头部处划过的Movie Clip效果。在第220帧至第251帧之间制作出当鼠标以中等的速度从小人的右边头部处划过的Movie Clip效果。在第255帧至第265帧之间制作出当鼠标以比较慢的速度从小人的右边头部处划过的Movie Clip效果。在第267帧至第300帧之间制作出当鼠标以比较快的速度从小人的右边头部处划过的Movie Clip效果。
7、在第310帧至第356帧之间制作出当鼠标以中等的速度从小人的腿部划过的Movie Clip效果。在第358帧至第368帧之间制作出当鼠标以比较慢的速度从小人的左边腿部划过的Movie Clip效果。在第372帧至第419帧之间制作出当鼠标以比较快的速度从小人的左边腿部划过的Movie Clip效果。在第430帧至第439帧之间制作出当鼠标以比较慢的速度从小人的右边腿部划过的Movie Clip效果。在第446帧至第463帧之间制作出当鼠标以比较快的速度从小人的右边腿部划过的Movie Clip效果。
注释1:定义一些变量,分别用来判断鼠标是否以比较慢、中等、比较快的速度划过对象。
注释2:隐藏用来捕捉鼠标动作的对象。
注释3:初始化鼠标的参数。
注释4:这个函数是用来捕捉鼠标划过的速度和划过的位置。
注释5:这个函数是用来判断鼠标划过地速度,分别为强、中、弱。
注释6:这个函数是判断鼠标划过的位置,分别对应场景中的对象的头、手、脚。
注释7:在这个函数中,播放鼠标动作所触发的相应场景。
注释8:这是整个场景的启动函数,不断的循环,不断地对鼠标动作产生响应。
小编为大家编辑的Flash中制作响应鼠标打击动作 希望对大家有所帮助!