Показать сообщение отдельно
Старый 20.05.2013, 08:05
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 8  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
Иначе хендлер сработает два раза.
Сань, с чего ты это взял?
Один раз он сработает.
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
 
 
	public class Main extends Sprite {
 
 
		public function Main() {
			var test:Test = new Test();
			addChild(test);
		}	
	}
}
 
import flash.display.Sprite;
import flash.events.Event;
 
internal class Test extends Sprite {
 
	public function Test() {
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
	}	
 
	private function init(e:Event = null):void {
		trace("Добавлено"); // выводится только один раз
 
	}
}
Плюс, не обязательно же при добавлении будут какие-то инициализации. У меня часто бывает так, что при добавлении добавляется энтерфрейм слушатель, к примеру, а при удалении из дисплей листа и энтерфрейм слушатель удаляется.