チェンジセット 1481: as3/gunyarapaint/trunk

差分発生行の前後
無視リスト:
コミット日時:
2008/10/02 06:20:22 (5 年前)
コミッタ:
tasuku
ログメッセージ:

bug fixed on alpha/blendMode not setted in "tuduki wo kaku"

ファイル:

凡例:

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

    r1480 r1481  
    1 private const DEBUG:Boolean = false; 
     1private const DEBUG:Boolean = true; 
    22 
    33import flash.events.Event; 
     
    4848  } 
    4949 
    50   /* 
    51   parameters['oekakiId'] = 1; 
    52   parameters['baseImgUrl'] = 'http://dic.dev.nicovideo.jp/oekaki_layers/1'; 
    53   parameters['baseImgInfoUrl'] = 'http://dic.dev.nicovideo.jp/oekaki_info/1'; 
    54   */ 
     50  parameters['oekakiId'] = 26; 
     51  parameters['baseImgUrl'] = 'http://dic.dev.nicovideo.jp/oekaki_layers/26'; 
     52  parameters['baseImgInfoUrl'] = 'http://dic.dev.nicovideo.jp/oekaki_info/26'; 
    5553   
    5654  this.enabled = false; 
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/GPCanvas.as

    r1472 r1481  
    467467      _layers.targetLayerBlendMode = blendMode; 
    468468    } 
     469    public function layerChangeAlpha(alpha:Number):void { 
     470      _layers.targetLayerAlpha = alpha;       
     471    } 
    469472         
    470473        public function get logger():GPLogger { 
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/GPLayerWindowControlScript.as

    r1179 r1481  
    1 import org.libspark.gunyarapaint.controls.GPCanvas; 
    2 import org.libspark.gunyarapaint.entities.GPLayerArray; 
    3 import org.libspark.gunyarapaint.utils.ComponentResizer; 
    4  
    51import mx.collections.ArrayCollection; 
    62import mx.events.DragEvent; 
     
    84import mx.events.ListEvent; 
    95import mx.events.SliderEvent; 
     6 
     7import org.libspark.gunyarapaint.controls.GPCanvas; 
     8import org.libspark.gunyarapaint.entities.GPLayerArray; 
     9import org.libspark.gunyarapaint.utils.ComponentResizer; 
    1010 
    1111private var _canvas:GPCanvas; 
     
    5353  this.enabled = true; 
    5454  syncWithLayersAlphaBlend(); 
    55   layerDataGrid.selectedIndex = 0; 
    56   /* 
    57   [ 
    58     {visible: 'on', lock: 'off', mask: 'on', name: '基本レイヤ'}, 
    59   ]; 
    60   */ 
     55  layerDataGrid.selectedIndex = _layers.selectedIndexForDataProvider; 
     56  alphaSlider.value = _layers.targetLayerAlpha; 
     57  for (var i:uint = 0; i < blendModeComboBox.dataProvider.length; i++) { 
     58    if (blendModeComboBox.dataProvider[i].data == _layers.targetLayerBlendMode) { 
     59      blendModeComboBox.selectedIndex = i; 
     60    } 
     61  } 
    6162} 
    6263 
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLayer.as

    r1472 r1481  
    8989      _show = b; 
    9090      _bitmap.visible = _show; 
     91      // Layerのチェックボックスから直接編集される場合があるので、ここでログをとる 
    9192      _canvas.logWrite(['layerChangeVisible', _index, _show]); 
    9293    } 
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLayerArray.as

    r1477 r1481  
    6868                          info.layer_infos[i].visible == 'true', 
    6969                          info.layer_infos[i].lock == 'true', 
    70                           info.layer_infos[i].blendMode 
     70                          info.layer_infos[i].blendMode, 
     71                          info.layer_infos[i].alpha 
    7172                         ); 
    7273        } else { 
     
    114115    public function changeVisible(target:uint, b:Boolean):void { 
    115116      _a[target].show = b; 
     117      recombine(); 
    116118    } 
    117119     
     
    221223          'lock': _a[i].lock ? 'true' : 'false', 
    222224          'visible': _a[i].show ? 'true' : 'false', 
    223           'blendMode': _a[i].blendMode 
     225          'blendMode': _a[i].blendMode, 
     226          'alpha': _a[i].alpha 
    224227        }); 
    225228      } 
     
    234237      }; 
    235238    } 
    236      
    237     public function set baseImgInfo(o:Object):void { 
    238       var infos:Array = o['layer_infos']; 
    239       for (var i:uint = 0; i < infos.length; i++) { 
    240         _a[i].lock = infos[i]['lock']; 
    241         _a[i].show = infos[i]['visible']; 
    242         _a[i].blendMode = infos[i]['blendMode']; 
    243       } 
    244     } 
    245239 
    246240    // 外から与えられたものを指定の_bitmapDataに書き込む 
     
    285279    public function set targetLayerAlpha(n:Number):void { 
    286280      _a[_targetIndex].alpha = n; 
     281      _canvas.logWrite(['layerChangeAlpha', n]); 
     282      recombine(); 
    287283    } 
    288284    public function get targetLayerAlpha():Number { 
    289285      return _a[_targetIndex].alpha; 
     286    } 
     287    public function get targetLayerBlendMode():String { 
     288      return _a[_targetIndex].blendMode; 
    290289    } 
    291290    public function set targetLayerBlendMode(s:String):void { 
    292291      _a[_targetIndex].blendMode = s; 
    293292      _canvas.logWrite(['layerChangeBlendMode', s]); 
    294     } 
    295     public function get targetLayerBlendMode():String { 
    296       return _a[_targetIndex].blendMode; 
    297     } 
     293      recombine(); 
     294    } 
     295     
    298296    public function get view():Sprite { 
    299297      return _view; 
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLogger.as

    r1472 r1481  
    105105    public static const ACTION_LAYER_CHANGE_VISIBLE:uint = 20; 
    106106    public static const ACTION_LAYER_CHANGE_BLEND_MODE:uint = 21; 
     107    public static const ACTION_LAYER_CHANGE_ALPHA:uint = 22; 
    107108 
    108109    // LINESTYLE 
     
    240241        writeUTF(info[1]); 
    241242        break; 
     243      case 'layerChangeAlpha': 
     244        writeByte(ACTION_LAYER_CHANGE_ALPHA); 
     245        writeDouble(info[1]); 
     246        break; 
    242247      default: 
    243248        Alert.show('対応していないアクションがログされました!'); 
     
    443448            trace('LAYER_CHANGE_BLEND_MODE blendMode:' + a[1]); 
    444449            _playCanvas.layerChangeBlendMode(a[1]); 
    445             break;           
     450            break; 
     451          case ACTION_LAYER_CHANGE_ALPHA: 
     452            trace('LAYER_CHANGE_ALPHA alpha:' + a[1]); 
     453            _playCanvas.layerChangeAlpha(a[1]); 
     454            break; 
    446455          default: 
    447456            Alert.show('未対応のアクションです。'); 
     
    550559          obj = readUTF(); 
    551560          return [ACTION_LAYER_CHANGE_BLEND_MODE, obj]; 
     561        case ACTION_LAYER_CHANGE_ALPHA: 
     562          obj = readDouble(); 
     563          return [ACTION_LAYER_CHANGE_ALPHA, obj]; 
    552564        default: 
    553565          if (byte & 0x80) {