用AS模拟电流效果 |
| 作者:佚名 来源:作者: AIYI2003 更新:2007-1-13 20:48:29 错误报告 我要投稿 |
制作步骤:
1、打开FLASHMX,新建一文档,并修改其文档属性为(尺寸: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++;//变量的累加。
} //定义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,基本的编程思路就是这样了,自己动手试试吧。
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |