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

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

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
1. Таймер у Вас создается локально и будет удален после выполнения метода.
Никуда он не удалится. Во-первых к нему добавлен слушатель, который нигде не удаляется, соответственно существует ссылка, а во-вторых когда объект (на который нет ссылок) удалится, решает сборщик мусора. Это может произойти гораздо позднее, чем выполнится метод.

По теме:
Лучше вообще не добавлять слушатель ENTER_FRAME в каждом мяче, но раз уж здесь так, то надо и об удалении побеспокоиться.
Добавь в класс Ball метод dispose()
Код AS3:
public function dispose():void {
   this.removeEventListener(Event.ENTER_FRAME, cap);
   if (parent) parent.removeChild(this); // можно и сразу с дисплей листа снести.
}
Код AS3:
 
function removeBall(e:TimerEvent):void 
{
    e.target.removeEventListener(TimerEvent.TIMER_COMPLETE, removeBall); // не забываем удалить слушатель с таймера
    if (ball) ball.dispose(); // не понятно зачем у тебя этот шарик создан отдельно от тех, что в массиве, но тем не менее, сносим его
    for (var i:String in arr) arr[i].dispose(); // убиваем так же шарики в массиве
    arr.length = 0; // сносим все из массива
 
}
Моше Дауге, почитайте про метод contains в справке. Где и как он ищет объекты.
__________________
Ко мне можно и нужно обращаться на ты)

Старый 12.08.2014, 11:40
skorpionnn333 вне форума Посмотреть профиль Отправить личное сообщение для skorpionnn333 Найти все сообщения от skorpionnn333
  № 2  
Ответить с цитированием
skorpionnn333

Регистрация: Jul 2014
Сообщений: 32
caseyryan.Спасибо большое за подробное обьяснение .Я узнал много нового из этого кода,теперь работает все ,а ball там был совершенно лишним я еще из старого кода забыл его удалить

Добавлено через 20 минут
Моше Дауге.Спасибо я прочту про метод contains

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

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

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


 


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


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