![]() |
Создание flash меню.
Привет всем! Такой вот вопрос, надо создать несложное меню : увеличение текста при навелении и уменьшение при отведении, при клике размер остается увеличенный. Проблема в том что текст дрожит и еще какая-то фигня происходит(( как это сделать? текст кнопки без фона должен быть
|
Вот фон сделайте прозрачной заливкой (с alpha = 0), глядишь и дрожать перестанет. Дрожит из-за того что текст при масштабировании ускользает из-под курсора. Если будет фон, то и проблемы не будет – под мышкой всегда будет "тело" кнопки.
|
Спасибо большое) а как сделать так чтоб при клике размер кнопки оставался увеличенным?
|
Не уменьшать.
|
Цитата:
Извините за оффтоп, не сдержался) |
Ну какой вопрос, такой и ответ. Уровень абстракции не нарушен).
|
Занесите все кнопки меню в массив. При нажатии на любую из кнопок пробигитесь по массиву и всем кнопкам, кроме нажатой, выставляйте уменьшенный вид.
А вообще, опишите подробней что есть ваши кнопки и как запускаете флешку. Допустим если флешка запущена через браузер и при нажатии на кнопки страница обновляется, то такой подход не прокатит. |
Всегда поражался такому подходу. А не проще сохранять ссылку на одну текущую нажатую кнопку?
А если возвращение в уменьшенное состояние это анимация? Вы будете вызывать анимацию "от большого к маленькому" у всех кнопок, надеясь что среди них окажется и ОДНА нажатая? |
Wolsh, Ваша правда. Конечно проще перезаписывать при нажатии ссылку на текущую кнопку, чем каждый раз бегать по массиву. Так вы имели ввиду?
Код AS3:
Это все приходит с опытом, спасибо за совет. |
Да, конечно.
Только не "стануБольшой" (увеличение было запущено при наведении, т.е. на ролловер), а "останусьБольшой". В этом методе (не обязательно оформлять как отдельный метод, но по возможности желательно) мы отрубаем активной кнопке всяческую реакцию на мышь, т.е. делаем removeEventListener для всех слушателей. Теперь при уходе мыши для этой кнопки не запустится анимация на роллаут, то есть в данном примере – уменьшение, и при новом наведении не запустится анимация увеличения. Кнопка остается глухой к мышке, пока мы ее не разморозим при клике на другую кнопку. То есть в вашем псевдокоде должно быть не только curBut.стануМаленькой(); но и curBut.стануСноваАктивной(); |
| Часовой пояс GMT +4, время: 23:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.