bitmapData.draw(mc); を連続して実行すると

bitmapDrawDraw.jpg

透明な bitmapData インスタンスを生成し、空のムービークリップに attachBitmap した後、次のような命令を実行するとします。

  1. 画面左上の “mc1″ を draw する。
    myBitmapData.draw(mc1);
  2. さらに、同じ myBitmapData に対して、透明な領域を持つ “mc2″ を draw する。上書きする感じですね。
    myBitmapData.draw(mc2);

さて、どうなるでしょうか?
すごく基本的なことですが、最近知りました。

僕は今まで、draw した bitmapData に対して、もう一度 draw すると、前のキャプチャは消えてしまうのだと勘違いしていました。そうではなくて、上書きで draw する対象となるムービークリップが、アルファチャンネルを持っている場合、レイヤー効果のように重ねて合成してくれるのですね。

こちらの反射表現のサンプル(AS3版、こちらも透明表現なので、重なりには未対応?)で知りました。copyChannel とか marge とか、わざわざ難しい処理をしなくても、draw の連発で対応できるケースがあるので、覚えておこうと思いました。おもさげながんす。

Comments:3

ひろゆき 07-02-02 (金) 16:53

透過したBitmapDataをdrawしたことがないと、
draw =「塗り重ねていく」って、気づかないですよね。

わたしは、fillRectで「塗りつぶし」ができることを最近知りました。

tera 07-02-02 (金) 18:09

基本がズッポリ抜けている現状の僕のスキルで、今後AS3に移行していかないといけないので、先が思いやられる今日この頃です。

so 08-09-02 (火) 10:03

細かくてアレだけど。最初のパラグラフ。
> 透明な bitmapData インスタンスを生成し、空のムービークリップに artachBitmap
attachBitmap、でしょ。

参考になったので感謝。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.trick7.com/blog/2007/02/01-233405.php/trackback
Listed below are links to weblogs that reference
bitmapData.draw(mc); を連続して実行すると from trick7
AS3習得本
AS3の全容を学習できる本。この中でどれか1冊自分に合ったものを。
Adobe Flash CS4 詳細!ActionScript3.0入門ノート ActionScript3.0 プロフェッショナルガイド 初めてのActionScript 3.0 Flashユーザーのためのステップアップガイド 詳説 ActionScript 3.0 Actionscript 3.0 Cookbook
AS3発展本
ASでアニメーションさせる面白さを知るための本。
Flash Math & Physics Design:ActionScript 3.0による数学・物理学表現[入門編] ActionScript 3.0 アニメーション AdvancED ActionScript 3.0 Animation (Advanced)
AS2
"Flash"ではなく"ActionScript2.0"学習のための良著。他にもいろいろ読んだけど、この4冊を読んだ後、自分が成長できた感じがしました。
FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付] Essential Actionscript 2.0 Flash 8 Essentials Foundation Actionscript Animation: Making Things Move (Foundation)

あわせて読みたいブログパーツ

相互リンク

hi-posiさん
携帯Flashといえばhi-posiの岡田昇三さん。FlashLiteの有益な記事もたくさん書かれていていつもお世話になってます。ついにご挨拶させていただきました。面白すぎる人でしたw。

Return to page top