2012-01-08 108 views
3

我有一個項目我正在工作的spritesheet,我需要能夠改變圖像的色調,所以我可以選擇空間。圖像上有一些簡單的紋理,但它會以5種不同的顏色顯示。我附有圖片,看看到底是什麼我談論:http://i42.tinypic.com/29443l5.pngAS3色調位圖

我試圖對得到的精靈以此來達到我想要的效果:

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

是的!那是我需要的。現在我只需要看到所需的確切數值......但這是另一回事。謝謝。 – 2012-01-08 18:00:19

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 2014-06-04 06:37:09

+0

謝謝!恰恰是我來到這裏的。 – bunnybare 2016-06-03 22:47:59