![]() |
Двойное обращение к функции
Есть некая функция
private function funcname(e:MouseEvent) Обращаюсь я к ней из одного места по событию мыши, а из другого по нажатию клавиши клавиатуры. Что нужно писать в скобках, что б и то и то работало? Можно там перечисление ивентов делать? |
Код AS3:
Код AS3:
|
Код AS3:
|
Wolsh , а я вот поспорю с тобой, что этот вариант правильный самый ( если конечно ты на пост Акро отвечал, а на пост ТС , если на ТС - то вопросов нет ).
Akopalipsis - правильно так, как требует ситуация. Если идет принятие кастомных событий, то возможно лучшим будет event:* . Да бы предусмотреть ситуации e.params и т.п. иначе не скомпилиться. Вариант с объектом в данном случае неверен, так как большинство понимают под Object {} и ты скорее всего сам потом запутаешься. Самым благородным решением будет BaseCustomEvent - но это уже через чур замудрежка. Что то типа Код AS3:
|
рас: В случае с конкретным ивентом клавиатуры и конкретным ивентом мыши - абстрактный кастом-ивент благородным решением не будет.
два: звездочка и обжект по сути своей не отличаются. Юзай что нравится. Но в коде если звездочка то наверное кому-то понятнее что туда разные данные входить могут. Мне пофиг. три: пример с кастомивентом, а затем проверкой типа - вполне реализуется и со звездочкой и с обжектом. Если идет проверка типа то нафига нам кастом-ивент? |
Что-то я не понял. Так мы принимаем события или все подряд?
in4core, мне искренне жаль, что для тебя поставить звездочку равносильно "предусмотреть ситуации", и что тебе никак "иначе не скомпилиться". |
Цитата:
|
А какая необходимость пихать в один обработчик то что "подул ветер" и то что "хрюкнул кабан".
Почему бы не Код AS3:
Да, строчек прибавится, но повысится человекочитаемость. Я не прав? |
Цитата:
|
Наверное, реагировать надо будет не на все кнопки скопом, а на какую-то одну (или не реагировать на какую-нибудь – например, по esc вызывается меню игры и не должен происходить прыжок). Это явно не должно происходить там же, куда может заглянуть обработка мыши.
Я за ObOs'a. |
Цитата:
Именно потому, что я не знаю дизайн топикстартера, я отвечаю на конкретный вопрос. Как и откуда он будет выбрасывать KeyboardEvent, и тем более где на него подписываться — не мое дело. Разделение обработчиков никоим образом не влияет на идею UI. Я и сам понятия не имею, как и что собирается делать автор в обработчике. Но отделение мыши от клавы не отделяет клавишу W от клавиши Esc. Не аргумент. |
Цитата:
|
Цитата:
Если один хэндлер на всё – мне придется смотреть на тип события, а затем самоубиваться если keyCode не пробел. |
Еще и приводить тип события, чтобы дергать keyCode. Итого две лишних операции и нарушение SOLID.
|
А давайте подпишем один хендлер на все события! Вот будет человекочитаемость и человекопонимание!
|
| Часовой пояс GMT +4, время: 02:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.