2012-01-08 4 views
3

У меня есть спрайт для проекта, над которым я работаю, и мне нужно изменить оттенок изображения, чтобы я мог выделить пространство. Изображение имеет простую текстуру, но оно будет отображаться в 5 разных цветах. Я приложил изображение, чтобы увидеть именно то, что я говорю: http://i42.tinypic.com/29443l5.pngAS3 Tint Bitmap

Я пытался добиться моего желаемого эффекта с помощью этого на полученном спрайта:

var c:ColorTransform = new ColorTransform(); 
c.color = 0xf30909; 
transform.colorTransform = c; 

Но я все красное, а не как я хочу. Я создаю для AIR, поэтому пакет fl.motion.Color не может быть импортирован (или, по крайней мере, Flash Builder 4.5 не имеет его). Любая идея о том, как я могу достичь желаемого эффекта? Благодарю.

ответ

3

Свойство color устанавливает смещение, то есть он делает ColorTransform добавить значение цвета изображения. Вероятно, вы захотите использовать свойства Multiplier. См. ColorTransform documentation.

+0

Да! Это то, что мне нужно. Теперь мне нужно увидеть только точные значения ... но это еще одна история. Благодарю. –

6

Просто для полноты картины ...

public function Tint(display:DisplayObject, color:uint) { 
    display.transform.colorTransform = new ColorTransform(color >> 16 & 0x0000FF/255, color >> 8 & 0x0000FF/255, color & 0x0000FF/255); 
} 
+1

Спасибо, что помогли начать работу с *** рабочего примера ***! – Bitterblue

+0

Спасибо! Именно для этого я и приехал. – bunnybare