我以前做过类似的效果,但是那个只用到了一个for循环,而这个效果是用两个for循环来实现的,呵呵 做这个效果之前,我觉得最好对用for循环来实现矩阵效果,下面举个例子吧
(1)新建一个MC,画一个圆形,对齐中心位置,然后拖入主场景,实例名为ball
(2)选择第一贞,写如下代码:
i = 1;
_root.ball._x = _root.ball._y=50;//设置MC的位置
for (col=0; col<5; col++) {
//x轴方向的循环,即列数为5
for (row=0; row<6; row++) {
//y轴方向的循环,即行数为6
newBall = _root.ball.duplicateMovieClip("ball"+i, i);
newBall._x = _root.ball._x+col*40;
newBall._y = _root.ball._y+row*40;
//设置复制的电影剪辑的位置,间隔为40
i++;
}
}
点击浏览该文件 点击浏览该文件好了,看懂这些代码之后,就可以做如下的效果了,呵呵 (1)按Ctrl+F8,新建一个MC,命名为text,用来存放显示的内容.第1--36贞为空白要害贞,每一贞放入不同的内容,并且在第1,10,20,26,32贞添加代码:
(2)在新建一个MC,命名为matrix,把text拖入,实例名为Text_mc,选中它,添加代码:
onClipEvent(enterFrame){
_alpha=random(100);
}
(3)选择Matrix的第一贞,添加代码:
i=1;
MaxCol=40;//列数
MaxRow=20;//行数
LetterW=16;//设置显示字母的宽度
LetterH=16;//设置显示字母的高度
for(col=0;col<MaxCol;col++){
for(row=0;row<MaxRow;row++){
newText=Text_mc.duplicateMovieClip("Text"+i,i);
newText._x=-(_root.Matrix_mc._x)+LetterW*col;
newText._y=-(_root.Matrix_mc._y)+LetterH*row;
i++;
}
}
(4)把Matrix拖入主场景中,实例名为Matrix_mc
好了,按Ctrl+F8 测试一下吧,呵呵
点击浏览该文件 点击浏览该文件