Показать сообщение отдельно
Старый 24.05.2018, 17:16
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 16  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
От задачи же зависит..
Если вам надо событие клика по КАРТИНКЕ, но к самой картинке доступа нет и добавить ей слушатель нельзя, то придется диспатчить от имени контейнера и тогда да, лучше использовать кастомное событие. То есть обычный Event, но со "своим" строковым типом, который можно объявить константой в классе ImageBox, пусть будет ImageBox.CLICK_IMAGE.
Код AS3:
public class ImageBox extends Sprite
{
	static public const CLICK_IMAGE:String = "clickImage";
	private var _box:Sprite; // в этом спрайте рисуется бэкграунд и грузится картинка
	private var _cb:CheckBox; // чекбокс
 
	public function ImageBox()
	{
		_box = new Sprite();
		_box.addEventListener(MouseEvent.CLICK, onClickHandler);
		addChild(_box);
	}
 
	private function onClickHandler(e:MouseEvent):void
	{
		dispatchEvent(new Event(CLICK_IMAGE));
	}
}
Код AS3:
_imageBox = new ImageBox();
_imageBox.addEventListener(ImageBox.CLICK_IMAGE, onClickImage);
addChild(_imageBox);
 
private function onClickImage(e:Event):void
{
	trace(e.target); // выводит [object ImageBox]
}
__________________
Reality.getBounds(this);