flash入门教程多维数组和双循环使用介绍
评论:我们用MC来做另一个MC面具。它的原理是:在电影中作为MC的面具,复制MC和部分小的随机放置的小MC。当然,这种随机放置不是任意的,必须满足两个条件:重复放置可以完全屏蔽图形;U3000 U3000
让我们先看看效果,如下所示:
U3000 U3000
思维方法
显然,我们使用的是另一个MC的MC掩模,其原理是:在电影中作为MC的掩模,复制MC和部分小的随机放置的小MC。当然,这种随机放置不是任意的,必须满足两个条件:放置位置不重复,它可以完全屏蔽图形:
1,为了计算MC立方体的坐标作为掩模片放置在MC位置;
2、MC坐标放在一个小的存储阵列,使数组的每个元素包含两值(横向和纵向)。因此,该阵列包括所有的立方体放置。在这里,我们要用2维数组的知识。
3,复制MC框,从随机选择的元素的2维数组中复制MC的每一个副本,将水平和垂直坐标中的元素分配给MC。
实例
源文件3.8.fla打开,并在第二层组件1的第一帧上的脚本:
复制代码代码如下所示:
这个zfx_mc _visible = false;
无功temp_arry =新(阵列); / /定义数组变量
对于(i = 0;i = 14;i +),请注意理解时的双循环执行顺序。
从上到下15行的小正方形是20×20,面积为400×300。
对于(从左到右的j = 0;j=19;j +)20行;
temp_arry.push({ - 190 + 20 * 140 + 20 * J,我});
数值/水平和垂直坐标作为一个元素的数组,temp_arry。
}
}
i = 0;设置i = 0;
_root.attachmovie(土
从图书馆链接 / /元tu,以艺名tu深度链接;500。
_root。tu._x = 200; / / tu放在舞台的中心
_root tu._y = 150;
_root.tu.setmask(本); / /设置视频剪辑作为一个面具,tu待面膜。
this.onenterframe =功能({ / /)影片剪辑执行事件处理程序;
复制(this.zfx_mc,ZFX+我,我);
名称zfx_mc下一份电影剪辑 /,ZFX+我拷贝之后,深度的我;
K = math.floor(Math.random()* temp_arry。长度);
/ /随机选择一个元素在数组temp_arry数k
这{ZFX+我}。_x = temp_arry {K } { 0 };
/ / temp_arry在第一值K元素的数组为横坐标这{ZFX+我};
这{ZFX+我}。_y = temp_arry {K } { 1 };
/ / temp_arry在二值K元素的数组作为纵坐标这{ZFX+我};
temp_arry.splice(k,1); / / temp_arry在K元素的数组;
++;
如果(i = 300){ 300个MC复制
删除this.onenterframe; / /删除视频剪辑的事件处理函数,释放内存。
}
};
此外,小广场zfx_mc具有运动补充60帧,在60帧有:停止()。
U3000