• ベストアンサー

FlashMXでマスクを・・

こんにちは。 回転するマスクを作成しています。 なおかつ、ドラッグでそのマスクを動かせるように したいのです。 回転するレイヤーをドラッグで動かすまではできたのですが、マスクにしようとすると動かなくなってしまいます・・・。(泣) そもそも使い方がまちがっているのでしょうか?

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

  • ベストアンサー
  • noias
  • ベストアンサー率82% (23/28)
回答No.3

maskするMCを"mask_mc"。 maskの対象を"back_mc"と仮定します。 回転するmc(mask_mc)をドラッグする事はできたとのことなので、上記二つのmcが存在するタイムラインに back_mc.setMask("mask_mc"); と1行加えると、実現できるはずです。

その他の回答 (2)

  • nissy7
  • ベストアンサー率0% (0/2)
回答No.2

お考えのものとは、違うかもしれませんが、四角形が回転するマスクを使ったものが、以下の方法で作れましたのでご報告します。 レイヤー3:四角形のシンボル レイヤー2:四角形の中に表示される背景 レイヤー1:背景 のように、作成します。 レイヤー3の四角形のシンボル名を仮にshinboru1とします。さらに、このシンボルをシンボルに変換して、シンボルのイレコ構造にします(winならsinboru1を選択した状態で、右クリック、シンボルに変換を選択)。できたシンボルを、仮にshinboru2とします。(shinboru2の中にsinboru1がある状態になりました) 回転のアクションは、シーンのタイムラインではなく、sinboru2のタイムラインに書き込みます。 動きは、シーン上に置かれたshinboru1につけます。 レイヤー3をマスク指定すれば、回転して、動き、マスクで四角形の中にレイヤー2の背景が見えるようになります。 flashMXをお使いであれば、sinboru1をシンボルに変換するときに「ボタン」を選択してみて下さい。 このボタンに、startDrag("_root.sinboru2");などの命令を書くとドラッグできるようになります。

noname#11337
質問者

お礼

ありがとうございました。 ためしに同じようにやってみたところちゃんとできました! けれど・・新規でそれだけ作成するとできたのですが 作成途中のものに組み込みますとうまくいきません(泣) 仕方がないのかな? 最初から作り直してもだめでした・・(泣)

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

ドラッグで動かすとなると、ActionScriptで制御することになるかと思います。ですが、マスクレイヤーに配置したムービークリップは、ActionScriptで位置を変更したり、回転・拡大縮小などの変形を行うことができません。これはFlashの仕様なのだそうで、他の方法でそれらしく見せる以外、どうにもできないです。 この件に関する詳しい解説がFlashのテクニカルノートにありますので、よろしかったらご参照ください。 背景が単色のムービーであれば、背景と同じ色で作ったムービークリップを、マスク対象の表示したくない部分に重ねて、マスクされているように見せる方法もあります。(マスク用のムービークリップは、ノーマルレイヤーに配置します) Flashのマスクは、マスクレイヤーに配置されている画像と重なった部分が表示される仕組みですが、この方法では逆に、マスク用の画像が重なっていない部分だけが見えることになります。この場合のマスク画像は、ノーマルレイヤーに配置された普通のムービークリップですので、ActionScriptでも制御が可能です。

参考URL:
http://www.macromedia.com/jp/support/flash/ts/documents/fl0187.html
noname#11337
質問者

お礼

ご回答ありがとうございます。 FLASHの仕様なのですね・・・。 挑戦してみたところ、 マスクにしたい部分だけ切り抜いたレイヤーを 回転させるとどうしても「ずれ」が生じて きれいに回転してくれませんでした。 わたしの描画能力不足によるものですが。 けれど、こういう方法があるのだと 大変関心しました。 発想を柔軟にすれば いろんな動きが表現できるんですね。 ありがとうございました。

関連するQ&A