Flash制作湖光山色精美动画

2008-04-02 10:31:52来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  其实也没什么制作过程,在这里我把山、海、天空、云、更有遮丑等全作成元件,通过调用库中的影片剪辑,实现布局和动画。以下是脚本

  

onLoad = function () {

  // 载入事件,全屏播放,在这里假如fullscreen为false,就取消了全屏播放

  fscommand("fullscreen", true);

  // 定义变量num并赋值,配置帆船的个数。这里配置为十个

  num = 10;

  // 调用库中的元件hai,其实在这里我创建了一个影片剪辑,并配置了链接属性,链接名为hai

  _root.attachMovie("hai", "hai", 19);

  // 这两句是配置hai元件在场景中的位置,这里的hai是海的元件,

  // 这个能够根据您画面的布局来改变参数,

  // 在这里我是通过调用场景的宽及高,然后再通过相除来布局的

  _root.hai._x = Stage.width/2;

  _root.hai._y = Stage.height/1.4;

  // 调用库中的影片剪辑shan,也就是画面中的山,根据画面布局配置参数

  _root.attachMovie("shan", "shan", 17);

  _root.shan._x = Stage.width/2;

  _root.shan._y = 88;

  // 这是天空的元件tian,同上面的相同,不细说了,大家要注意的是这里的层的级别,

  // 我在这里把静止的元件的层固定了下来,然后配置成素数,这里的17,19都是素数,

  // 这样对将来的配置还是有相当的好处,

  // 否则容易重复层次,这样会造成脚本运行错误

  _root.attachMovie("tian", "tian", 0);

  _root.tian._x = Stage.width/2;

  _root.tian._y = 50;

  // 这个脚本是配置遮丑的,就是大家看到的那个黑布遮挡,因为要挡住任何的动画过程,

  // 所以配置的层也最高,为1000,这样能确保在最上边,1000个层够用了

  // 其实遮丑也是个制作过程,我想在这里以前我发表过这样的教程及文章,大家细细找找?

  _root.attachMovie("zedang", "zedang", 1000);

  _root.zedang._x = Stage.width/2;

  _root.zedang._y = Stage.height/2;

  // 复制帆船并随机排列帆船的位置,但是在这里纵(Y)方向我采取了固定+随机的排列,

  // X方向我是采取的随机排列,大小通过脚本_xscale = _yscale=Math.floor(Math.random()*80 20);

  // 来控制,这个参数能够根据您的意图来配置,一般来说,100是保持原始大小,大于100是放大,

  // 小于100是缩小,而且支持负数缩放,其实就是反转,这里复制采取了for循环

  for (var i = 0; i
  // 配置云的速度,为每朵云彩配置不同的速度

  this["yusu" i] = (i 10)/15;

  // 调用库中的云元件yun,并配置深度(层的级别)我采用了偶数排列

  _root.attachMovie("yun", "yun" i, 2*(i 1));

  with (this["yun" i]) {

   // 这里是配置云的位置及大小,都是采用的固定加随机的方法,这只是初始位置

   _x = Math.floor(Math.random()*Stage.width);

   _y = 30 Math.floor(Math.random()*100);

   _xscale = _yscale=Math.floor(Math.random()*80 20);

  }

  // 这里的脚本是动态配置帆船的速度,为每个帆船配置不同的速度,这样才会有快慢感

  this["su" i] = (i 1)/2;

  // 这里是复制帆船并随机分布帆船的位置,船的大小也是采取了远小近大,这样更适合我们的视觉

  // _y = 149 (20*i);通过这个脚本,实现了帆船能在海元件范围之内分布

  attachMovie("boat", "mc" i, (i 1)*30);

  with (this["mc" i]) {

   _x = Math.floor(Math.random()*Stage.width);

   _y = 149 (20*i);

   _xscale = _yscale=(i 1)*num;

  }

  }

  };

  //让onLoad()事件运行一次,否则容易造成脚本运行不了,没效果,这是在2004中容易出现的问题

  onLoad();

  //好了,进入帧频事件,开始动画阶段,让我们的动画动起来吧,

  this.onEnterFrame = function() {

  for (var i = 0; i
  with (this["yun" i]) {

   //当云彩运动超过场景宽度时,返回左边出现,这样能确保云彩反复出现,因为考虑到影片剪辑的大小,所以配置了返回到左边影片剪辑大小的一半的位置

   if (_x>Stage.width _width/2) {

  _x = -_width/2;

   }

   //定义云的步进速度,即每帧运行的距离,在这里是动态的赋予速度,用到了前面我们配置的速度

   _x = this["yusu" i];

  }

  //这里是配置帆船的速度及出现的条件,当超过和云的脚本原理是相同的

  with (this["mc" i]) {

   if (_x>Stage.width _width/2) {

  _x = -_width/2;

   }

   _x = this["su" i];

  }

  }

  };

  //好了,脚本完成,现在大家能够Ctrl Enter看看自己的作品了,大家感觉是不是用脚本来实现布局,很有成就感?

  

效果如下:

  



  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: Flash中如何显示清楚的字体

下一篇: Director里几个save命令的区别