2

OL 3.3 でこのコードを使用してビューに色を設定するために色変換を使用していますが、これは完全に正常に機能します。

obj.setColorTransform({ab: 0, aa: 100, 
                                bb: b-rB, ba: 100, 
                                gb: g-rG,  ga: 100, 
                                rb: r-rR,  ra: 100}); 

しかし、5.0 swf ランタイムにアップグレードしたときに問題に直面しています

obj.setAttribute('colortransform',{ab: 0, aa: 100, 
                                bb: b-rB, ba: 100, 
                                gb: g-rG,  ga: 100, 
                                rb: r-rR,  ra: 100});  

ここでの obj は、この形式のビューです。

  <view name="borders" 
              width="${parent.bg.width}"
              height="${parent.bg.height}" 
              y="10">
           <simplelayout axis="x"/>
           <view name="left" 
                 resource="border_left" 
                 stretches="height" 
                 height="${parent.height}" 
                 x="5" 
                 y="1">
              </view>
           <view name="middle" 
                 resource="border_mid" 
                 y="1"
                 stretches="width" 
                 height="${parent.height - 2}" 
                 width="${parent.width - parent.left.width - parent.right.width}">
           </view>
           <view name="right" 
                 resource="border_right" 
                 stretches="height" 
                 height="${parent.height}">
           </view>
        </view>

これが機能しない理由はありますか?

4

1 に答える 1

1

setColorTransform({})メソッドが廃止され、.setAttribute('colortransform', {}). raまたはの代わりにrb、プロパティ キーはredMultiplier, になりredOffsetました。以下に引用されている対応するドキュメントのセクションを参照してください。

API のもう 1 つの変更は、値です。のドキュメントを引用するsetColorTransform():

ディクショナリには、次の可能なキーがあります。 o.ra: 赤成分のパーセント アルファ (-100 から 100)。o.rb: 赤成分のオフセット (-255 ~ 255); o.ga: 緑成分のアルファ率 (-100 から 100); o.gb: 緑成分のオフセット (-255 ~ 255); o.ba: 青成分のパーセント アルファ (-100 から 100); o.bb: 青成分のオフセット (-255 ~ 255); o.aa: 全体的なアルファのパーセンテージ (-100 から 100); o.ab: 全体のオフセット (-255 ~ 255);

それをビューのcolortransform属性のドキュメントと比較してください。

ディクショナリには次の可能なキーがあります: o.redMultiplier: 赤成分の乗数 (0 から 1) デフォルトは 1 o.redOffset: 赤成分のオフセット (-255 から 255) デフォルトは 0 o.greenMultiplier: 緑成分の乗数 ( o.greenOffset: 緑成分のオフセット (-255 から 255) デフォルトは 0 o.blueMultiplier: 青成分の乗数 (0 から 1) デフォルトは 1 o.blueOffset: 青成分のオフセット (- o.alphaMultiplier: アルファ コンポーネントの乗数 (0 から 1) のデフォルトは 1 o.alphaOffset: アルファ コンポーネントのオフセット (-255 から 255) のデフォルトは 0

ドキュメントからわかるように、アルファ オフセットの値の範囲が から-100 to 100に変更されました0 to 1。を使用すると、次の構文が機能しますsetAttribute

var transformValues =
        {redMultiplier: 0 to 1,    redOffset: -255 to 255,
         greenMultiplier: 0 to 1,  greenOffset: -255 to 255,
         blueMultiplier: 0 to 1,   blueOffset: -255 to 255,
         alphaMultiplier: 0 to 1,  alphaOffset: -255 to 255}
this.setAttribute('colortransform', transformValues);
于 2012-11-20T10:06:02.433 に答える