Удаление мувиклипа после замены глубины - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть некоторый код в ActionScript 2 , подобный приведенному ниже фрагменту (Item - мувиклип):

_root.createEmptyMovieClip("Temp",_root.getNextHighestDepth());
_root.Item.swapDepths(_root.Temp);  
_root.Temp.removeMovieClip(); // This doesn't work ! 

Я думаю, что вопрос ясен. Я не могу удалить Temp после замены глубины (в противном случае работает нормально).

Я также попробовал следующее (но безрезультатно):

depth = Item.getDepth();
_root.createEmptyMovieClip("Temp",_root.getNextHighestDepth());
_root.Item.swapDepths(_root.Temp);  
_root.getInstanceAtDepth(depth).removeMovieClip(); // Doesn't work ! 

Есть мысли о том, как избавиться от Temp?

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Я выяснил скрытую причину бессмертия Temp MovieClip.Видеоклип Item, с которым он обменивается, был создан вручную на временной шкале.Таким образом, после замены Temp находится в пределах зоны глубины , для которой Flash не поддерживает динамическое удаление символов.

Если бы я поменял глубину между Temp и Item1 = Item.duplicateMovieClip("Item1", someDepth);, removeClip() сработал бы!

0 голосов
/ 14 декабря 2011

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

_root.createEmptyMovieClip("Temp",_root.getNextHighestDepth());
_root.Item.swapDepths(_root.Temp);  
removeMovieClip(_root.Temp);

если вы создаете динамический мувиклип с использованием кода ActionScript. тогда вы должны использовать функцию removeMovieClip(XXXXXX); вместо XXXXXX.removeMoveiClip();

Примечание: - XXXXXX является ссылкой на экземпляр MoveiClip, который создается во время выполнения с использованием кода ActionScript 2.0.

Причина: «removeMovieClip () работает только для динамически создаваемых видеоклипов»

...