nldr
24.12.2009, 17:52
Поясню subj:
1. Есть главный объект, он создает дочерний (каждый объект описан в отдельном AS файле, если это важно):
var Kain:BadSon = new BadSon();
addChild( BadSon );
2. По определенному условию, дочерний объект Kain просит родителя создать себе еще один дочерний объект:
var Avel:GoodSon() = new GoodSon();
parent.addChild( Avel );
3. По определенному условию, происходящему внутри Kain, объект Avel должен быть уничтожен. Я делаю это так:
parent.removeChild( Avel );
Самое интересное, что это работает, по крайней мере визуально. НО! Во время выполнения приложения выдается ошибка:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()
Конечно, можно было бы добавить какой-то флаг в Kain и просить родительский объект при определенном значении флага убивать Avel, но хотелось бы разобраться.
1. Есть главный объект, он создает дочерний (каждый объект описан в отдельном AS файле, если это важно):
var Kain:BadSon = new BadSon();
addChild( BadSon );
2. По определенному условию, дочерний объект Kain просит родителя создать себе еще один дочерний объект:
var Avel:GoodSon() = new GoodSon();
parent.addChild( Avel );
3. По определенному условию, происходящему внутри Kain, объект Avel должен быть уничтожен. Я делаю это так:
parent.removeChild( Avel );
Самое интересное, что это работает, по крайней мере визуально. НО! Во время выполнения приложения выдается ошибка:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()
Конечно, можно было бы добавить какой-то флаг в Kain и просить родительский объект при определенном значении флага убивать Avel, но хотелось бы разобраться.