LEFT = 0;
TOP = 0;
RIGHT = Stage.width;
BOTTOM = Stage.height;
maxspeed=25
maxmc=100
minmc=20
function randrange(min,max){
var randomnum=Math.floor(Math.random()*(max-min 1)) min
return randomnum
}//自定义函数,取两数之间的随机数
mcnum=randrange(minmc,maxmc)
trace(mcnum)//测试用
for(i=0;i<=mcnum;i ){
dupmc=attachMovie("mymc","mymc" i,10 i)
trace(dupmc)//测试用
dupmc._x=200
dupmc._y=200//设定同一个坐标位置
dupmc._xscale=dupmc._yscale=randrange(0,100)
dupmc.speedx=randrange(-maxspeed,maxspeed)
dupmc.speedy=randrange(-maxspeed,maxspeed)//每一个复制出来的MC都会有一个随机x,y偏移(从自己的负值到自身值,保证了坐标既有正也有负)
dupmc.onEnterFrame=function(){
this._x =this.speedx
this._y =this.speedy
if (this._x < LEFT || this._x > RIGHT || this._y < TOP || this._y > BOTTOM) {
this.removeMovieClip();
}//end if
}
}
ok,代码结束,以下我谈谈我为什么不用duplicatemovieclip而用attachmovie
我们都知道把duplicatemovieclip或attachmovie前面加一个变量,很方便调整MC属性,书写也简单,但实
现方式有两种。
起初我是用duplicatemovieclip,前面设定了一个变量,即:
dupmc=duplicatemovieclip("mymc","mymc" i,10 i)
trace(dupmc)//测试用
输出undefined,而换成attachmovie就能正常输出了
所以我选择了attachmovie,但说实在话,attachmovie也不是什么好鸟,MC一大,就会延迟进度,所以这是个问题,欢迎共同探讨,我就来抛砖引玉。
效果欣赏 源码下载
IT时代网(关注微信公众号ITtime2000,定时推送,互动有福利惊喜)所有原创文章版权所有,未经授权,转载必究。
创客100创投基金成立于2015年,直通硅谷,专注于TMT领域早期项目投资。LP均来自政府、互联网IT、传媒知名企业和个人。创客100创投基金对IT、通信、互联网、IP等有着自己独特眼光和丰富的资源。决策快、投资快是创客100基金最显著的特点。
小何
小何
小何
小何