·建站首页 ·钻石 ·繁體
您的位置: 中国建站之家 -> 工具应用 -> Flash -> 用AS模拟电流效果

用AS模拟电流效果

作者:未知  来源:转载  发布时间:2005-8-9 20:25:17  发布人:acx


制作步骤:
 1、打开FLASH MX,新建一文档,并修改其文档属性为(尺寸:200X100;背景:黑色)
 2、在主场景中的第1帧,加入如下AS:
 _root.createEmptyMovieClip("myMC", 1);
 //创建一MC
 //用AS在MC中画一无线框、填充为蓝色的小方块,1X1象素大小
 with (myMC) {
  lineStyle(1, 0xff0000, 0);
  beginFill(0x00ccff, 100);
  moveTo(0, 0);
  lineTo(1, 0);
  lineTo(1, 1);
  lineTo(0, 1);
  lineTo(0, 0);
  endFill();
 }
 n = 2;
 while (n<=200) {
  duplicateMovieClip("myMC", "myMC"+n, n);
  eval("myMC"+n)._x += n;
  n++;
 }
 //定义enterFrame事件控制器
 _root.onEnterFrame = function() {
  n = 50;
  for (i=2; i<=200; i++) {
   n += random(3)-1;
   eval("myMC"+i)._y = n;
  }
 };
 myMC._visible = 0;
 //隐藏原MC

 

 3、Ctrl+回车测试。

 

 编程思路:
 1、首先我们要用createEmptyMovieClip()创建一个新MC,命名为“myMC”要在其内画一小方块。做为电流的一个元素。
 _root.createEmptyMovieClip("myMC", 1);
 在主场景中新建一MC,深度为1。

 2、在MC中画一1X1象素的小方块。
 为了语法简洁、简化程序代码,我们可以用with语句
 with (myMX) {
  lineStyle(1, 0xff0000, 0);//定义线条样式,但我们些例用来到线条,所以将其透明度设置为0——即完全透明。
  beginFill(0x00ccff, 100);//定义填充样式,颜色为00ccff,透明度为100%,即完全不透明。
  moveTo(0, 0);//下面就是来画线了,以(0,0)坐标为左上角;(1,1)为右下角的一个小矩形。
  lineTo(1, 0);
  lineTo(1, 1);
  lineTo(0, 1);
  lineTo(0, 0);
  endFill();//完成填充
 }

 
 3、电流的基本‘元素’我们已经做好了,下面就是来复制这些‘元素’了。
 n = 2;//一定要设置为2,不要忘了,第1深度是我们开始新建的MC。所以这次的初始变量我们把它设置为2。
 while (n<=200) {
  duplicateMovieClip("myMC", "myMC"+n, n);//不用我多说了,常用的复制命令。
  eval("myMC"+n)._x +=n;//每复制完一个‘元素’时,就将其向右移动,最后使复制出来的‘元素’排成一条直线。
  n++;//变量的累加。
 }

 
 4、好了,复制完毕后,我们要想制作出电流效果,就得让其不断的改变电流中每个‘元素’的位置。
 //定义enterFrame事件控制器
 _root.onEnterFrame = function() {
  n = 50;//也就是电流最左侧在Y轴上的位置
  for (i=2; i<=200; i++) {
   n += random(3)-1;//random(3)的值为0、1、2。当值为0时,0-1=-1,此时的‘元素’会向上(Y轴的负方向)移动。当值为1时1-1=0,此时的元素位置不变。当值为2时,2-1=1,会向下(Y轴的正方向)上移动。
   eval("myMC"+i)._y = n;
  }
 };

 
 OK,基本的编程思路就是这样了,自己动手试试吧。
  http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width=450 height=350>/Upload/2004_Pack/2003914304222581.swf

将本文收藏到QQ书签与更多好友分享

上一篇:MX2004 ActionScript2 新手调试

下一篇:AS2.0面向对象编程基础