怎么做出用duplicateMovieClip复制出影片剪辑,但各自又不重叠的效果?

for(i=0,i<10,i++){dplicateMovieClip(a,"a"+i,i);setproperty("a"+i,_x,random(550))setpr... for(i=0,i<10,i++){
dplicateMovieClip(a,"a"+i,i);
setproperty("a"+i,_x,random(550))
setproperty("a"+i,_y,random(400))
}
光这样不能保证每次都不发生重叠,怎么办

求指点 另有加分
展开
 我来答
lian0461
2011-07-12 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:60
采纳率:0%
帮助的人:105万
展开全部
我只说说方法:
1. 用顺序排列方式:即每复制出一个就给x座标加上原影片的宽度。当超出画布宽度时y座标加上原影片的高度。如此循环下去,可实现不重叠的复制。
2. 用随机排列方式:事实上跟第一种相似,将画布看做按第1种排列排满了原影片剪辑,当复制出影片剪辑时,只是将对应随机数的位置座标读出来给新影片剪辑罢了。需要注意的是,随机数是复制的影片个数,而且如果出现重复的随机数,需要重新获得,如此就能产生一种公式。
["a"+i]._x = 随机数Z 乘 ["a"+i]._width; ["a"+i]._y = 随机数Z 乘 ["a"+i]._height;
追问
谢谢
还有问一下,影片剪辑能不能用ActionScrip做出类似上抛运动的效果
我试过用循环,但效果不对。
追答
你说的应该是加速或减速运动吧,上抛时做减速运动。
用两个参数,就可以做到这一点。一个用来存储默认的速度,另一个用来存储运动摩擦值。
如,moveNumber = 30; // 默认移动30个点。
stepNumber = 0; // 默认摩擦值为0;
mc.onEnterFrame = function() {
stepNumber += 5;
mc._y -= moveNumber - stepNumber;
}

只需用一个延时方法,可以用setInterval或者onEnterFrame,切忌不是for或while,用循环是看不到效果的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式