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

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

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

Регистрация: Sep 2005
Адрес: Snezhinsk, Russia
Сообщений: 367
Отправить сообщение для firsoff с помощью ICQ Отправить сообщение для firsoff с помощью Skype™
По умолчанию метод stop() у TWEEN

удаляет ли он все внутренние структуры (листенеры и т.п.) экземпляра класса Tween? не отвисают ли они в памяти?
Просто нужно удалить (destroy) полностью экземпляры этого класса...

Старый 02.03.2007, 20:56
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Раздел для профи не для подобных вопросов.

Удалить твин можно просто используя delete.

Старый 02.03.2007, 21:58
firsoff вне форума Посмотреть профиль Отправить личное сообщение для firsoff Посетить домашнюю страницу firsoff Найти все сообщения от firsoff
  № 3  
Ответить с цитированием
firsoff

Регистрация: Sep 2005
Адрес: Snezhinsk, Russia
Сообщений: 367
Отправить сообщение для firsoff с помощью ICQ Отправить сообщение для firsoff с помощью Skype™
delete удалит ссылку на на Tween как я понимаю, сам твин будет жить и здравствовать.

Старый 02.03.2007, 23:36
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 4  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
А как же тот факт, что объект удаляется сборщиком мусора, если на него нет ссылок в коде?

Старый 02.03.2007, 23:46
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от firsoff
delete удалит ссылку на на Tween как я понимаю, сам твин будет жить и здравствовать.
Сначала stop(), потом delete сразу. А ещё можно было заглянуть в сам класс и посмотреть, как он устроен.

Старый 03.03.2007, 08:54
firsoff вне форума Посмотреть профиль Отправить личное сообщение для firsoff Посетить домашнюю страницу firsoff Найти все сообщения от firsoff
  № 6  
Ответить с цитированием
firsoff

Регистрация: Sep 2005
Адрес: Snezhinsk, Russia
Сообщений: 367
Отправить сообщение для firsoff с помощью ICQ Отправить сообщение для firsoff с помощью Skype™
спасибо за более-менее внятный ответ =)

Старый 04.03.2007, 16:11
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
нет, не удаляет. delete тоже не все удалит =) останется __onEnterFrameBeacon например.
__________________
Hell is the possibility of sanity

Старый 04.03.2007, 16:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Нужно удалить твин, а не броадкастер. stop() снесет твин из листенеров, а delete уже снесет сам твин, вуаля.

Старый 04.03.2007, 20:35
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 9  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Код:
import mx.transitions.*;
import mx.transitions.easing.*;
//
var mc:MovieClip = this.attachMovie('mc', 'mc', this.getNextHighestDepth(), {_x:20, _y:100});
var tw:Tween = new Tween(mc, '_x', Strong.easeOut, 0, 100, 1, true);
tw.onMotionFinished = function():Void  {
this.stop();
delete this.onMotionFinished
delete this;
};
Так правильно удалять?

Код:
import mx.transitions.*;
import mx.transitions.easing.*;
//
function effect(mc:MovieClip):Void {
	var tw:Tween = new Tween(mc, '_x', Strong.easeOut, 0, 100, 1, true);
	tw.onMotionFinished = function():Void  {
		this.stop();
		delete this.onMotionFinished;
		delete this;
	};
}
var mc:MovieClip = this.attachMovie('mc', 'mc', this.getNextHighestDepth(), {_x:20, _y:100});
effect(mc);
Если у меня твин оформлен в функцию, то все равно проделывать полное удаление?


Последний раз редактировалось this.create; 04.03.2007 в 20:39.
Старый 04.03.2007, 20:49
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от this.create
Код:
this.stop();
delete this.onMotionFinished
delete this;
};
Так правильно удалять?
Ссылку на самого себя удалить невозможно. Нужно делать остановку твина по первой ссылке на него и удалять эту ссылку.

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

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

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


 


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


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