|
|
|||||
Регистрация: Jul 2015
Сообщений: 2
|
Проблемы с removeChild
Я видел очень много тем на этом форуме про эту проблему, но негде не нашел подходящего для меня решения. при использовании removeChild, объект на поле становился невидимым. Если потом присвоить ему значение null, то он окончательно удаляется. НО проблема заключается в том, что у меня нет переменной к которой я могу присвоить это значение.
Есть массив blocks, в котором хранятся все блоки на сцене. нужно очистить его и ПОЛНОСТЬЮ удалить все объекты в нем. // кусочек кода который добавляет блок на сцену и в массив for (i2 = 1; i2 <= cx; i2++) { for (i = 1; i <= cy; i++) { if (BlocksIds[i3] == 1) { var Box:MovieClip = new box ; addChild(Box); Box.x = i2 * d - d + otsx; Box.y = i * d - d + otsy; blocks.push(Box); } i3++; } } //как-то так Подскажите как можно полностью удалить каждый объект со сцены |
|
|||||
Со сцены removeChild хватит. А из памяти, если ссылок нет, как у вас - мусорщик соберет.
Добавлено через 1 минуту И вы не объекту присваиваете null, а ссылке на него.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Регистрация: Jul 2015
Сообщений: 2
|
Что за мусорщик?
|
|
|||||
Кроме removeChild нужно и из массива blocks удалить ссылку на объект.
__________________
http://www.chessmax.ru |
|
|||||
Регистрация: Jul 2015
Сообщений: 6
|
RuslanT007,
Если потом присвоить ему значение null, то он окончательно удаляется. НО проблема заключается в том, что у меня нет переменной к которой я могу присвоить это значение |
|
|||||
Регистрация: Jun 2014
Сообщений: 558
|
У вас массив содержит ссылку на объект, по этому удаляйте элемент массива, как написал выше 4e4uK, если хотите безвозвратно удалить, то элементу массива присвойте null и почистите сам массив, что бы не было пустого элемента массива
|
Часовой пояс GMT +4, время: 15:41. |
|
« Предыдущая тема | Следующая тема » |
|
|