- ベストアンサー
商品をキランと光らせる方法
- 商品をキランと光らせるための方法を教えてください。
- flash CS5で商品を光らせる方法がわかりません。
- マスクをかけても商品が光らない問題について、解決策を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
> マスクをかける前は、シェイプに変更するとか > 決まりがあるのでしょうか? その考え方は,ちょっとだけ根本が違います。 本来(従来),マスクは形でかけるんです。 例えば「▼(三角)」というような形を作って(▼のシェイプを描いて) その形データで「何か」にマスクをかけるんです。 すると, その「何か」の「▼(三角)」と重なった部分のみが「▼(三角)」の形で見えるのです。 これが本来(従来)のマスクです。 したがって 仮にマスクをかける前に写真をシェイプに変更(「ビットマップのトレース」機能を使ってシェイプに変換)したとしても それだけではそのシェイプの形は「■(矩形)」のままなので シェイプに変更してもしなくても結果は同じとなります。 ですから 本来(従来)のマスクを使うのでしたら 写真をシェイプに変更するというよりも 商品の輪郭を線ツールなどでなぞって(手動トレースして), その商品の形のマスクを作る必要があります。 以上が本来(従来)のマスクの考え方と方法です。 ================ 添付された商品の写真を見た感じ なんとなく背景が透明のPNG画像をFlash内に読み込んで使っているように見えます。 (違っていたらすみません。) もし, 背景が透明のPNG画像を使っている場合は 本来(従来)のマスクを使うのではなくて ActionScript を使った アルファマスク を使えば解決するかもしれません。 特に正式名称としてアルファマスクという名の機能があるわけではありませんが ActionScript で 「マスクにするもののムービークリップ」と「マスクをかけられるもののムービークリップ」 の両方の cacheAsBitmap を true にして 「マスクをかけられるもののムービークリップ」に「マスクにするもののムービークリップ」のマスクをかけると 「マスクのアルファ(不透明度)情報」によってマスクをかけることができます。 具体的なスクリプトは ActionScript の バージョンによって変わりますが手順はほぼ同じです。 「マスクにするもの」も「マスクをかけられるもの」もムービークリップに変換します。 この場合 「マスクにするもの」とは「背景透明の商品写真」です。 また「マスクをかけられるもの」とは「光」です。 ムービークリップにしましたら その2つのムービークリップにそれぞれインスタンス名を付けます。 ここでは 「マスクにするもの(商品写真)ムービークリップ」には「mask_mc」というインスタンス名を付けることにしておきます。 また 「マスクをかけられるもの(光)ムービークリップ」とは「hikari_mc」というインスタンス名を付けることにしておきます。 そして 「mask_mc」と「hikari_mc」の両方が存在するタイムライン(例えばメインタイムライン)のフレーム(例えばフレーム1)にスクリプトを書くわけですが, ActionScript 2.0(1.0) をご使用でしたら次のようになります。 ----------------------------- // 「mask_mc」のビットマップキャッシュを有効にする mask_mc.cacheAsBitmap = true; // 「hikari_mc」のビットマップキャッシュを有効にする hikari_mc.cacheAsBitmap = true; // 「hikari_mc」 に 「mask_mc」 のマスクをかける hikari_mc.setMask(mask_mc); ----------------------------- ※ 要 Flash Player 8 以上 ActionScript 3.0 をご使用でしたら次のようになります。 ----------------------------- // 「mask_mc」のビットマップキャッシュを有効にする mask_mc.cacheAsBitmap = true; // 「hikari_mc」のビットマップキャッシュを有効にする hikari_mc.cacheAsBitmap = true; // 「hikari_mc」 に 「mask_mc」 のマスクをかける hikari_mc.mask = mask_mc; ----------------------------- ※ 要 Flash Player 9 以上 (注)なお ActionScript 2.0(1.0) を使用する場合は パブリッシュ設定で「Player」のバージョンを「Flash Player 8」限定にしてください。 「Flash Player 9」以上ではモーショントゥイーンと共存できないバグらしきものがあり, その不具合回避の回答を何度かしたことがあります。 参考例↓ 「グラデーションマスクにトゥイーンをかけても動かない」 http://okwave.jp/qa/q5776700.html 私が実際に作ってみた様子↓
お礼
回答ありがとうございます。 思ったほど難しいことなんですね。 まだactionscriptをまだ理解できていないので、勉強しながら試して見ます。 なんでマスクができないのか、理由がわかりました。有難うございます。