首页 > 办公 > Flash > 正文

[FLASH基础教程合集一]鼠标点击显示打散动画

2020-01-28 14:01:09
字体:
来源:转载
供稿:网友

  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));

  }

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表