|
|
|||||
Регистрация: Mar 2010
Сообщений: 51
|
Как сделать обычную кнопку?
Я знаю про методики типа создания Sprite, и прикручивания всего нужного для имитации кнопки к нему, но я нашёл такой метод в интернете:
он у меня почему-то не работает. Как вообще можно чисто программным способом создать кнопку? Я работаю в FlashDevelop, c flex_sdk_4.1. Наверняка ведь есть способ сделать обычную простую кнопку с текстом, без всяких докручиваний Sprite. |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Проще простого.
Работает как часы. |
|
|||||
Регистрация: Mar 2010
Сообщений: 51
|
Цитата:
Добавлено через 49 секунд Мда, ну это ведь тоже изврат, стандартной кнопки для использования из ActionScript нет нормальной? |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
|
|
|||||
стандартная кнопка есть в стандартных компонентах. Кроме этого, в них ещё много чего стандартного
|
|
|||||
Ну че изврат сразу. У меня например тоже класс кнопки есть.
Называется скромно и со вкусом: UniversalButton. (Вообще типа универсальный батон, но можно и как космический читать кому как приятнее) На самом деле является не кнопкой, а оберткой вида кнопки на любой DisplayObject. Делается примерно так(это конструктор): UniversalButton(_source:DisplayObject = null, _simple:Boolean = false, _clickFunc:Function = null, _inactiveColor:int = 0x000000, _activeColor:int = 0xffffff) имеет статусы активная/неактивная. татлу меняет цвет (берет из конструктора), а иконке переключает кадр (первый неактивный, второй активный) _simple - это значит что простая кнопка, без тайтла и без иконки (влияет на эффекты при наведении и клике). По клику вызывает функцию указанную в конструкторе, в качестве параметра в которую передает свой идентификатор. В работе сей неказистый класс на 80 строк зарекомендовал себя отлично. И минус стопицот геморроя в отличии от работы со стандартными кнопками. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Это отвратительно что callback на клик задаётся явно.
Это значит что используя Вашу кнопку я не смогу вменяемо контролировать поток мышинных событий - тут запретить, тут продолжить, тут прекратить, а тут подписаться аж на 2 обработчика. Мне придется всегда занулять _clickFunc, и подписывать сам объект DisplayObject`а (предварительно, конечно, обёртывая его в спрайт если это не IneractiveObject - хотя это должна быть обязанность кнопки).
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Цитата:
А навешать дополнительно слушателей вам никто не запрещает даже с такой структурой. Так что комментарий по меньшей мере непонятен. Данная кнопка перехватывает только маусОвер, маусКлик (рисует эффектик и передает в эту самую функцию свой идентификатор) и маусАут... собственно всё. Эти все обработчики событий занимаются только визуальной частью, если вам нужно на маусОвер повесить что-то функциональное - то без проблем, конфликтов не будет (есть подобная практика в работе с данным классом). С кликом я вообще проблем не вижу. Редко когда мне нужно получить из MouseEvent.CLICK что-то окромя e.target - этот самый таргет я и принимаю в функции обработчике родительского класса. |
Часовой пояс GMT +4, время: 12:52. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|