![]() |
Как удалить мувик из массива?
Всем привет.
Есть функция: Код AS3:
Может кто подскажет какое друге решение для создания и удаления массива мувиков? |
Код AS3:
Чтобы удалить какой-то объект из массива, нужно сделать по-другому: Код AS3:
|
caseyryan, честно говоря я не очень понял ваш пример.
Первый код ещё более-менее понятен. А вот второй, для меня по большей своей части - загадка. Особенно не понятно что такое someObject? Если я делаю вот так: Код AS3:
Если я этот шаг пропускаю и просто тупо удаляю в массиве объект - то на экране от этого ничего не меняется. Мувик всё так же находится на сцене. В общем, не очень помогает. А есть ещё варианты, кроме массива? Вот у меня игрушка. На экран - вылетают астероиды. Нужно чтоб при вылете ими за экран - они удалялись. Я пока что не очень понимаю как это сделать с помощью ассива, а других вариантов - я в сети не нашёл. Кто как подобное вообще делал? |
Если у тебя астероиды хранятся в каком-то отдельном мувике то ты можешь просто перебирать всех детей этого мувика и удалять тех детей которые вышли за экран. Допустим все астероиды находятся в мувике или спрайте(что бы меньше памяти занимал) под названием asteroidContainer тогда код для удаления астероидов ушедших за экран следующий(размер игровой области 550x400):
Код AS3:
|
caseyryan пытался до вас донести, что удаление клипов из контейнера и удаление элемента из массива не одно и тоже. Удаление из массива не приводит к удалению клипа. Это надо делать в цикле.
Присвоение en_num = 0; у вас не удалит 30 клипов:) Добавлено через 5 минут И зачем их удалять, чтобы заново создать?) |
Судя по коду из первого поста, создается n мувиков и только последний записывается в только что созданный массив. Более того, каждые 31 помещаются в Display List, каждый 32-й сначала помещается в DL потом тут же удаляется...
С каждым циклом массив создается заново перезаписывая предыдущий. Или я что-то не понимаю? |
если у тебя отдельный контейнер для астеройдов, то зачем вообще массив нужен ? (тотже Sprite\Movieclip служит массивом)
зачем удалять астеройд который вылетел за экран ? просто назначь ему стартовые значения и он заного полетит |
Bletraut, попробовал ваш код - что-то не заработало.
Да и я уже решил другим способом. Пусть и с удалением ребёнка самим собой, но всё же. Цитата:
Цитата:
Такая задача. Сделал так: Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 01:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.