|
|
|||||
Регистрация: Mar 2013
Сообщений: 290
|
Цитата:
Что такое "String имя", это имя функции и есть? Здесь, похоже, в явной форме нет ничего про это, как про отдельный термин. Если же это просто имя функции, то что мешает нам вызывать её естественным путём? |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
caseyryan был бы очень признателен, если бы Вы вот что объяснили -
сто кнопок подписываю на клик в менеджере. Вызвалось событие, а как дальше? Как менеджер понимает, что и куда ему нужно передавать, ведь каждый событие по своему обрабатывает? |
|
|||||
Цитата:
Цитата:
Подписывать каждую кнопку на событие... это, кхм.., не правильно что ли. Цитата:
В любом случае, событие придет от кнопки, а не из "неведомого ниоткуда". Проверяем тип объекта отправителя события, а в нем, например, держим какое-то свойство типа section private function onButtonEvent(e:ButtonEvent):void { if (e.target is MenuButton) { var menuButton:MenuButton = e.target as MenuButton; if (menuButton.section == MenuButtonSections.CLAD_CHARACTER) { // тут открываем раздел одевания персонажа } } } Цитата:
тогда делаем просто this[functionName](); п.с. Это, кстати, в ас3 все еще так упрощено до безобразия. В Java, например, такой подход не прокатит |
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
Цитата:
|
|
|||||
Banned
|
Цитата:
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Про EventDispatcher я могу сказать, что я не знаю только того, о чем даже не подозреваю.
Но тут вопрос не о том, как он работает, а о том, правильно ли, что панель обрабатывает клики по кнопкам.. Хотя вот сейчас, кажется что и нашел недопонимание. И чтобы уточнить, я сделаю так, как очень люблю делать, утрирую. Есть панель-контейнер, в котором находится тысяча объектов, которые должны реагировать на клик. И вот происходит клик по контейнеру, событие получает сцена и проверяет, координаты. По координатам показывает, что клик пришёлся по Main, в котором лежи контейнер. Main получив событие от сцены, проверяет единственного своего чилда на соответствие с координатами. ... Вот тут я понимаю, что и вправду не знаю, что происходит дальше... Получается, что когда контейнер возвращает true в hitTestObject, его проверяют наличие подписки в EventDispatcher. И когда оказывается, что он там есть, то вызывают его хандлер. Это так? Продолжу после ответа |
|
|||||
Цитата:
И при чем тут hitTestObject? |
Часовой пояс GMT +4, время: 13:22. |
|
« Предыдущая тема | Следующая тема » |
|
|