Flash趣味实例:吃鼠标
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-14
请朋友们把鼠标放在下面的Flash动画里面,动动看,有什么情况发生? 哎哟!小球会跟踪鼠标,并自动转向鼠标的方向,然后……鼠标被吃掉了?!! 使劲拖动鼠标,鼠标就又从嘴巴里面逃了出来!
制作步骤: 1、设置播放的速度:(Ctrl+M)设置播放速度为20fps。 2、新建一个MC:kiss,在第一帧画出左图图样(注意对准场景中心)。在第5帧插入关键帧,画成右图图样。 在第一帧设置shape变形。 3、新建一个mc:mouse,画一个鼠标图样,或者从鼠标的控制面板中抓取。 4、新建一个mc:zui。在第一帧中拖入kiss组件,记住对准场景中心,在第5帧插入关键帧,同时移动该mc一段距离,在第10帧插入帧,在第一帧设置motion变形,同时加上一句AS:stop();;新建层:layer2,位于layer1的下方,在第二帧插入关键帧,把mouse组件拖到layer1的第5帧中组件的位置,在第6,7,8,9,10帧上,分别插入关键帧,并分别打散(Ctrl+B),用橡皮擦工具一帧一帧的擦成被咬碎的形状,在第10帧上加上一句AS:stop();整个组件如下图: 到这里,我们就把最关键的mc做完了。 5、新建一个MC组件:chi。拖入zui组件,同时给该组件赋予一个实例名(instance name):top,安排如下图:红色圆圈内为zui组件的中心,白色圆圈内为场景的中心。 6、新建一个MC组件:bo。拖入组件chi,位置安排如下:x:0,y:0;白色圆圈内为场景中心。这样做的目的是让所有的mc都有一个相同的坐标系。同时给场景中的组建赋予一个实例名(instance name):block。 选中场景中组件,加上AS代码: onClipEvent (enterFrame) { bx = _xmouse; by = _ymouse; //获得当前的鼠标位置 //下面代码是控制吃鼠标的MC的嘴巴的角度,让嘴巴的方向始终对这鼠标 dy = by-_root.bo.block.top._y; dx = bx-_root.bo.block.top._x; angle = math.atan(dy/dx); angle = angle*180/math.PI; if (dx<0 and dy>0) { angle = angle-180; } else { if (dx<0 and dy<0) { angle = angle+180; } } _root.bo.block.top._rotation = angle; //下面代码是控制吃鼠标的MC跟随鼠标运动的速度 speed = bx/10; speed2 = by/10; _root.bo.block._x = _root.bo.block._x+speed+2; _root.bo.block._y = _root.bo.block._y+speed2+2; //下面代码是鼠标被吃掉的情况,当鼠标和MC的距离在规定的距离内时,鼠标被吃掉 if (Math.abs(_root.bo.block.top._x-bx)<20 or Math.abs(_root.bo.block.top._y-by)<20) { if (eat==true){ tellTarget ("top") { mouse.hide(); //使鼠标隐藏 Play(); //播放(即:跑去吃鼠标) } eat=false;//这里这样设置表示鼠标已经被吃掉而且没有从嘴里跑出来,就不能再吃了 } } else { tellTarget ("top") { mouse.show(); //使鼠标显现 gotoAndStop(1); //停在第一帧 } eat=true; //这里这样设置表示鼠标已经从嘴里跑出来,可以吃了 } } 7、回到Scene 1,把组件bo拖入到场景中,选中组件赋予一个实例名(instance name):bo。所有制作完毕,按Ctrl+Enter进行测试。 附:onClipEvent的用法 onClipEvent (clipEve |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Flash绚丽烟火的简单做法下一篇: Flash游戏制作常用代码解析
关于Flash趣味实例:吃鼠标的所有评论