2011-01-13 8 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)で読み込んだ深さです。 2をxと置き換えてみてください:

同じ深さのクリップをロードすると、その深さで以前にロードされたクリップが置き換えられます。

編集およびテスト:)

+0

はどちらか動作しませんでした....「Nそれをテスト:) –

+0

の応答をありがとう残念ながら、古い画像は画面に残りません。私はあなたの.flaを使うことができます:P –

+0

このコードはdoesnの8.私はフラッシュプロにいるよ」私のポストを編集もちろん –

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