- 締切済み
フラッシュ・ボタンクリックでオブジェクトが…。
最近フラッシュMXを触り始めました。 画面中央の下の方にボタンを設置しました。 そのボタンをクリックすると効果音がなって、同時にオブジェクトが ぽーんと吹き出て、イメージが変わりながら画面下へ落ちていく …というイメージの物が作りたいのですが、 どうやったらよいでしょうか? 難しいようでしたら効果音は無しでも構いません! どうかお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mat-21
- ベストアンサー率56% (91/162)
以下は、各オブジェクト(シンボル)が同じメイン画面(_root)に配置してあることを条件に回答しています。 まず、ボタンシンボル(ここではボタンAとします)を作成し、メイン画面に配置します。そしてボタンAのアクションスクリプトを以下で入力します。 ------------------------ on (release) { openPoon(); } ------------------------ 次に、「ぽーんと吹き出る」というムービーシンボルを作成します。 シンボル内の1のタイムライン上に「ぽーんと吹き出た」最終位置を想定した絵を作成配置します。その画像をグラフィックシンボルにし、2と任意のタイムライン上(ここでは10のライムラインとします)にキーフレームを設けます。つまり、1と2と10のタイムライン上の画面に先ほどグラフィックシンボルにした画像があります。そして2→10までトゥイーンモーションを設定をし、2のタイムライン上のシンボルを任意の位置に動かします(ここでは下に動かします)。2~10までの再生は下から上へ移動するムービークリップができました。1のライムライン上の画像は10の位置のものと同じ位置にあるはずです。 なぜ1をそのままにし、2からにしたかは、メイン画面にこの「ぽーんと吹き出る」シンボルを配置したときに、位置が把握しにくいからです。では、メイン画面を再生したときに、一瞬画像が出るではありませんか?は、次に説明するActionScriptで処理します。 では、説明します。 その「ぽーんと吹き出る」シンボル内にActionScript用に空のレイヤーを設けます。そして下のレイヤーに合わせ、1と2と10の箇所に空白のキーフレーム○を設定します。そして、 1の○には ----------------------- this.stop(); setProperty(this, _visible, 0); ----------------------- と設定し、 2の○には ----------------------- this.play(); ----------------------- 10の○には、 ----------------------- this.stop(); ----------------------- と入力します。 上記の説明は、swfを書き出してもボタンがあるだけで、何もない事がわかるかと思います。 1で止まったままでこのシンボルは非表示と設定。 ボタンアクションで2に行き動き10で止まるという設定です。(まだボタンアクションは設定していません) 音は、2の○に「ぽよ~ん」などの音を設定して下さい。つまり、ボタンアクションで、2から動く設定なので、ボタンをクリックすると2から動くときに「ぽよ~ん」となって10で止まります。 次に「イメージが変わりながら下へ落ちていく」ですが、上記と同じように新規でムービーシンボルを作成して下さい。アクションスクリプトも同じです。ただし、この場合、1のタイムライン上のものは2と同じキーフレームを入れてね。10のものにするとメイン画面で配置するとき位置がわからないので大変です。 次にアクションスクリプトを1つ付け足します。「ぽーんと吹き出る」シンボルの10のタイムライン上の○に -------------------------- _parent.openKururu(); -------------------------- を付け足します。つまり10の○には -------------------------- this.stop(); _parent.openKururu(); -------------------------- となります。「ぽーんと吹き出る」シンボルの方ですよ。間違えないでね。 さ、すべてのシンボルをメインの画面の1のタイムライン上に配置します。先ほどもいいましたが、各シンボルの1のタイムライン上のものが見えるので配置しやすいかと思います。 そして、「ぽーんと吹き出る」シンボルのインスタンス名を「clipPoon」、「イメージが変わりながら落ちていく」シンボルのインスタンス名を「clipKururu」と明記して下さい。 さて書き出して見て下さい。。。。と言いつつ、ボタンしか表示されないですね。 メイン画面のアクションスクリプト用に空のレイヤーを設けます。そしてその1のタイムライン上の○に次のスクリプトを入力。 ----------------------------- function openPoon(){ _root.clipPoon.gotoAndPlay(2); } function openKururu{ _root.clipKururu.gotoAndPlay(2); } ----------------------------- これで完成です。書き出して見て下さい。 ボタンをクリック[on (release)]すると、[_root.clipPoon]が音を出すと同時に動き、そのムービーシンボルが止まると同時に、[_root.Kururu]が動きだし、止まるという設定です。後は応用です。頑張って下さい。ボタンがたくさんある場合はスクリプトの[if (){}]を使うとスクリプトが短くて済みますよ。