2011-01-13 51 views
0

OK,所以這裏是我的代碼閃光:調整此代碼,以保持複製的影片剪輯

ham_mc.onPress=function(){ 
startDrag(this); 
} 
ham_mc.onRelease=ham_mc.onReleaseOutside=function(){ 
stopDrag(); 
_root.ham_mc.duplicateMovieClip("ham_mc" + "x",2); 
x++; 
} 

用戶可以在第一拖動影片剪輯。釋放時,會運行duplicateMovieClip命令,將新的哈姆影片剪輯留在第一個拖動到的位置。

問題:當我點擊並拖動第一個火腿電影再次單擊時,duplicateMovieClip再次運行,但替換上一個生成的電影剪輯。

我添加了x和x ++,試圖每次都給影片剪輯複製一個不同的名稱,但這並不能解決它。

如何更改此代碼,以便每次創建新的ham_mc而不是覆蓋舊的代碼。我很累,對不起的解釋感到抱歉!

回答

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++; 
} 

載入剪輯總是替換以前在該深度加載的剪輯。

編輯和測試:)

+0

沒有任何工作....謝謝你當然 – 2011-01-13 22:08:50

0

德棉的答案是正確的,但只有當你的X計數在舞臺上影片剪輯的總數相匹配。此外,所有剪輯都設置爲相同的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++; 
}