Forked from: Nicolas's forked from: forked from: flash on 2009-5-8 暗いタイル.. diff:6 暗いタイルでは文字を白く(HLS版+重み付け) Nicolas forked:0favorite:2lines:42license : All rights reserved modified : 2009-05-09 21:13:49 Embed Tweet // forked from Nicolas's forked from: forked from: flash on 2009-5-8 暗いタイルでは文字を白く(HLS版) // forked from nicolas's forked from: flash on 2009-5-8 暗いタイルでは文字を白く // forked from hacker_tanaka's flash on 2009-5-8 package { import flash.display.*; import flash.text.TextField; import flash.text.TextFormat; import flash.events.MouseEvent; public class gameTile extends Sprite { private static const linenum:Number = 4; private static const spr_size:int = 50; public function gameTile () { for(var i:int = 0;i < linenum*linenum;i++){ var spr:Sprite = new Sprite(); //色 var color:uint = Math.random()*0xFFFFFF; var red:uint = (color & 0xFF0000) >>16; var green:uint = (color & 0x00FF00) >>8; var blue:uint = color & 0xFF; //輝度(RGB重み付け平均) var luminance:Number = red*0.29891 + green*0.58661 + blue*0.11448; spr.graphics.beginFill(color); spr.graphics.drawRect(0,0,spr_size,spr_size); spr.graphics.endFill(); spr.x = spr_size*(i%linenum); spr.y = spr_size*(Math.floor(i/linenum)); addChild(spr); var arr:Array = new Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); var arrLength:int = arr.length; //閾値 const threshold:uint = 0x66; for (var arr_i:int=0; arr_i<arrLength; arr_i++){ var rnd:int = Math.random() * arr.length; var sprText:TextField = new TextField(); var format:TextFormat = new TextFormat(); format.size = 20; sprText.defaultTextFormat = format; sprText.text = arr[rnd]; //輝度<閾値なら文字色を白に if(luminance < threshold) { sprText.textColor = 0xFFFFFF; } arr.splice(rnd,1); } spr.addChild(sprText); } } } } Code Fullscreen Preview Fullscreen nyamogera jkltf : color color threshold color splice drawRect TextFormat Math.floor endFill beginFill size length text addChild Array uint Math.random Sprite Number int