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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

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

Регистрация: Aug 2002
Сообщений: 3
По умолчанию Смешение цветов

народ, я ламо но учусь.. есть вопрос - как смешивать цвета?
суть проблемы в следующем:
у меня набо кнопок, при нажатии на которые я задаю значение переменной _root.MyColor

например, нажав на красную кнопку я получаю
_root.myColor = 0xFF0000

теперь у меня есть мувик, который я крашу этим цветом

mc0.onPress = function() {
myColor = new Color(this);
myColor.setRGB(_root.myColor);
};

и всё у меня хорошо. но...
как сделать, чтобы цвета смешивались? те если я выберу сначала 0хFF0000 а потом нажму на кнопку 0хFFFFFF, то как сделать чтобы красный стал светлее?? те что то типа 0xFF9999 ?

смешивание не обязательно должно быть правильным.. может нужно просто складывать значения RGB в десятичной системе?

заранее признателен!

Старый 17.10.2002, 11:18
wwwita вне форума Посмотреть профиль Отправить личное сообщение для wwwita Найти все сообщения от wwwita
  № 2  
wwwita

Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
пробуй

на самом деле е совсем поятно что ты хочешь делать ....

если просто светлее тогда тебе подойдет лучше наверное Trasform *за точное название не ручаюсь* (там ещё альфа добавляется) ...... а так.... если просто смешение... то попробуй вычесть одно значение из другого (складывать лучше не стоит .. геморроя много) ....
__________________
вот.

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

Регистрация: Aug 2002
Сообщений: 3
есть линк. чтобы было понятнее, стоит поиграться с красками. мне очень нужно знать как там цвета смешиваются.

http://pbskids.org/sagwa/color/paint/index_paint.html

есть идеи?
вроде складывать значения RGB не катит. так например красный - r=255 g=0 b=0, а если сложить его с белым (r=o, g=0, b=0) то я не получу более светлого красного..

Старый 17.10.2002, 13:00
wwwita вне форума Посмотреть профиль Отправить личное сообщение для wwwita Найти все сообщения от wwwita
  № 4  
wwwita

Регистрация: Mar 2002
Адрес: Питер
Сообщений: 320
там весь прикол в кисточке

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

что касается более белого ... то он будет ближе к FFFFFF а не к 000000 (это черный) ....
посмотри исходники ... там вроде что-то было подобное ....
__________________
вот.

Старый 17.10.2002, 13:08
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 5  
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
меняй просто динамически значения переменной _root.myColor, то есть если у тебя кнопка, то при нажатии на нее присваивай переменной новое значение.

ну а светлее открытый красный при таком способе изменения цвета по моему стать не может, только если ты изменишь альфу, а бэкграунд у тебя при этом белый. Вот если использовать процентные соотношения r, g, b тогда другое дело...


Последний раз редактировалось derhab; 17.10.2002 в 13:13.
Старый 17.10.2002, 14:12
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 6  
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
прошу прощения)), че то я запарился, альфа здесь не при чем, можно конечно высветлять цвет и так.

Старый 17.10.2002, 15:37
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 7  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
чтобы осветлить цвет нужно всего лишь пропорционально увеличить значения RR, GG и BB...
чтобы сделать темнее, соответственно, наоборот...
типа вот так: (запустить и поелозить мышкой по сцене =) )
Код:
rgb = function (obj) {
	return (obj.r << 16 | obj.g << 8 | obj.b);
};
tellTarget (a=createEmptyMovieClip("test", 1)) {
	lineStyle(100);
	moveTo(50, 50);
	lineTo(50.15, 50);
	col = new Color(this);
	control = {r:255, g:0, b:0};
	fade = 1;
	col.setRGB(_root.rgb(control));
}
a.onMouseMove = function() {
	tellTarget (this) {
		control.g += fade;
		control.b += fade;
		col.setRGB(_root.rgb(control));
		if (!(control.g%255)) {
			fade *= -1;
		}
	}
};

можно еще извратиться -
взять функцию, которая переводит значения цветов из RGB системы в систему HSB - тогда чтобы сделать цвет светлее-темнее нужно будет менять всего один параметр.

про HSB смотреть здесь =)

если тебе нужно не просто светлее-темнее - то тебе точно нужна система HSB: в радиальной палитре всего один параметр отвечает за оттенок цвета. то есть меняя один-единственный параметр можно получить любой из 16777215 цветов =)


Последний раз редактировалось Nox Noctis; 17.10.2002 в 15:40.
Старый 18.10.2002, 18:32
Nomad вне форума Посмотреть профиль Отправить личное сообщение для Nomad Найти все сообщения от Nomad
  № 8  
Nomad

Регистрация: Aug 2002
Сообщений: 3
По умолчанию 2 Nox Noctis

это всё прикольно, но тк я ламо то найти применения пока этому ещё не смог.
у меня проблема в том, что мне нужно именно смешивать два цвета. осветление красного это просто пример.. плз глянь сюда - http://pbskids.org/sagwa/color/paint/index_paint.html - мож ты знаешь каким макаром там краски мешаются?
те там ты можешь сначала выбрать красный, а потом если нажмёшь на белый, красный начёт светлеть. чтобы получить белый надо нажать на кнопку несколько раз подряд..
плз, посомтри линк... может ты поймёшь о чём я

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

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

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


 


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


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