PDA

Просмотр полной версии : Как мувику удалить самого себя?


Steelaga
22.06.2007, 19:28
со своего timelinе`а?
т.е.
в руте:
stage.addChild(mc);

в линейке mc:
stage.removeChild(mc);
-ошибка
1119: Access of possibly undefined property mc through a reference with static type flash.display:DisplayObject.

кстати, довольно часто возникает такая ошибка, вот никак не могу понять, в чем дело.

может еще как-то можно удалить объект. в helpe было что-то про установление всех ссылок на объект на "null" и тогда он будет помещен в коллекцию "garbage", только как это сделать?
root.mc=null, естественно, не работает ((

BigDan
22.06.2007, 19:30
mc.parent.removeChild(mc);
Только надо проверять, выведен ли mc на экран, если нет, то это вызовет ошибку.

DarkLight
22.06.2007, 19:31
как насчет this.parent.removeChild(this); ? или хранить ссылку на родителя и parentLink.removeChild(this);

Steelaga
22.06.2007, 19:39
и так и так писал, все таже самая месага.
попробуйте, пожалуйста, сценку с этой штукой сделать.

etc
22.06.2007, 20:59
stage.removeChild(this); не прокатывает разве?

Steelaga
22.06.2007, 23:31
хм..прокатило! и только в этом случае прокатывает
stage.removeChild(this);
// или this.parent.removeChild(this);

Не прокатывает в случаях:
stage.removeChild(root.mc);
stage.removeChild(mc);
this.parent.removeChild(mc) и тп.

те. он удаляет себя только в случае прямой ссылки на самого себя в виде this...

всем спасибо!

john
24.06.2007, 14:09
а если сделать

trace(root.mc)
trace(mc)

что будет выведено? уверен на сто процентов что undefined

> те. он удаляет себя только в случае прямой ссылки на самого себя в виде this...

так все остальное это тоже прямые ссылки :)