No.1ベストアンサー
- 回答日時:
Flash のマスクは本来 「ベクタ画像の"形"」 でかけるものですから
できないのが普通ですし、PNGをマスクにする必要性が特に(あまり)見つからないので、
今までやってみたことはありませんでしたが...
しかし、
このご質問を見て実際にやってみましたら、透過(またはアルファ入り)PNGもマスクにできることがわかりました。
ただし条件付きです。
まず、
Suzuka の 「ファイル」→「プロジェクトのプロパティ」で
「SWFバージョン」の項目を 「SWF8」 にする必要があります。
(少なくとも携帯用 SWF4 では無理ということになります。)
そして、
レイヤーのマスク機能でマスクをかけるのではなくて、
ActionScript でマスクをかける必要があります。
さらに、
「マスクになるPNG」も「マスクをかけられる画像」も、
両方ともスプライト(ムービークリップ)の中に入れておく必要があります。
「シンボルリスト」内にスプライトを 2つ 追加して、
1つの スプライト 内の編集に入り、
そのスプライト内のレイヤーに、マスクになる PNG を追加します。
もう 1つの スプライト 内の編集に入り、
そのスプライト内のレイヤーに、マスクをかける画像を追加します。
その 「PNG入りスプライト」 と 「マスクをかけられる画像入りスプライト」 を
メインのレイヤーに追加します。
「PNG入りスプライト」 を配置したレイヤー名の部分をダブルクリックするなどして
「レイヤーのプロパティ」 パネルで任意の インスタンス名 を付けます。
ここでは 「png_mc」 という インスタンス名 を付けることにしておきます。
また、
「マスクをかけられる画像入りスプライト」 を配置したレイヤー名の部分もダブルクリックするなどして
「レイヤーのプロパティ」 パネルで任意の インスタンス名 を付けます。
ここでは 「my_mc」 という インスタンス名 を付けることにしておきます。
メインのタイムラインの一番上のレイヤー名を右クリックするなどして
「アクションレイヤーを挿入」 します。
そのアクションレイヤーのキーフレームを選択して、
キャンバス右側のパネルにある右下の「スクリプトを編集」ボタンをクリックし、
出てくる「スクリプトエディタ」パネルに次のように書きます。
---------------------------------------
// 「png_mc」のビットマップキャッシュを有効にする
png_mc.cacheAsBitmap = true;
// 「my_mc」のビットマップキャッシュを有効にする
my_mc.cacheAsBitmap = true;
// 「my_mc」 に 「png_mc」 のマスクをかける
my_mc.setMask(png_mc);
---------------------------------------
そして、
「ウィンドウ」→「プレビュー」などをすればマスクがかかっているのが確認できると思います。
以上の操作を1枚の画像にまとめたのが 【下の図】↓ です。
「透過していない部分」か「透過している部分」かの違いで、
「マスクになる部分」か「マスクにならない部分」が別れるのがわかると思います。
またそれに加えて 「アルファ」 のマスクもかかっているのがわかると思います。
(マスクは結局 "形" になるだけですから
マスクになるPNGの絵柄に凝っても意味がないのですが、
「Air Chrysalis (空気さなぎ)」 でも描いてみました。
(「Air Cocoon」 と訳すべきだったのだろうか???)
何でも良いですが、時のものを描いてみたただけのことで
絵柄に特に深い意味はありません。)
PNG を使った説明ではありませんが、
上に書いたことの大半は次↓のページに書いてあることです。
上に書いたスクリプトも、
次のページで書いてあるスクリプトをほぼそのまま使用しています。
「マスク・グラデーションマスク」
http://suzupara.iinaa.net/kiso111.html
この回答へのお礼
お礼日時:2009/08/10 15:09
わざわざご丁寧に画像までつけて下さって、ありがとうございます。
このやり方で出来ました!本当に感謝です。
アクションスクリプトはちょっと難しそうなので、今まで避けてきましたが
これを期に利用していきたいと思いました。
今回は本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Leafletで画像をon、offさせる方法について 2 2022/11/01 15:34
- Photoshop(フォトショップ) フォトショップで背景をくり抜く方法 2 2022/05/14 12:39
- Visual Basic(VBA) 【VBA】Excelの特定範囲のセルを画像で保存したい 2 2023/01/25 13:06
- 画像編集・動画編集・音楽編集 画質を落とさず切り取って透過したいです 2 2022/06/08 12:28
- Windows 10 Win10PCのExploreで大量の画像ファイルを表示させる際に、画像の中身を表示させる方法 2 2023/06/12 06:55
- Word(ワード) wordで画像&文書作成→pdf→pngに変換するにはどうすれば良いですか?有料ソフトを使いません。 3 2022/08/07 09:25
- その他(ソフトウェア) 画像のファイル形式、拡張子が変わると、性能が変わると思うのですが、ファイル名の「jpg、png、do 8 2022/08/10 13:37
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS 角丸画像の背景色を透明にしたいです 1 2023/06/23 23:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FLASHで使用するマスクやイラス...
-
photoshopで書いた四角の枠の中...
-
YOASOBI
-
【Photoshop】レイヤー効果の境...
-
ドラッグ&ドロップからの取得
-
VS2008 C# ボタンのテキストを...
-
テキストボックスの中身をリセ...
-
PythonのTkinterイベントについて
-
python ボタンを押すと複数の関...
-
VBScriptでMsgBoxのYesNoボック...
-
五芒星は、悪魔崇拝とどういう...
-
変数に256文字以上のテキストを...
-
キープレスとボタンクリックの...
-
パーセントで配置したフラッシ...
-
×ボタンを無効化したいのですが...
-
【VB.NET】別Formのボタンが押...
-
VBAで改行の入ったデータの正規...
-
テキストボックスにセルの値を...
-
斜めに移動
-
ダブルクリックと2回クリックの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マスクをとるとオーバーフロー...
-
OpenGLのグラデーションについて
-
DirectXでのicoファイル読み込み
-
Simulinkのサブシステムの完全...
-
切り抜いた部分が動くアニメー...
-
FLASHで使用するマスクやイラス...
-
C言語でネットワーク範囲のIPア...
-
suzukaでマスクにpngが使えない
-
アセンブリ言語のcasl2について...
-
シグナルのマスクについて
-
マスクのサイズを変更すると対...
-
Flash CS4で文字全体にグラデー...
-
photoshopで書いた四角の枠の中...
-
VBScriptでMsgBoxのYesNoボック...
-
webページ上、TABフォーカス出...
-
プログラミング、アーキテクチ...
-
VBAで改行の入ったデータの正規...
-
python ボタンを押すと複数の関...
-
YOASOBI
-
RPG(AS400)の本、サイトってあ...
おすすめ情報