2013-03-18 3 views
0

Так я сузил свою проблему следующим образом:AS3: странное поведение имени экземпляра при удалении

У меня есть два экземпляра MovieClip («Content1», «Content2») добавил в двух различные другие мувиклипы ("container1 "," container2 "). Я хочу их удалить.

Как только я удалить один из них с этой ужасной команды ...

MovieClip(MovieClip(root).getChildByName("container1")).removeChild(MovieClip(MovieClip(root).getChildByName("container1")).getChildByName("content1")); 

... другой экземпляр этого меняет имя экземпляра к родовому один (например, «instance25»), и я не может получить к нему доступ с помощью getChildByName.

Может ли это объяснить это, пожалуйста?

ответ

0

Я никогда не испытывал такого поведения - независимо от того, что вы можете сделать, это хранить ссылку на оба перед их удалением. Таким образом, вам не нужно будет их оригинальное имя экземпляра, чтобы удалить как:

var top:MovieClip = root as MovieClip; 

var cotainer:MovieClip = top.container1; 
var content1:MovieClip = container.getChildByName("content1"); 
var content2:MovieClip = container.getChildByName("content2"); 

container.removeChild(content1); 
container.removeChild(content2); 

Надеется, этот ответ дает вам некоторые подсказки для создания вашего кода более удобным для чтения, а также.

Смежные вопросы