- ベストアンサー
Flashで写真の動きを切り替える方法
- Flash初心者が写真の切り替え動作を作成する方法を教えてください。
- 教えてgooのグラフィックソフトに質問したが回答が得られず、こちらで質問します。
- 写真を配置してマスクする方法を試しましたが、望む動きが作れませんでした。どうすれば良いですか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 > このように作ったらよいですか? > ・レイヤー3:子MC ●→→→→● > ( 四角が W0px/H0px→W40px/H40pxになる ) > ・レイヤー2:親MC ●→→→→● > ( 四角が W40px/H40px→W0px/H0pxになる ) > ・レイヤー1:写真 ●→→→→→→→→→→→● 書かれている内容がいまひとつわかりませんが おそらく "全く違います"。 階層構造を作る部分 "だけ" を書くと次のようになります。 ステージ上に四角の塗りを描く ↓ その塗りをグラフィックシンボルに変換する ↓ そのグラフィックをムービークリップに変換する(子MC) ↓ そのムービークリップをさらにムービークリップに変換する(親MC) つまり階層構造は次のようになるということです。 シーン1などメインのタイムライン └親MC └子MC(←複製してたくさん作る) └グラフィック └四角の塗り 書かれていらっしゃるような書き方をするなら次のようになります。 ・レイヤー1:親MC ● ・レイヤー1:子MC ●●●●●● ・レイヤー1:グラフィック ●→→→→● ・レイヤー1:四角の塗り ● レイヤー名は何でもかまいません。 しかし何も考えず普通に作ればすべて レイヤー1 になるはずです。 複合的な動きのFlashを作るには ムービークリップの入れ子構造を作成していくのが普通です。 たとえば「蝶がはばたきながら飛び回る」というアニメーションを作る場合 蝶の羽根を1枚だけ描いて グラフィックシンボルに変換して それをムービークリップに変換して そのムービークリップの中で羽根がパタパタ動くだけのアニメーションを作成し その内部で羽根がパタパタするだけのムービークリップをコピペで2つにして左右の羽根とし 2枚の羽根の真ん中に胴体を描いて その「羽根」「胴体」「羽根」をムービークリップに変換します。 すると羽根をパタパタするだけの蝶ができます。 その蝶ムービークリップをメインのタイムラインで動かすと, 「羽根をパタパタさせながら飛び回る蝶」ができます。 シーン1などメインのタイムライン └蝶MC ├羽根MC │ └羽根グラフィック(パタパタ) │ └羽根の絵 ├胴体の絵 └羽根MC └羽根グラフィック(パタパタ) └羽根の絵 このような作りにしないと大変なことになります。 もし階層構造を作成しないとするなら メインのタイムラインで動き回る胴体を作って パタパタしながら胴体と同じように動く羽根を作るようなことになります。 それは気が遠くなります。 仮にActionScript動かすにしても複雑な計算が必要になります。 「モーショントゥイーンの作成:Part2」 http://www.adobe.com/jp/designcenter/flash/articles/lrvid4055_fl.html
その他の回答 (1)
- BlurFiltan
- ベストアンサー率91% (1611/1754)
> 写真を配置してマスク。アルファを設定する。 アルファは「半透明」ですよ。アルファは全く関係ないでしょう。 関係するのは大きさと形です。 作るのは簡単なのですが,文字だけでの説明が難しいです。 サンプルがアップできれば一瞬で説明は終わりますが, ここではそういうことは禁じられていますし。 簡単に言えばムービークリップの入れ子構造を作って行くだけです。 例えば1辺が40pxの正方形の塗りをステージ上に描きます。 (何色の塗りでも良いです。) それをグラフィックシンボルに変換します。 (基準点は中央が良いかと。) さらにそれをムービークリップに変換します。 説明の便宜上このムービークリップを「子MC」ということにします。 その「子MC」の中で, 四角のグラフィックインスタンスが ものすごく小さな状態から元の40pxのサイズになるようにモーショントゥイーンで拡大するアニメーションを作成します。 その「子MC」がリピート再生しないように「子MC」内の最終フレームのキーフレームに stop(); を書いておきます。 その内部で四角が拡大する「子MC」をさらにムービークリップに変換します。 便宜上このムービークリップを「親MC」としておきます。 この「親MC」内に「子MC」を40pxの等間隔で並べていきます。 「親MC」内フレーム1 ■ 「親MC」内フレーム2 ■■ ■ 「親MC」内フレーム3 ■■■ ■■ ■ 「親MC」内最終フレーム ■■■~~~ ■■~~~■ ■~~~■■ ~~~■■■ その「親MC」がリピート再生しないように「親MC」内の最終フレームのキーフレームに stop(); を書いておきます。 この「親MC」を,画像を配置した上のレイヤーに配置して, 「親MC」のレイヤーを画像のマスクレイヤーにします。 この状態↑をムービークリップ内に作成しても良いと思います。 上で作成した「親MC」を他の画像のマスクとして使い回しても良いです。 以上のような感じでマスクをムービークリップで作って行けば, 簡単に色々なマスクができます。 例えば,四角にこだわる必要もありません。 1つの円を拡大しても,たくさんの円を拡大しても良いでしょう。 ブラインドを降ろすようなアニメーションを作成しても良いでしょう。 文字みたいなものを拡大させながら回転させても良いかもしれません。 無数のトラジション効果が作成できます。 ※今回のものはバージョンにあまり関係しませんが, (あえてバージョンに関わらない書き方をした) (stop(); は ActionScript 1.0~3.0 まで共通で使える) 普通はバージョンを書かないと回答できませんよ。 バージョンとは,少なくとも Flash のバージョン と ActionScript のバージョンです。 場合によっては パブリッシュするSWFの Flash Player のバージョンも必要。
お礼
BlurFiltan様!本当に!!本当にありがとうございます!! とても丁寧に教えていただけて、本当に助かります。 前の掲示板では、どなたもアドバイスいただけなかったですし、 本を読みあさっても同じようなものの作り方はのっていないしで とてもとても困っていました。 それで早速、アドバイスいただいたように作っているのですが 本当に申し訳ありません。 分からない所がありましたので、もしよろしければ教えてください。 その内部で四角が拡大する「子MC」をさらにムービークリップに変換します。 というのはどこにつくったら良いでしょうか。 今下記のようなタイムラインになっています。 ・レイヤー2:子MC ●→→→→● ( 四角が W0px/H0px→W40px/H40pxになる ) ・レイヤー1:写真 ●→→→→→→→→→→→→→● このように作ったらよいですか? ・レイヤー3:子MC ●→→→→● ( 四角が W0px/H0px→W40px/H40pxになる ) ・レイヤー2:親MC ●→→→→● ( 四角が W40px/H40px→W0px/H0pxになる ) ・レイヤー1:写真 ●→→→→→→→→→→→→→● 多分、、わたしは勘違いしていると思うのですが、、、 よろしければアドバイスいただければうれしいです。 どうか宜しくお願いします。 バージョン情報を書いていなくてすみませんでした。 Flash のバージョンはCS4です。 パブリッシュの設定も良く分からないのですが Flash Player6くらいなら、誰でも見れるかなと思い、それで設定しました。 ActionScript のバージョンは2.0です。 この辺もまだまだ勉強不足で良く分かっていないのですが もしやこの設定は良くないのでしょうか、、、
お礼
BlurFiltan様 本当に回答ありがとうございます!!!お礼が遅くなって申し訳ありません。 アドバイスいただきました入れ子の構造がどうしても分からなくて 色々と調べていたら、遅くなってしまいました。本当にすみませんでした。 入れ子の構造をなんとか理解できて、BlurFiltan様のいうように早速作業開始したら なんとか形ができました!!!! ただ一点、うまくいかないところがありまして、 多分わたしの方で、間違った操作をしているんだとと思うのですが 一番最初の四角だけ、小さな四角から大きくなる四角の効果が行われて 後は、順に四角が表示されるだけになってしまいました。 効果を付けた四角を順にコピーして作っていきました。 (親MCの中のタイムラインは、1フレームずつキーフレームを挿入して、四角をペーストしていきました。) 何度も聞いて本当にすみません。 お手数ですが、どうかアドバイスよろしくお願い致します。