2016-05-31 11 views
0

я имел обыкновение использовать много фильтров в Animate, и это было великолепно, потому что я мог бы сделать цветной фильтр вручную, посмотреть, что это выглядит, а затем интегрировать код в это тоже, например:Способ обработки цветов визуально/вручную И с кодом, в Flash/Анимация?

object.filters = e.currentTarget.filters; 

Но я стараюсь быть хорошим и держаться подальше от фильтров, чтобы уменьшить мощность обработки и т. Д. Кроме того, фильтры не принимают шестнадцатеричные коды. Поэтому я пытаюсь использовать colorTransforms. Но теперь все становится очень неудобно, потому что я выясняю, какие цвета я хочу, записываю все шестнадцатеричные коды в Блокноте, а затем пишу код, чтобы преобразовать вещи в этот цвет. И я все еще не могу ВИДЕТЬ цвета, взаимодействующие до публикации файла. Разве нет некорректного способа ручной работы с colorTransforms? Возможно, расширенный раздел в разделе «Эффект цвета» -> «Стиль»?

Как я себе представляю, что это происходит в моей фантазии: У меня есть несколько мувиклипов, которые взаимодействуют, чтобы создать образец ткани. Я возиться с ColorTransform или как-нибудь применить шестнадцатеричный код к ним вручную (не динамически в коде), а затем я могу использовать эти образцы динамически окрасить другие вещи, что-то вроде:

newFabric.topPattern.colorTransform.color = fabricSwatch.topPattern.colorTransform.color; 

Я знаю, что могу это сделать если я добавил цвет с использованием кода в первую очередь .. но есть ли способ добавить цвет на сцену/визуально/вручную, а затем прокрутить его вперед? Я знаю, что могу нарисовать растровое изображение и образец цвета пикселя, но у моделей все очень хорошие, разные сложные формы и прозрачные &, поэтому здесь не будет работать:/

ответ

0

Ok! Я нашел обходное решение! \ o/

Я могу редактировать оттенок вручную и даже вводить шестнадцатеричный код или бросать в глаза цвет из моей предварительно сделанной палитры. Я просто должен установить для параметра «Оттенок» значение Tint до 100%. (Color Effect -> Стиль: Оттенок)

Теперь я просто использовать код ColorTransform и он может тянуть мой вручную помещен Оттенок, и передать его другим пунктам:

grl.overlay.shapes.transform.colorTransform = e.currentTarget.shapes.transform.colorTransform; 

Я даже не придется измените мой код И это лучше, чем фильтры, поскольку я могу вводить шестнадцатеричные коды. Я не знаю, как это будет по производительности по сравнению с фильтрами, но кто-то просто сказал мне, что не должно быть слишком плохо, так как ничего не оживляет. Я так счастлив :)

0

Есть много учебников для использования colortransforms - как this one.

Что касается использования шестицветных цветов, вы можете легко и легко преобразовать между различными цветовыми представлениями. Простой поиск в Google показал этот snippet:

var brightPinkHex:uint = 0xFF32CC; 
var brightPinkRGB:Object = HexToRGB(brightPinkHex); 
trace(brightPinkRGB.r+ ", " + brightPinkRGB.g + ", " + brightPinkRGB.b); 

function HexToRGB(value:uint):Object { 
    var rgb:Object = new Object(); 
    rgb.r = (value >> 16) & 0xFF 
    rgb.g = (value >> 8) & 0xFF 
    rgb.b = value & 0xFF    
    return rgb; 
} 

// OUTPUT 
// 255, 50, 204 
+0

Спасибо .. но как вы взаимодействуете между изменением шестнадцатеричных кодов на сцене и кодом? –

+0

«В отличие от большинства других простых свойств, таких как альфа, x, y, ширина и высота, цвет объекта нельзя напрямую изменить на самом объекте». Есть ли какая-нибудь работа вокруг этого? –

 Смежные вопросы

  • Нет связанных вопросов^_^