Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.12.2010, 11:29
kolektor вне форума Посмотреть профиль Отправить личное сообщение для kolektor Найти все сообщения от kolektor
  № 1  
Ответить с цитированием
kolektor

Регистрация: Dec 2010
Сообщений: 7
По умолчанию изменить цвет фигуры

Здравствуйте, продолжаю прошлую тему, снова возник вопрос:

Имеется множество разноцветных кнопок/клипов, при наведении на них курсором, они меняют цвет:

Код AS3:
function over(event:MouseEvent)
{
	var str:String = event.target.name;
	root[str].transform.colorTransform = new ColorTransform(0.996,0.478,0.082);
 
}
А при убирании курсора с кнопки, она должна опять стать прошлым цветом, заново задавать цвет на MOUSE_OUT не вариант, т.к. все кнопки разноцветные.

Как лучше наложить цвет на кнопку при наведении и вернуть первоначальный при потери? Может лучше созданием дубликата кнопки поверх, но другого цвета, и потом удаления её?

Спасибо.

Старый 19.12.2010, 12:35
Lyso вне форума Посмотреть профиль Отправить личное сообщение для Lyso Посетить домашнюю страницу Lyso Найти все сообщения от Lyso
  № 2  
Ответить с цитированием
Lyso

Регистрация: Sep 2010
Адрес: Красноярск
Сообщений: 217
Отправить сообщение для Lyso с помощью Skype™
1) Сделать каждую кнопку отдельный "button".
2) Можно сделать и плавное убирание цвета, как в этом уроке: http://easyflash.org/flashlearn/flas...elat_menu.html
Там сделано две "кнопки" и одна теряла непрозрачность (alpha) и тем самым плавно появлялась другая.
3) Почему бы не сделать выбор случайного цвета? И эффект будет лучше и красиво будет получаться.
Код AS3:
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(...)"
И.т.д...

Старый 19.12.2010, 15:07
kolektor вне форума Посмотреть профиль Отправить личное сообщение для kolektor Найти все сообщения от kolektor
  № 3  
Ответить с цитированием
kolektor

Регистрация: Dec 2010
Сообщений: 7
Lyso, на каждую кнопку вешать свой обработчик точно не вариант, там будет далеко за сто кнопок.
Случайный цвет тоже не подходит, каждая должна подстветиться одним установленным цветом при наведении и потом вернуться потом к первоначальному.
Плавное появление/исчезание тоже не нужно, когда их более 100, и каждая будет плавно менять цвет - по-моему будет эффект, что всё как-то тормозит, имх.
Пока что склоняюсь к duplicateMovieClip (или как это сейчас называется в as3), но думаю можно как-нибудь попроще сделать.

Старый 19.12.2010, 15:14
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 4  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Можно для кноппок создать свой класс, при этом в экземплярах храниь нужные цветовые настройки и при роловерах и пр. просто дергать их (либо через методы, либо сами значения)
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 19.12.2010, 15:17
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 5  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
А можно поместить все кнопки в контейнер, сделать контейнеру один обработчик и смотреть на e.target.
__________________
тут я

Старый 19.12.2010, 15:32
kolektor вне форума Посмотреть профиль Отправить личное сообщение для kolektor Найти все сообщения от kolektor
  № 6  
Ответить с цитированием
kolektor

Регистрация: Dec 2010
Сообщений: 7
КорДум, сейчас как раз один обработчик для всех кнопок, описан в первом посте. Цвета он отлично меняет, но как потом обратно вернуть

TanaTiX, конкретных цветовых настроек нету, если я правильно понял о чём речь. Цвета для кнопок задаются программно, т.е. сегодня одна кнопка может быть красной, а завтра уже зелёной/синей/другой.

Старый 19.12.2010, 15:53
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 7  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Цитата:
2. Когда мы меняем цвет обьекта через тинт то крассится он весь, если задать значение вместо цвета null то обьект приобритет оригинальный цвет. Как пример:
Код AS3:
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 } );
 }
Цитата:
Как можно догадаться проверял на твинлайте, оригинальную смену цвета через колортрансформа не рпобовал, но думаю тоже будет работать.

Старый 19.12.2010, 15:57
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
nOobCrafter, e.currentTarget поменяет цвета у всего, что есть в контейнере.
__________________
тут я


Последний раз редактировалось КорДум; 19.12.2010 в 16:01.
Старый 19.12.2010, 16:05
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 9  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
КорДум на так можно ж подписать то что надо, например фон у этой кнопки

Старый 19.12.2010, 16:07
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 10  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Так это, придется 100 * 2 обработчиков делать, когда можно сделать два у контейнера и смотреть на e.target
__________________
тут я

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:49.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:49.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.