您所在的位置:首页 > 教程首页 > 软件教程 > 媒体工具 > Flash方块动画特效制作教程

Flash方块动画特效制作教程

来源:互联网 | 编辑:互联网 | 时间:2013-07-17 20:09:44 | 阅读:

效果如下:

Flash方块动画特效制作教程_ywjiuanjiaxiao.com

1.新建一个flash Actionscript 3 大小为500×300px,背景黑色。

2.在场景里,使用矩形工具(G),设置边框宽3px;画一个正方形大小个40×40px;

Flash方块动画特效制作教程_ywjiuanjiaxiao.com

3.将这个正方形上点右键,转换元件(为电影剪辑);注册设置为中心;

Flash方块动画特效制作教程_ywjiuanjiaxiao.com

4.选择元件,右键>链接;设置类为MyBox;

Flash方块动画特效制作教程_ywjiuanjiaxiao.com

5.回到场景中删除正方形;新建一个Actionscript文件并输入下面代码:

   package {

   import flash.display.MovieClip;

   public class MyBox extends MovieClip {

    //这是方块的3d坐标

    public var xpos3D:Number = 0;

    public var ypos3D:Number = 0;

    public var zpos3D:Number = 0;

    public function MyBox() {

    }

   }

  }

另存为MyBox.as,注意存在flash文件的同一路径内,

6.返回主场景,在第一帧中插入下列代码:

  //立体场景纵深

  const MAXIMUM_Z:Number = 500;

  //方块数量

  const NUMBER_OF_BOXES:Number = 15;

  //创建一个包含方块的数组;

  var boxes:Array = new Array();

  //视图焦距设置

  var focalLength:Number = 300;

  //Vanishingpoint是方块消失点;

  var vanishingPointX:Number = stage.stageWidth / 2;

  var vanishingPointY:Number = 20;

  //3D方块底边位置

  var floor:Number = 80;

  //第一个方块深度

  var startingDepth:Number = MAXIMUM_Z;

  //盒子之间的z距离值

  var zDistance:Number = 50;

  //这个循环为由远到近的方块定位

  for (var i=0; i < NUMBER_OF_BOXES; i++) {

   var box:MyBox = new MyBox();

   box.xpos3D = 0;

   box.ypos3D = floor;

   box.zpos3D = startingDepth;

   //更新方块的深度;

   startingDepth -= zDistance;

   //使用角度公式计算缩放比例;

   var scaleRatio = focalLength/(focalLength + box.zpos3D);

   //缩放坐标比例;

   box.scaleX=box.scaleY=scaleRatio;

   //将方块定位到场景中(由3d到2d转换)

   box.x=vanishingPointX+box.xpos3D*scaleRatio;

   box.y=vanishingPointY+box.ypos3D*scaleRatio;

   //将方块放入数组

   boxes.push(box);

   //将方块加入场景

   addChild(box);

  }

在菜单中选择调试>测试场景效果如下:

Flash方块动画特效制作教程_ywjiuanjiaxiao.com

7.在以上代码后插入如下代码,用于产生动画;

   //用ENTER_FRAME事件加入动画函数

  addEventListener(Event.ENTER_FRAME, enterFrameHandler);

  //每一帧都调用这个函数

  function enterFrameHandler(e:Event):void {

   for (var i=0; i < NUMBER_OF_BOXES; i++) {

    //将box变为局部变量

    var box:MyBox = (MyBox)(boxes[i]);

    //减少深度

    box.zpos3D-=5;

    if (box.zpos3D<=- focalLength) {

     //最后方块始终在数组第一位

     box.zpos3D=boxes[0].zpos3D+zDistance;

    }

    var scaleRatio = focalLength/(focalLength + box.zpos3D);

    box.scaleX=box.scaleY=scaleRatio;

    //设置透明度变量

    box.alpha=scaleRatio-0.5;

    box.x=vanishingPointX+box.xpos3D*scaleRatio;

    box.y=vanishingPointY+box.ypos3D*scaleRatio;

   }

   //根据深度排列数组

   sortZ();

  }

  //这个函数使方块正确排列

  function sortZ():void {

   boxes.sortOn("zpos3D", Array.NUMERIC | Array.DESCENDING);

   for (var i:uint = 0; i < NUMBER_OF_BOXES; i++) {

    setChildIndex(boxes[i], i);

   }

  }

猎龙战记

你可能感兴趣的内容

  • 视频剪切合并器图文教程
    视频剪切合并器图文教程
    视频剪切合并器是目前剪切视频速度最快,支持无损切割视频,最好用的免费视频剪切合并工具。剪切一个1...

    互联网

    2013-03-18 14:17:38

  • 快播不能点播怎么办
    快播不能点播怎么办
    快播5最新版本对所有跟国情法律政策有关的视频站启动了“防卫”,所以会导致无法点播的情况。假如你正...

    互联网

    2013-03-20 15:42:18

  • 会声会影如何剪切视频
    会声会影如何剪切视频
    剪切视频是会声会影最基本的功能这个教程服务于新手,希望对刚学的朋友有帮助。大虾勿聒噪,将心比心...

    互联网

    2013-03-21 11:16:30

  • Cool Edit Pro 2.1教程
    Cool Edit Pro 2.1教程
    1.首先,我们要做好准备工作。把你的耳机作为监听音箱(此步的意义就是说用耳机来听伴奏音乐,否则在...

    互联网

    2013-03-25 10:00:30

  • 酷我音乐盒基础使用教程
    酷我音乐盒基础使用教程
    酷我音乐盒不容置疑是现在非常流行也是大家使用最多的音乐软件之一,新手避免不了最初的生疏,那么新...

    互联网

    2013-03-25 15:06:31

  • 如何使用酷我桌面歌词
    如何使用酷我桌面歌词
    还在为听歌没有歌词相伴而烦恼吗?酷我音乐盒在试听歌曲时,为您准备了桌面歌词功...

    互联网

    2013-03-25 15:13:47

  • QQ号被盗怎么找回
    QQ号被盗怎么找回
    一、用密码保护修改QQ密码。在密码丢失时,假如QQ号有申请密码保护,可以登陆...

    互联网

    2013-03-25 13:26:22

  • 酷我音乐盒主题与皮肤设置
    酷我音乐盒主题与皮肤设置
    酷我音乐盒具可以根据个人的喜好自由更换音乐盒的主题界面;如何跟换不同特点的主题与皮肤,只需牢记下面...

    互联网

    2013-03-25 15:12:23

  • 巧用酷我音乐盒DIY个性音效
    巧用酷我音乐盒DIY个性音效
    1、借用预设置调节音效  打开酷我音乐盒2009,点...

    互联网

    2013-03-25 15:04:26

  • 酷我音乐盒界面及标签使用方法
    酷我音乐盒界面及标签使用方法
    熟悉酷我音乐盒界面及标签使用方法并不难,下面会详细说明:一、酷我音乐盒界面...

    互联网

    2013-03-25 15:07:50

热门游戏

下载声明 | 法律声明 | 版权声明 | 友情链接 | 发布软件 | 最新更新

本站为非盈利性网站,不接受任何广告。本站所有资源均由网友上传,如有侵权,请发邮件至 jiuyou_tools@163.com

湘ICP备18019794号-6       湘公网安备 43070202000518号