![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2013
Сообщений: 29
|
Сделал в цикле, заполнение массива и добавление на стол:
Допустим у нас 50 карт. Все создались - все ок. Далее я создал кнопку "УДАЛИТЬ ВСЕ", которая удаляет все карты разом: for (var m = 0; m < myMovieClips.length; m++) { trace(myMovieClips.length); myMovieClips[m].parent.removeChild(myMovieClips[m]); } В каждой карте у меня есть событие на клик, которое производит удаление активной карты. mc.addEventListener(MouseEvent.CLICK, qwe333); function qwe333(event:MouseEvent):void { var targetClip:MovieClip = event.target as MovieClip if (targetClip.parent) targetClip.parent.removeChild(targetClip); } Начинаю удалять карты вручную, осталось 40 карт! Нажимаю на "УДАЛИТЬ ВСЕ" , которая должна пробежаться по всему массиву(по 50 элементам) и удалить, но она возвращает ошибку TypeError: Error #1009: Cannot access a property or method of a null object reference. Что я обращаюсь к уже удаленному объекту. как я понял, я удалил не ячейки массива, а просто снял со сцены объекты и второй раз их снимать уже нельзя. Подскажите плиз: 1)как при проходе через массив, не обходить те 10 , элементы которых где я уже применил removeChild? 2) при нажатии на "function qwe333" - как узнать к какому элементу массива относится эта карта? Просто если бы я это смог узнать , в этой кнопке сразу бы и удалял ячейку через splice Добавлено через 11 минут UPD: все вроде решил вопрос костылем. через оператор try catch Последний раз редактировалось infbyte; 20.07.2014 в 03:27. |
|
|||||
|
.
|
Цитата:
Цитата:
var index:int = myMovieClips.indexOf(karta); if (index != -1) { trace("Карта присутствует в списке под индексом", index); myMovieClips.splice(index, 1); } Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:05. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|