|
今晚又失眠,没事做,就发个教程 关于按一定时间复制mc的做法:(每个例子都有源文件,不过文件里面我就加了一点其他东西进去,不是完全和例子相同,希望对各位有点启发) 1.利用针频复制
以下是代码片段: k=0 time=100 mc.onEnterFrame=function(){ if(k%100==0){ this.duplicateMovieClip("mc"+k,k) setProperty("mc"+k,_x,random(400)); setProperty("mc"+k,_y,random(300)); } k++ } |
利用一个变量(k)的增加值(运算速度)来复制 优点:控制上比较简单 缺点:涉及到针播放频率,这个就不好控制了.很难找到精确的时间...
2.利用setInterval()做定时的复制
以下是代码片段: i=0 function a(){ i++ mc.duplicateMovieClip("mc"+i,i) setProperty("mc"+i,_x,random(400)); setProperty("mc"+i,_y,random(300)); } setInterval(a,1000)//1000为1秒,可以在这个设置一个准确的时间,例如100就是0.1秒 |
优点:定时复制,如果是相隔相等时间的话,这个是最好的 缺点:其实这个和上面的第一个也有同样的问题,就是它会不断的复制,如果是规定数量的话,可以利用clearInterval()来清除
3这个就不知道怎么说.... 第一针:
第二针:
以下是代码片段: duplicateMovieClip("mc","mc"+i,i) setProperty("mc"+i,_x,random(400)); setProperty("mc"+i,_y,random(300)); i++//一定要有这个啊!不然,复制出来的mc会一下就不见了 | 第三针:
以下是代码片段: if(i<100){ gotoAndPlay(2) } //100为复制的总数量,如果不够100个的,就回到第二针继续复制 else{ gotoAndPlay(1) } //如果i>=100的话,那么就回到第一针,i的值就变回0,重新来过 |
优点:变化上有一定的时间间隔,有明显的先后顺序.容易控制数量 缺点:速度上要靠调针频率来改变..
4利用for来复制
以下是代码片段: for(var i=0;i<100;i++){//100是复制的数量 duplicateMovieClip("mc","mc"+i,i) setProperty("mc"+i,_x,random(400)); setProperty("mc"+i,_y,random(300)); } |
优点:可以快速的复制 缺点:变化比较单调,难以控制时间,而且复制出来的mc播放的速度是一样的.(具体请看例子4) 在上面几个例子中,第1,2个都是无限增加的,其实,可以再加一if来判断复制的数量,加以控制出现的数量.而在这里的,就不做详细的介绍. 而在这里提到的例子,其实都是些十分简单的东西.没有什么难的,但是,我们都是运用简单的来做出好看的效果。 希望这些可以对新手们有点启发帮助
效果与源文件.rar |