Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.01.2015, 13:14
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 1  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
По умолчанию Что остается после удаления объекта в спрайте

Код AS3:
private var conteiner:Sprite;
private var obj:sprite_obj;
private var arr:Array;
function addObj():void
{
conteiner = new Sprite;
addChild(conteiner);
 
obj = new sprite_obj;
arr.push(obj);
conteiner.addChild(obj);
}
 
function removeObj()
{
removeChild(arr[0]);
obj = null;
}
Вот собственно такой простой код. Я создаю объект, кидаю его в массив и кидаю его в спрайт. Удаляю я его только из массива - визуально он исчезает. Что собственно остается после удаление от этого объекта?

Старый 22.01.2015, 13:20
KBAC вне форума Посмотреть профиль Отправить личное сообщение для KBAC Найти все сообщения от KBAC
  № 2  
Ответить с цитированием
KBAC
 
Аватар для KBAC

Регистрация: Jan 2006
Адрес: Москва (Нижний Новгород)
Сообщений: 229
Записей в блоге: 1
Отправить сообщение для KBAC с помощью Skype™
После удаления ссылок на объект он останется в памяти, пока его не удалит автоматический сборщик мусора.

Кстати, не забудьте его из массива удалить. И не ясно зачем вам массив, если есть private var obj.
__________________
Будь проще.

Старый 22.01.2015, 13:22
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 3  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
То есть то что я его кинул в спрайт другого так сказать объекта, никак не влияет на его будущее удаление? Массив нужен, если создается к примеру не один такой объект, а десятки, а то и сотни. И просто для удобства, циклом пробежать по массиву и удалить каждый объект мне показалось проще.

Старый 22.01.2015, 13:31
KBAC вне форума Посмотреть профиль Отправить личное сообщение для KBAC Найти все сообщения от KBAC
  № 4  
Ответить с цитированием
KBAC
 
Аватар для KBAC

Регистрация: Jan 2006
Адрес: Москва (Нижний Новгород)
Сообщений: 229
Записей в блоге: 1
Отправить сообщение для KBAC с помощью Skype™
Если вы его из дисплей листа не удалите - объект не удалится.

И вот здесь
Код AS3:
removeChild(arr[0]);
у вас будет ошибка. Я проглядел. Показалось, что вы его из conteiner удаляете.
__________________
Будь проще.

Старый 22.01.2015, 13:33
Godwarlock вне форума Посмотреть профиль Отправить личное сообщение для Godwarlock Найти все сообщения от Godwarlock
  № 5  
Ответить с цитированием
Godwarlock

Регистрация: Jan 2012
Сообщений: 836
Тогда что сохраняется в массив? Ссылка на объект?

Старый 22.01.2015, 13:35
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 6  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
да, ссылка.

Добавлено через 33 секунды
Объекты вообще доступны только по ссылкам.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.