|
|
|||||
[+4 06.05.14]
|
Работа с customEvent
Добрался до кастомных событий, решил разобраться в этом вопросе. Но ниче не понял_) Надеюсь поможете :
http://www.flasher.ru/forum/showthread.php?t=79874 По данной ссылке на форуме представляется пример создания своего события. Однако пример не полный по многим вещам. Так и не понятно как задать функционал событию. Если не сложно покажите примерчик следующего типа : Создать событийную модель для ( библиотечного) мувиклип-класса, работающую следующим образом : Если координата x клипа = 100 , то выполнить некоторый кастом евент EVENT_100 . ( где EVENT_100 соотв константа) Заранее спасибо, думаю благодаря такому примеру разберусь |
|
|||||
[+4 06.05.14]
|
ну допустим в моем примере так. а когда же нужен кастом ? И тоже с примером желательно. Спасибо
п.с по предидущему посту , хочется именно так Последний раз редактировалось in4core; 29.11.2010 в 23:00. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Всю жизнь думал что Custom Event - это "свое" событие, т.е. кастомный класс. Кастомы - это всякие наследники базового Event, со своими особыми свойствами. А передавать разные строки в свойство type - при чем тут кастом? Это стандартное свойство стандартного события. В кастомных вы можете создавать СВОИ свойства, передавая какие-то данные в самом теле события.
Но товарищ in4core смотрит глубже. Он ведь говорит не об объекте события, а о событии как о чем-то "возникающем", и спрашивает, собственно, как сделать чтобы, когда случится х=100 само собой "возникло" событие. Никак. Те события, что генерятся в плеере - генерятся системой или пользователем. У них есть инициатор. Инициатора у х=100 нет. Его придется создавать программно, т.е. следить за координатами объекта, с помощью таймера или ЕНТЕР_ФРЕЙМ, и в условии проверять (см. выше). Если координата х задается объекту программно (ммм... а она может задаваться иначе?...) то можно попробовать переписать сеттер х public override function set x (value:Number):void { super.x = value; if(value === 100) { this.dispatchEvent(new Event(EVENT_100)); } } Цитата:
package { import flash.events.Event; public class MenuEvent extends Event { static public const ACTION_SELECT:String = "actionSelect"; public var actionID:String; public function MenuEvent(type:String, actionID:String, bubbles:Boolean=false, cancelable:Boolean=false) { super(type, bubbles, cancelable); this.actionID = actionID; } public override function clone():Event { return new MenuEvent(type, actionID, bubbles, cancelable); } public override function toString():String { return formatToString("MenuEvent", "type", "actionID", "bubbles", "cancelable", "eventPhase"); } } }
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 29.11.2010 в 23:31. |
|
|||||
.
|
@Wolsh, Браво! Все по-уму =)
Цитата:
Цитата:
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ну и в _menu собственно
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 29.11.2010 в 23:35. |
Часовой пояс GMT +4, время: 18:14. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|