![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Dec 2010
Сообщений: 7
|
Здравствуйте, продолжаю прошлую тему, снова возник вопрос:
Имеется множество разноцветных кнопок/клипов, при наведении на них курсором, они меняют цвет: function over(event:MouseEvent) { var str:String = event.target.name; root[str].transform.colorTransform = new ColorTransform(0.996,0.478,0.082); } Как лучше наложить цвет на кнопку при наведении и вернуть первоначальный при потери? Может лучше созданием дубликата кнопки поверх, но другого цвета, и потом удаления её? Спасибо. |
|
|||||
|
1) Сделать каждую кнопку отдельный "button".
2) Можно сделать и плавное убирание цвета, как в этом уроке: http://easyflash.org/flashlearn/flas...elat_menu.html Там сделано две "кнопки" и одна теряла непрозрачность (alpha) и тем самым плавно появлялась другая. 3) Почему бы не сделать выбор случайного цвета? И эффект будет лучше и красиво будет получаться. var colorTransform:ColorTransform = new ColorTransform(); colorTransform.alphaMultiplier = 1; colorTransform.redOffset = Math.random() * 16 + 25; colorTransform.greenMultiplier = Math.random() * 3; transform.colorTransform = colorTransform; И вообще, почему бы просто не сделать на каждую кнопку своё действие типа: "button1.addEventListener(...)" "button2.addEventListener(...)" "button3.addEventListener(...)" И.т.д... |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 7
|
Lyso, на каждую кнопку вешать свой обработчик точно не вариант, там будет далеко за сто кнопок.
Случайный цвет тоже не подходит, каждая должна подстветиться одним установленным цветом при наведении и потом вернуться потом к первоначальному. Плавное появление/исчезание тоже не нужно, когда их более 100, и каждая будет плавно менять цвет - по-моему будет эффект, что всё как-то тормозит, имх. Пока что склоняюсь к duplicateMovieClip (или как это сейчас называется в as3), но думаю можно как-нибудь попроще сделать. |
|
|||||
|
Можно для кноппок создать свой класс, при этом в экземплярах храниь нужные цветовые настройки и при роловерах и пр. просто дергать их (либо через методы, либо сами значения)
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 7
|
КорДум, сейчас как раз один обработчик для всех кнопок, описан в первом посте. Цвета он отлично меняет, но как потом обратно вернуть
![]() TanaTiX, конкретных цветовых настроек нету, если я правильно понял о чём речь. Цвета для кнопок задаются программно, т.е. сегодня одна кнопка может быть красной, а завтра уже зелёной/синей/другой. |
|
|||||
|
Цитата:
CODE private function onOverHandler(e:MouseEvent):void { TweenLite.to(e.currentTarget, ApplicationData.TIME_A, { tint : 0xCCCCCC} ); } private function onOutHandler(e:MouseEvent):void { TweenLite.to(e.currentTarget, ApplicationData.TIME_A, { tint : null } ); } Цитата:
|
|
|||||
|
Регистрация: Dec 2010
Сообщений: 7
|
Цитата:
function over(event:MouseEvent) { var st:String = event.target.name; root[st].transform.colorTransform = new ColorTransform(0.996,0.478,0.082); } function out(event:MouseEvent) { var st:String = event.target.name; root[st].transform.colorTransform = new ColorTransform(); } Спасибо! Добавлено через 4 часа 52 минуты Получилось, да не совсем то, что хотелось бы.. Цвета задаются: 1. Рисуется вручную кнопка любого цвета. 2. Программно изменяется цвет кнопки. 3. Меняется цвет при наведении мыши. Так вот с этой конструкцией (что выше) после того, как отвели мышь от кнопки, цвет становится первоначальным, как он был нарисован вручную, что логично ![]() А нужен тот, который был задан программно. И снова жду ваших гениальных идей ![]() Кое-чего придумал, пока что неактуально. Наложил и ColorTransform, и TweenLite. Последний раз редактировалось kolektor; 19.12.2010 в 23:25. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|