package { import flash.display.Sprite; public class Main extends Sprite { //黒色 private var color1:Number = 0x000000; //赤色 private var color2:Number = 0xff0000; public function Main():void { init(); } private function init():void { var sp:Sprite = new Sprite(); //赤と黒の中間色 var mixColor:Number = setMiddleColor(color1, color2); sp.graphics.beginFill(mixColor); sp.graphics.drawRect(0, 0, 100, 100); sp.graphics.endFill(); addChild(sp); } private function hex2rgb(n:Number):Array { var rgbArray:Array = new Array(3); rgbArray[0] = (n >> 16) & 0xff; rgbArray[1] = (n >> 8) & 0xff; rgbArray[2] = n & 0xff; return rgbArray; } private function setMiddleColor(firstColor:Number, secondColor:Number):uint { var firstRGB:Array = hex2rgb(firstColor); var secondRGB:Array = hex2rgb(secondColor); var red:Number = int((firstRGB[0] + secondRGB[0]) * 0.5); var green:Number = int((firstRGB[1] + secondRGB[1]) * 0.5); var blue:Number = int((firstRGB[2] + secondRGB[2]) * 0.5); var hex:uint = red << 16 | green << 8 | blue; return hex; } } }