• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:雑誌のサンプルがどうしても解りません)

雑誌サンプルの解読方法が知りたい

このQ&Aのポイント
  • 雑誌サンプルの解読に困っています。特に、2006年1月号のP86のFlashCreativeTechniqueのP89のC-2-2スクリプトが理解できません。
  • 内容はBitmapDataを利用した写りこみの作成で、スクリプトやメソッドは理解しているが、具体的なスクリプトの解読が難しいです。
  • どなたか教えていただけると助かります。よろしくお願いします!

質問者が選んだベストアンサー

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

該当作品と思われるサンプルが、MdN 社のサイトで配布されていました。 雑誌掲載記事の参考資料ということで URL は伏せさせていただきますが、  ・MdN webcreators   ワンランク上のテクニックを学びたい人のFlash Creative Technique   第 44 回( 2006 年1月号掲載) の作品だと思います。 記事を読んでいないのでC-2-2 というのがどのあたりの話なのか分からないのですが、どういった処理の説明なのでしょうか? スクリプトでなくても「~という処理について」というように補足していただければ、分かる範囲で回答いたします。 --------------------------------------------------------------- 写り込みを作成する部分でしたら、メインのタイムライン・フレーム4で定義されている CreateReflect という関数がその処理です。 予め、アルファを使った線形グラデーションで塗りつぶした四角形のムービークリップを用意しておきます。 それから、読み込んだ画像とこのグラデーションのムービークリップの絵を、それぞれ BitmapData オブジェクトに取り込みます。 (ムービークリップの絵は BitmapData クラスの draw メソッドで取り込めます) この2つを使って写り込みを作成します。 BitmapData の copyPixels メソッドは、BitmapData オブジェクトで管理している絵のデータをピクセル単位でコピーするメソッドです。 この時にコピー元の BitmapData オブジェクトを2つ指定すると、1番目の絵のデータに2番目の絵のアルファ値が重ねがけされてコピーされます。 例えば、1枚目に非透過の写真、2枚目にアルファを使ったグラデーションを指定してコピーすると、写真に2枚目の絵のアルファの特徴が反映されます。 (いわゆる半透明マスクと同等の効果です) この作品では、2枚目の絵とはアルファ 25 %から 0 %の下から上に向かう線形グラデーションですから、写真と合わせると”上の方ほど透けている写真”になります。 こうしてできた絵を写真本体の下に上下を逆さにして表示すれば、床などに写真が写り込んでいるような雰囲気が出るというわけです。 ************************** スクリプトだけでは分からないこともあります。 例えば”上下逆さに表示”といいましたが、この関数の中には逆さにする処理はどこにもありません。 それでも、実際に写り込みは逆さに表示されています。 このカラクリのタネはいたって簡単で、写り込みを表示するためのムービークリップは最初から縦反転で上下を逆さにした状態で配置されているのです。 これはスクリプトだけを見ていても分からないことです。 他人の作った作品はどうしても分かりにくいものです。 サンプルを解析して勉強する時は、シンボルの構成やステージに配置されたインスタンスなども含めて、幅広い視点で見てみてください。 「ムービーエクスプローラ」や「デバッガ」を活用すると、どんな構成になっているのか、どこに何が使われているのかなども調べやすいと思います。

muku101681
質問者

お礼

DPEさん、本当にありがとうございます!面倒な質問なので誰からの回答もないと思っていたので本当に感謝です。 疑問に思っていた事の一つはまさにDPEさんが回答されている事で、写りこみの逆さにする部分がどこにも記述されてなかったのでかなり悩んでおりました。 それでもう一つだけ質問があります。写りこみの部分のスクリプトを抜き出して、自分なりの解釈をプログラムの下に書いているのでかなり長い文章になってしまい。別の質問として投稿しようと思っています。もしよければ回答よろしくお願いいたします! DPEさんには質問の回答だけでなくデバッガやムービーエクスプローラの使用など問題点の調べ方まで教えていただいて本当に勉強になりました。 さっそく使い方を勉強したいと思います。