![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 85
|
На мувик пишу
onClipEvent(load){ my_color = new Color(this); my_color.setRGB(0xEEEEEE); } onClipEvent(enterFrame){ if (this.hitTest( _root._xmouse, _root._ymouse, true )){ my_color.setRGB(0xD2EBFC); } else my_color.setRGB(0xEEEEEE); } А как зделать чтобы при hitTest был переход от одного цвета к другому плавный туда и обратно (примерно за 5 кадров) как при motion только скриптом? Спасибо Последний раз редактировалось Dr. Flare; 29.07.2004 в 09:20. |
|
|||||
|
Насколько я вкурсе этим способом динамически ,тойсть плавно изменить цвет нельзя.Я когда-то давно делал феньку с изменением цветов.Для этого я использовал вот что:
myColor = new Color(myMovie) newColor = new Object(); newColor.rb = 244 //красная компонента newColor.gb = 112 //зелёная компонента newColor.bb = 90 //синяя компонента myColor.setTransform(newColor); Потом я заменил числа на переменные типо того: newColor.rb = varR newColor.gb = varG newColor.bb = varG И таким образом плавно изменяя эти переменные до нужного значения можно добиться желаемого результата. А вообще про это подробно в хэлпе написано.
__________________
Он манэ падмэ ХУМ! |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
но есть способ лучше :)
основная проблема тут в том, что RGB - это удобная машинная цветовая система, но с точки зрения банальной эрудиции она неудобна и не особо логична :) например чтобы сделать плавный переход по спектру от оранжевого к фиолетовому в RGB придется изобретать велосипед. но есть еще много всяких систем представления цвета - например HSL (или HSB). это более наглядная система: (насыщенность)-(базовый цвет)-(яркость) соответственно для плавного перехода между цветами одинаковой насыщенности и яркости достаточно менять всего один параметр - базовый цвет. взять методы перевода представления цветов из одной системы в другую можно, например, у питера холла |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 85
|
Ого.
Ну вы меня пригрузили. Если честно я то думал что все еть намного проще. А так как я ActionScript знаю пока еще не очень хорошо и приминить его могу только в ограниченно сложных (необходимых) случаях то разобраться в том что я нашел у Питера Холла я просто не смогу. А если даже смогу, то в каком-то готовом примерчике. В общем спасибо Вам за помощь. Придется в каждом мувике делать анимацию по изменению цвета. |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 85
|
Так ладно с этим разобрались.
В общем я делаю карту Казахстана по областям. (см. файл) Вот мне еще кое-что интересно. В приложенном файле я на каждый мувик поставил один и тот-же скрипт, но можно же зделать прототипами и я попытался, но у меня не получилось (в файле есть отдельная область с надписью) на нее я пытался и влепить, а если бы получилось, то влепил бы на все . Посмотрите файл может поправите?Спасибо. |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 85
|
Файл забыл прикрепить
![]() |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 85
|
2 silin
Оригинальное решение (номирами instance писать - на самом деле удобнее) - я бы не додумался. Спасибо большое. Но все же мне интересно почему в моем примере прототип не работал? А если не цифрами instance делать, то как тогда на все прототип поставить? На счет примерчика с цветами - круто - но для меня далековато Спасибо еще раз.Не вините меня - надеюсь в скором будущем я с Вами сравняюсь ![]() |
|
|||||
|
в твоем примере прототип задом наперед написан (посмотри внимательно)
и вызывается так, что по любому не может выполниться (onClipEvent (enterFrame) {this. map_enter();}) если мувики поименованы по всякому, можно создать массив ссылок на них (mc_a=[this.a,this.b,this.c]) и работать уже с ним :mc_a[0], mc_a[1] .. а можно массив имен name_a=["a","b","c"] и обращаться к мувикам: this[name_a[0]], this[name_a[1]].. |
|
|||||
|
Регистрация: Jun 2004
Сообщений: 85
|
Спасибо понял.
![]() |
![]() |
Часовой пояс GMT +4, время: 19:18. |
|
|
« Предыдущая тема | Следующая тема » |
|
|