package {
import flash.geom.ColorTransform; class Colourise extends ColorTransform { function Colourise( iTint:uint = 0xffffff, iTint2:uint = 0x000000, fAMult:Number = 1 ) { var fRed:Number, fGreen:Number, fBlue:Number; // white to iTint, black to iTint2 fRed = ((iTint >>> 16) & 0xff) / 255; fGreen = ((iTint >>> 8) & 0xff) / 255; fBlue = (iTint & 0xff) / 255; redOffset = (iTint2 >>> 16) & 0xff; greenOffset = (iTint2 >>> 8) & 0xff; blueOffset = iTint2 & 0xff; redMultiplier = fRed - redOffset / 255; greenMultiplier = fGreen - greenOffset / 255; blueMultiplier = fBlue - blueOffset / 255; alphaMultiplier = fAMult; alphaOffset = 0; } } }This makes it easy to create and use a ColorTransform. For example the following code from today, which creates a coloured dot to apply to another BitmapData:
dat = gGuns.gGfx.datSpellD.clone(); dat.colorTransform(dat.rect, new Colourise(Col.aSpells[Magic.eRed], Col.cBlack)); bitmapData.draw(dat, new Matrix(1, 0, 0, 1, 1 + iIcon * 7, 1));
No comments:
Post a Comment