Flash鼠标点击显示打散动画 |
1、新建Flash文档,550*400,其它默许 。 2、 缔造影片剪辑,选椭圆工具,笔触无,填充色 喷射渐变,画一个椭圆( 形态自定,我相你会比我画得更好),右键库中设置链接,类名Ball 。 3、返回场景1,第一层建背景( 随便),新建as图层,在as图层第一帧输入代码: //小球的初始位置
var ballx:Number = 275; var bally:Number = 400; //小球运动速度 var speed:Number = 5; stage.addEventListener(MouseEvent.CLICK,shoot); function shoot(e:MouseEvent):void { for(var i:int = 1;i<9;i++) { //从库中 缔造小球 var ball:Ball = new Ball(); //初始化小球位置 ball.x = ballx; ball.y = bally; //依据三角函数计算小球的速度 ball.spdx = cosD(i*-20)*speed; ball.spdy = sinD(i*-20)*speed; //注册enterFrame事件 ball.addEventListener(Event.ENTER_FRAME,ballMove); e.target.addChild(ball); } } function ballMove(e:Event):void { //猎取小球的 引用 var obj:MovieClip = e.target; //设置小球的坐标,实现运动 obj.x += obj.spdx obj.y += obj.spdy if(obj.y<0||obj.x<0||obj.x>550||obj.y>400) { //移除enterFrame事件 obj.removeEventListener(Event.ENTER_FRAME,ballMove) //从显示列表删除 stage.removeChild(obj) } } //角度转换为弧度 function angleToRadian(angle:Number):Number { return angle*(Math.PI/180); }
function sinD(angle:Number):Number { return Math.sin(angleToRadian(angle)); } function cosD(angle:Number):Number { return Math.cos(angleToRadian(angle)); } |