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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.11.2006, 06:35
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 1  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
По умолчанию Задать нужный цвет через flash.geom.ColorTransform

Вот такая вот незадачка... Мануал читал... ничего полезного там не обнаружил, увы...
Нужно из квадратика равномерно закрашеного в цвет 0x999999 получить квадратик закрашеный в цвет 0x8FBE00. Вобщем, сымитировать то, что можно получить в properties -> color -> tint: R=143, G=190, B=0.
При чем свойство ColorTransform.rgb использовать нельзя, можно только непосредственно через задание параметров нового объекта ColorTransform. По принципу:
var _ct:ColorTransform = new ColorTransform(x, x, x, x, x, x, x, x);
Я ей богу умаялся... Или я плохо искал, или в мануале нигде не написано в чем же они меряют цвет, т.е. какие могут быть минимальные и максимальные значения. Методом проб и ошибок получаются самые дурацкие и абсолютно непредсказуемые результаты. Например, изменяя один параметр в сторону увеличения можно получить как красный так и зеленый (иногда желтый) цвет...
А что такое alphaOffset и alphaMultiplier не понятно вообще... Ни в чем измеряется, ни на что влияет...
Буду признателен за человеческое объяснение.
__________________
Hell is the possibility of sanity

Старый 07.11.2006, 09:30
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 2  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Если я правильно понял, то при перекраске ручками
properties -> color -> tint: R=143, G=190, B=0.
прозрачность выставляется 100%,
иначе не получить требуемый цвет.

То есть цвет квадратика до перекраски не имеет никакого значения,
тогда


Цитата:
New red value = (old red value * redMultiplier) + redOffset
New green value = (old green value * greenMultiplier) + greenOffset
New blue value = (old blue value * blueMultiplier) + blueOffset
New alpha value = (old alpha value * alphaMultiplier) + alphaOffset
Выставляем множители на значения старого цвета в нули
а оффсеты, это нужные значения

Код:
var myCT:ColorTransform = new ColorTransform(0, 0, 0, 0, 143, 190, 0, 255);

Старый 07.11.2006, 20:53
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
спасибо, я понял в чем была ошибка, я думал, что альфа идет перед остальными каналами, а не после...
Только, если можно, тогда еще вопрос. Multiplier'ы могут быть от 0 до 255 или до 100? (на глаз тяжело определить) =)
У оффсета может быть и отрицательное значение?
__________________
Hell is the possibility of sanity

Старый 07.11.2006, 21:00
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
В принципе они не ограничены, ставь, сколько влезет, пока есть визуальная разница.
Оффсет может быть и отрицательным.

Старый 10.01.2007, 11:08
tuzhila вне форума Посмотреть профиль Отправить личное сообщение для tuzhila Найти все сообщения от tuzhila
  № 5  
Ответить с цитированием
tuzhila

Регистрация: Dec 2005
Сообщений: 18
Умники помогите нубу

Я подгружаю .swf таким способом...

Код:
var mc0:MovieClip = this.createEmptyMovieClip ("mc0" + this.getNextHighestDepth(), this.getNextHighestDepth())
mc0._x = 866;
mc0._y = 0;
mc0.loadMovie("player/sound0s.swf");
Как программно задать параметр Tint для подгружаемого объекта?

Старый 10.01.2007, 13:10
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 6  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Код:
import flash.geom.ColorTransform;
import flash.geom.Transform;

_root.createEmptyMovieClip("c",3);
_root.c.loadMovie("333.swf");
var myCT:ColorTransform = new ColorTransform(0, 0, 0, 0, 143, 190, 0, 255);

var trans:Transform = new Transform(c);
trans.colorTransform = myCT;

Старый 10.01.2007, 13:46
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Что-то у меня есть подозрение, что это надо делать после загрузки.

tuzhila, отказаться от loadMovie и использовать MovieClipLoader. После загрузки (onLoadInit) повесить ColorTransform (пример выше, за исключением загрузки).

Старый 12.01.2007, 18:09
Twilight вне форума Посмотреть профиль Отправить личное сообщение для Twilight Найти все сообщения от Twilight
  № 8  
Ответить с цитированием
Twilight

Регистрация: Oct 2006
Сообщений: 27
Ребят, а как программно менять цвет у объекта постепенно? допустим с цвета #999999 до #E00547.
например при наведении на объект мышкой он начинает изменять цвет, а при сведении он менял цвет обратно (при чем хочется учесть то что откат цвета должен происходить с того цвета до которого объект успел видоизмениться).


Последний раз редактировалось Twilight; 12.01.2007 в 18:16.
Старый 12.01.2007, 18:24
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Код:
var _null:Number = 0x000000;
_root.onEnterFrame = function() {
	_null += 0x01;
	trace(_null);
}
__________________
Hell is the possibility of sanity

Старый 12.01.2007, 18:31
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
http://dev.etcs.ru/blog/as2/ru/etcs/...implegradient/

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

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

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


 


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


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