当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash AS 3.0实例教程:Main类打造发散效果

Flash动画制作
Flash卡通景物绘制
鼠绘偏写实人物
鼠绘--柱顶红的画法
FLASH实现滚动条+网页书签效果
Flash MX中Button Object的用法
as入门之数学函数--弧度
as入门之数学函数--Math类
闪动的变色圆盘
组件封装为mxp文件的方法
判断数字大小
Flash 缓存问题的解决
Flash MX pro 2004 新特性之Flash Lite
在Flah MX2004的ListBox中应用HTML
Flash MX 2004中的XML应用之原理篇
Flash MX 2004视频教程超速入门系列(1)
Flash MX 2004视频教程超速入门系列(2)
Flash MX 2004视频教程超速入门系列(3)
Flash MX 2004视频教程超速入门系列(4)
Flash MX 2004视频教程超速入门系列(5)
Flash MX 2004视频教程超速入门系列(6)

Flash动画制作 中的 Flash AS 3.0实例教程:Main类打造发散效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 92 ::
收藏到网摘: n/a

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测试,有问题回帖。