Tutorials:修改图片的颜色
来自Starling中文站
http://wiki.starling-framework.org/tutorials/modifying_the_color_of_an_image
你曾经是否对Starling的Image类为什么有一个color属性而感到疑惑不解?的确,你可以用这个属性来对一个纹理着任何色!
这个时候,它可以用在不用物件上,比如感兴趣的加亮物件上,我想展示给你一个特别有用的方法来保存纹理空间。
比方说你有一个类似“同色游戏”或“俄罗斯方块”中包含大量不同颜色区块这样风格的游戏。由于有了Image的color属性,你仅仅需要创建一个诸如白色图像的区块。为了在屏幕上显示真实的区块,你只需要设定它的颜色即可。 代码如下:
[Embed(source="white_block.png")] private var EmbeddedTexture:Class; var blockTexture:Texture = Texture.fromBitmap(new EmbeddedTexture()); var redBlock:Image = new Image(blockTexture); redBlock.color = Color.RED; var greenBlock:Image = new Image(blockTexture); greenBlock.color = Color.GREEN; // etc.!
输出的颜色,是纹理中一个像素颜色与方盒颜色乘积的结果。那意味着这样的话你永远不能使用color属性来使纹理看起来更亮,而是更暗淡。(这是因为这个乘法的两侧都含有0到1的值。要使颜色更亮,你得用一个大于1的值来乘以它!)
翻译: 郭必江(begun kwok)