![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2003
Адрес: Odessa
Сообщений: 30
|
Привет всем.
Кто нить знает как можно реализовать заливку объекта определенным цветом. Есть объекты, есть текстовый файл со значениями. Надо каждый объект залить цветом соответствующим значению. Чем выше значение, тем насыщенее цвет. К примеру самое маленькое значение соответствует белому цвету, а самое большое значение какомунибудь темному. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
Color.setRGB
Color.setTransform MovieClip.beginFill MovieClip.beginGradientFill |
|
|||||
|
Регистрация: Oct 2003
Адрес: Odessa
Сообщений: 30
|
Привет Nox Noctis
Не подкинешь ли какой нибудь простенький примерчик? ![]() |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
мне кажется F1 спасет отца русской демократии :)
прочитай про эти функции, узнай что из этого тебе нужно, а потом задай конкретные вопросы, ага ? :) что тебе не понятно - как грузить из текстовика, как красить, или как задать нужный цвет ? только не говори что все вместе... |
|
|||||
|
Регистрация: Oct 2003
Адрес: Odessa
Сообщений: 30
|
Из файла данные (b1=100&b2=50&b3=78&b4=941)
я загружаю так loadVariablesNum("data.txt", 0); После мне надо каждому из объектов передать по параметру которые и будут определять цвет заливки. Вот кусок кода для заливки, но мне кажется что он неправильный(работает как-то не так): ----------------------------------- c1 = b1;//(ValueMin*ValueMax)/ColorMax; c2 = 255; c3 = 255; RGB = (c1 << 16 | c2 << 8 | c3); myColor = new Color(b1); myColor.setRGB(RGB); } ------------------------------------- |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
loadVariablesNum можно, но не удобно, имхо..
лучше посмотри как грузить при помощи объекта XML или LoadVars, и события onData (поищи в разделе экшнскрипт - там точно есть) c1 = b1; ..... myColor = new Color(b1); что это за бред ? :)) так b1 это у тебя число или имя клипа ? в параметре конструктора Color должен быть клип. а цвет у тебя составляется вполне правильно... чтобы сделать градацию от белого к нужному цвету, тебе нужно менять все три компонента цвета от 255 до нужных значений |
|
|||||
|
Регистрация: Oct 2003
Адрес: Odessa
Сообщений: 30
|
c1 = b1;
по идее с1 присваивается параметр b1 из txt myColor = new Color(bc1); а здесь вместо b1 должен быть клип, я случайно прислал старый код, SORRY. Подскажи как поменять все три компонента цвета с помощью одного значения, здесь это b1 |
|
|||||
|
Регистрация: Oct 2003
Адрес: Odessa
Сообщений: 30
|
Ну ладно,пока.
Мне уже надо уходить, завтра допоговорим. ![]() |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
c1 = Number(b1);
потому как из файла все прочитается строками.. а с цветом - я не очень понял что тебе надо. вообще - должно работать и так.. |
|
|||||
|
Регистрация: Oct 2003
Адрес: Odessa
Сообщений: 30
|
Да это будет более правильно.
Но у меня возникла другая проблема, числа которые я считываю не всегда целые, попадаются и дробные (100,8;65,9). Я пробовал с помощью Math.round но нихрена не округляется. А насчет цвета надо сделать чем меньше значение тем менее насыщенный цвет, чем больше значение тем более насыщенный цвет. btext1=bc1; c1 = 255; c2 = Number(bc1); c3 = 255; if (c2 >=255){ c2=255}; RGB = (c1 << 16 | c2 << 8 | c3); myColor = new Color(b1); myColor.setRGB(RGB); Этот код работает, но различие между значениями не очень заметно к примеру различие между 100 и 150 не очень заметно. Тем более неработает округление переменной.!!! |
![]() |
Часовой пояс GMT +4, время: 17:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|