PDA

Просмотр полной версии : duplicateMovieClip не дублирует клипы потомки, отрисованные программно.


джонатан
14.11.2008, 16:43
Приветствую вас.

Вот такую вещь я делаю:

my_mc.createEmptyMovieClip("my2_mc", mc.getNextHighestDepth());

my_mc.my2_mc.beginFill(0xFF00FF, 100);
my_mc.my2_mc.moveTo(0, 0);
my_mc.my2_mc.lineTo(0, 100);
my_mc.my2_mc.lineTo(100, 100);
my_mc.my2_mc.lineTo(100, 0);
my_mc.my2_mc.lineTo(0, 0);
my_mc.my2_mc.endFill();

my_mc.duplicateMovieClip("my_mc_copy", my_mc.getDepth() + 1);

Так вот, дублирует он его, но в копии, отсутствует программно отрисованный клип my2_mc. Причем, клипы, которые были созданы в нем, не программно, отлично копируются. И если отрисовать программно, чтонибудь, без вложения в новый клип, а непосредственно в самом копируемом клипе my_mc, то тоже все отлично копируется.

Что за факинг шит? Не кто случаем не сталкивался?

Спасибо.

Mur4ik
14.11.2008, 17:18
Вот строчечка из хелпа:
"Movie clips that are created with the duplicateMovieClip() method are not duplicated if you call the duplicateMovieClip() method on their parent."

Короче то что создается программно не копируется, если копируем родительский клип, а вот my2_mc скопировать можно
my_mc.createEmptyMovieClip("my2_mc", my_mc.getNextHighestDepth());

my_mc.my2_mc.beginFill(0xFF00FF, 100);
my_mc.my2_mc.moveTo(0, 0);
my_mc.my2_mc.lineTo(0, 100);
my_mc.my2_mc.lineTo(100, 100);
my_mc.my2_mc.lineTo(100, 0);
my_mc.my2_mc.lineTo(0, 0);
my_mc.my2_mc.endFill();

my_mc.my2_mc.duplicateMovieClip("my_mc_copy", my_mc.getDepth() + 1);
my_mc.my_mc_copy._x += 150;

Если все же нужно копировать все вместе и именно так как есть, то можно использовать BitmapData

джонатан
14.11.2008, 18:20
Спасибо. Буду заюзывать BitmapData