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

Регистрация: Oct 2007
Сообщений: 255
Записей в блоге: 1
Чем вас не устраивает удаление в основном классе, самому себя убивать классу не очень хорошая практика. Не он себя родил, не ему себя и убивать. Лучше сделать в классе FloatingCont деструктор и вызывать его из основного класса, его создавшего
Код AS3:
public class FloatingCont extends Sprite
	{
		public var _closeButton:Button = new Button("закрыть");
 
		public function FloatingCont()
		{	
			addChild(_closeButton);
			_closeButton.addEventListener(MouseEvent.CLICK, closeButtonLstner);
 
		}
 
		public function destroy():void
		{
			_closeButton.removeEventListener(MouseEvent.CLICK, closeButtonLstner);
		}
 
		private function closeButtonLstner(e:MouseEvent):void 
		{
			dispatchEvent(new Event("kill_me_please"))
		}
 
	}
 
}
а в основном классе
Код AS3:
		public function Main()
		{	
			_floatingCont = new FloatingCont()
			_floatingCont.addEventListener("kill_me_please", killHandler)
			addChild(floatingCont )
 
		}
		private function killHandler(e:Event):void
		{
			var target:FloatingCont = FloatingCont(e.target);
			target.destroy() 
			target.removeEventListener("kill_me_please", killHandler)
			removeChild(target)
		}
__________________
ответ прост: be || !be == true