displayObject.cachedraw(bitmap)中身が透けた絵がキャッシュされる。ちなみにcacheAsBitmapが無効のときターゲットDisplayObjectのアルファ値を、下位構造のすべてのシェイプに適用する。ラスタライズしつつ、ステージに合成。中身が透けた絵がキャッシュされず画面に描かれる。これ、バグ回避用のコードじゃなくて、ほんとに画像処理順序を使い分けるためのフラグだったんだ...。フラグならフラグで、DisplayObject.alphaPostMultiplyみたいな名前の、「DisplayObjectのalphaプロパティが、事後乗算されるか否か」を明示的に表すプロパティを別途設けるべきだったはず。「複雑なシェイプが高速化される」ことと「アルファが事後乗算される」ことを分けて説明でき、率直に内部仕様を表せる。シェイプの中身が透けないようにしたいと思ったとき、公式な方法があれば、「何もしないフィルタ」なんて裏技を持ち出す必要がない。ランタイム上で行儀悪いばかりか、普通のことをやるのに妙なトリックが必要だというシチュエーションは、複数人作業の生産性にマイナスの影響を与えます。事後アルファ乗算で中の絵が透けないようになんじゃこのコメント、ってなる。事後アルファ乗算で中の絵が透けないようにと書いてあれば、コードとコメントが意味合致。いうか、上のほうがもしコメントなしだったら、誰が理解できるのかな。ブラックボックスのインターフェースが明確でないと、かならずいつか、仕様の誤解からくる致命的な問題に遭遇する----。----あ、ていうか、FlashのIDEがもろにcacheAsBitmapの仕様間違って実装してんじゃん。身内でも理解できてないってことだよね、これ。Blog|ブログを報告する。