建站学习网,专业提供各类建站教程,网页素材,SEO资讯等建站资源!

网站模板_网站源码_网站素材_建站教程_建站学习网

当前位置:建站学习网 > 网页设计 > Flash教程 >

Flash CS4方块形状的动画特效制作

更新时间:2017-04-11整理编辑:建站学习网阅读:0

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

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

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

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

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

  }

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

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

  }

  }

本文网址:https://www.dedexuexi.com/wysj/flash/2736.html

本站部分文章搜集与网络,如有侵权请联系本站,转载请说明出处。

收藏此文 赞一下!() 打赏本站

如本文对您有帮助,就请建站学习网抽根烟吧!

支付宝打赏
微信打赏
用Flash实现移形换影效果
« 上一篇2017年04月11日
Flash CS3仿真设计教程:模糊滤镜的应用
2017年04月11日下一篇 »
  • 使用Flash MX将GIF动画图片制成FLASH动画
    0阅读
    gif动画比较简单 gif动画只能做一些比较简单的动画,FLASH可以比较多元化,最大的不同是格式不一样,一个是SWF,一个是Gif,还有Gif的那是图片,按照flash里面讲Gif是逐贞动画 PS也可以做,而
  • flash动画制作网页中演示类FLASH动画的制作规范
    0阅读
    在工作中所遇到的涉及到flash的项目一般会根据其具体应用分成两大类:演示类 交互类为了使项目更加快速有效的完成并且保证工作质量,使源文件从结构上更加的简洁易读,有必要遵守一定的
  • flash as3实现打字小游戏代码
    0阅读
    游戏效果 新建Fla,在第一帧F9添加代码即可。 代码如下 var arr:Array = new Array(); var time:uint=0; var angle:Number=0; var zfun; [SWF(width=800, height=465,backgroundColor=0...
  • Flash制作旋转的花朵
    0阅读
    思路: 1.使用for...in语句遍历整个主场景(_root)中所有的对象; 2.找到他们(如_root[k]),并为他们的不同方法指定不同函数; 步骤1: 在主场景放入若干个影片剪辑,不需要为他们起实例名。 步骤2:加入
  • Flash片头加载loading的方法
    0阅读
    做一个优秀的loading是衡量一个flasher水准、甚至态度的,因为loading是唯一一个你不会多看而所有用户、客户会看的东西,所以你对loading的重视程度,甚至可以反衬你这个flasher的职业道德。 我认
 
QQ在线咨询