チェンジセット 172

差分発生行の前後
無視リスト:
コミット日時:
2007/12/21 08:08:18 (1 年前)
コミッタ:
muraken
ログメッセージ:

--

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/ColorPickUper/src/biz/muraken/ColorPickUper.as

    r168 r172  
    2929* @author               むらけん[http://www.muraken.biz/] 
    3030* @since                Flash Player 9 (ActionScript 3.0) 
    31 * @version              0.3 
     31* @version              0.4 
    3232* @history              2007.12.17      作成 
    3333*                               2007.12.19      アプローチを若干修正 
    3434*                               2007.12.20      19日の修正によるスペルミスを発見、修正。 
     35*                               2007.12.21      ループ周りの最適化 
    3536*/ 
    3637 
     
    4344                //                                                                                                                             vars 
    4445                private var setNum:uint; 
     46                private var difColor:uint = 10; 
    4547 
    4648                //___________________________________________________________________________________________________________________________________ 
    4749                //                                                                                                                              init 
    4850                public function ColorPickUper(quality:uint = 2):void{ 
    49                         if(quality == 1)setNum = 16; 
    50                         else if(quality == 2)setNum = 32; 
    51                         else if(quality == 3)setNum = 64; 
    52                         else setNum = 32; 
     51                        switch(quality){ 
     52                                case 1:setNum = 16;break; 
     53                                case 2:setNum = 32;break; 
     54                                case 3:setNum = 64;break; 
     55                                default:setNum = 32; 
     56                        } 
    5357                } 
    5458 
     
    6266                        var green:uint; 
    6367                        var blue:uint; 
    64                         var _color16:uint 
     68                        var _color16:uint; 
    6569                        var _color8:uint; 
    6670                        var _obj:Object = new Object(); 
     
    8690                private function arrayReduce(_array:Array):Array{ 
    8791                        var _obj:Object; 
     92                        var _color:uint; 
    8893                        var fix_array:Array = new Array(); 
    8994                        var flag:Boolean; 
    90                         for(var i:uint=0,len:uint=_array.length;i<len;i++){ 
    91                                 _obj = _array[i]; 
     95                        for each(_obj in _array){ 
    9296                                flag = true; 
    93                                 for(var j:uint=0,len2:Number=fix_array.length;j<len2;j++){ 
    94                                         var _cnt:int = 0; 
    95                                         _cnt += Math.abs((_obj.color >> 20) - (fix_array[j] >> 20)); 
    96                                         _cnt += Math.abs((_obj.color >> 12 & 0xF) - (fix_array[j] >> 12 & 0xF)); 
    97                                         _cnt += Math.abs((_obj.color >> 4 & 0xF) - (fix_array[j]>>4 & 0xF)); 
    98                                         if(_cnt<10){ 
    99                                                 flag = false; 
     97                                for each(_color in fix_array){ 
     98                                        if(Math.abs((_obj.color >> 20) - (_color >> 20))+Math.abs((_obj.color >> 12 & 0xF) - (_color >> 12 & 0xF))+Math.abs((_obj.color >> 4 & 0xF) - (_color >> 4 & 0xF))<difColor){ 
     99                                                flag=false; 
    100100                                                break; 
    101101                                        }