当前位置: 主页 > 网页制作 > Flash > Flash AS 3.0用Main类制作发散效果

Flash AS 3.0用Main类制作发散效果

时间:2009-12-15来源:互联网 点击:

1、新建Flash文档,550*400,其它默认。

2、创建影片剪辑,选椭圆工具,笔触无,填充色放射渐变,画一个椭圆(形状自定,我相你会比我画得更好),右键库中设置链接,类名Ball。

3、返回场景1,第一层建背景(随意),新建as图层,在as图层第一帧输入代码:

  1. //小球的初始位置
  2. [code]//小球的初始位置
  3. var ballx:Number = 275;
  4. var bally:Number = 400;
  5. //小球运动速度
  6. var speed:Number = 5;
  7. stage.addEventListener(MouseEvent.CLICK,shoot);
  8. function shoot(e:MouseEvent):void
  9. {
  10.         for(var i:int = 1;i<9;i++)
  11.         {
  12.                 //从库中创建小球
  13.                 var ball:Ball = new Ball();
  14.                 //初始化小球位置
  15.                 ball.x = ballx;
  16.                 ball.y = bally;
  17.                 //根据三角函数计算小球的速度
  18.                 ball.spdx = cosD(i*-20)*speed;
  19.                 ball.spdy = sinD(i*-20)*speed;
  20.                 //注册enterFrame事件
  21.                 ball.addEventListener(Event.ENTER_FRAME,ballMove);
  22.                 e.target.addChild(ball);
  23.         }
  24. }
  25. function ballMove(e:Event):void
  26. {
  27.         //获取小球的引用
  28.         var obj:MovieClip = e.target;       
  29.         //设置小球的坐标,实现运动
  30.         obj.x += obj.spdx
  31.         obj.y += obj.spdy
  32.         if(obj.y<0||obj.x<0||obj.x>550||obj.y>400)
  33.         {
  34.                 //移除enterFrame事件
  35.                 obj.removeEventListener(Event.ENTER_FRAME,ballMove)
  36.                 //从显示列表删除
  37.                 stage.removeChild(obj)
  38.         }
  39. }
  40. //角度转换为弧度
  41. function angleToRadian(angle:Number):Number
  42. {
  43.         return angle*(Math.PI/180);
  44. }

  45. function sinD(angle:Number):Number
  46. {
  47.         return Math.sin(angleToRadian(angle));
  48. }
  49. function cosD(angle:Number):Number
  50. {
  51.         return Math.cos(angleToRadian(angle));
  52. }

  53. 保存,按Ctrl+Enter测试,有问题回帖。
站长资讯网
. TAG: Flash AS 3.0 Main 发散效果
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言