好的,所以这是我的代码
ham_mc.onPress=function(){
startDrag(this);
}
ham_mc.onRelease=ham_mc.onReleaseOutside=function(){
stopDrag();
_root.ham_mc.duplicateMovieClip("ham_mc" + "x",2);
x++;
}
用户可以先拖动影片剪辑。释放后,duplicateMovieClip命令将运行,将新的ham影片剪辑保留在第一个被拖动到的位置。
问题:当我再次单击并拖动第一个火腿电影时,再次运行duplicateMovieClip但是替换上一个生成的影片剪辑。
我添加了x和x ++,试图每次都为影片剪辑复制一个不同的名称,但这并没有解决它。
如何更改此代码,以便每次都创建一个新的ham_mc,而不是覆盖旧的。我很累,对于糟糕的解释感到抱歉!
答案 0 :(得分:0)
这不是名字 - 它是你在(2)加载它的深度。尝试用x替换2,它应该适合你:
ham_mc.onPress=function(){
startDrag(this);
}
ham_mc.onRelease=ham_mc.onReleaseOutside=function(){
stopDrag();
_root.ham_mc.duplicateMovieClip("ham_mc" + x ,x);
_root['ham_mc' + x]._x = 50;
_root['ham_mc' + x]._y = 50;
x++;
}
在相同深度处加载剪辑将始终替换之前在该深度处加载的剪辑。
编辑并测试:)
答案 1 :(得分:0)
Demian的答案是正确的,但前提是您的x计数与舞台上的MovieClip总数相匹配。此外,所有剪辑都设置为相同的X和Y位置。这应该更好:
ham_mc.onPress=function(){
startDrag(this);
}
ham_mc.onRelease=ham_mc.onReleaseOutside=function(){
stopDrag();
_root.ham_mc.duplicateMovieClip("ham_mc" + x ,_root.getNextHighestDepth());
_root['ham_mc' + x]._x = _root._xmouse;
_root['ham_mc' + x]._y = _root._ymouse;
x++;
}