- ベストアンサー
ボタンで動かしたい
質問として2つあるのですが・・・。 FLASH初心者です。設定方法が分からないので教えてください。 FLASHMX2004とflash8とを使用しています。 1つめは「enter」をボタン設定しています。 このボタンを押したときにボタンの横にある人形の 目が光るという設定をしたいのですが全く分かりません。 2つめは鳥と動物がいて両方とも動いているのですが、 鳥が枝に止まったときにASで”stop()”を 入れたら動物の目も一緒に止まってしまいました。 動物の目はループさせたいのですがこれはどうしたらいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1)一瞬で良いのならば、ボタンの「ダウン」に人形の目が光っている絵を置けば、出来ます。 2)タイムライン上で”stop()”を入れれば、全ての動きは止まります。鳥はASで操作されているのでしょうか? それともタイムラインに鳥の動きがすでに決められているのでしょうか? 「動きは決まっていて、羽ばたきだけをシンボルにしている」ならば、枝に止まった時に、「羽ばたいていない鳥」に代えるだけでいかがでしょう? 補足をお願いします。
その他の回答 (1)
作成されている物の状況はよくわかりませんが, 全般的に言えることは, 「ムービークリップ(MC)の存在を知らない。」 または 「ムービークリップ(MC)の存在は知っていても,その存在理由や使い方を全くわかっていない。」 ということだと思います。 シンボルには, ムービークリップシンボル,グラフィックシンボル,ボタンシンボルの3種類があって, それぞれの役割や性質が全く違います。 また, そのシンボルをステージ上に配置したものをインスタンスと言いますが, このムービークリップインスタンスの使い方がわかっていらっしゃらないのだと思います。 作成されている物の状況がよくわかりませんので, 超簡単なサンプルの作成の方法を説明します。 良く理解して,実際に作られている物に応用してください。 Flash を起動させて,新規ドキュメントを作成し, ステージ上に直径1cmくらいの赤い塗りの入った丸を描いてみてください。 その赤い丸を選択して, 「修正」→「シンボルに変換」でシンボルに変換するのですが, このとき「シンボルに変換」パネルでムービークリップにチェックを入れて, ムービークリップに変換します。 ////////////////////////////////////////////// タイプ(T): ◎ムービークリップ 基準点(R):□□□ ○ボタン □■□ ○グラフィック □□□ ////////////////////////////////////////////// シンボルに変換しましたら, そのステージ上のムービークリップをダブルクリックして, そのムービークリップ内の編集に入ります。 赤い丸のムービークリップ内のタイムラインは, この時点では,1レイヤー1フレームのはずです。 □ レイヤー 筆・・|●| ←赤い丸塗りがある このレイヤーの フレーム2 を選択して, その フレーム2 を右クリック→「キーフレームに変換」で, キーフレームにします, □ レイヤー 筆・・|●|●| そして, フレーム2 の方のステージ上の赤丸の塗りを, 黄色の塗りに塗りかえます。 ですから,フレーム1 のステージ上には赤丸, フレーム2のステージ上には黄丸の塗りがあることになります。 この状態で, 「編集」→「ドキュメントの編集」でメインムービーの編集に戻ります。 するとさっき作成したムービークリップは, フレーム1 の状態しか見えなくなりますから,赤丸になっているはずです。 そして, 「制御」→「ムービープレビュー」してもらうと,プレビューできると思います。 ステージ上の丸は,赤→黄→赤→黄→赤→黄→… と点滅するはずです。 メインムービーのタイムラインを, 例えば10フレームに延ばして, フレーム10 のキーフレーム に stop(); を書いても, 点滅は止まらないはずです。 このような感じで,ムービークリップを使うと, 親のタイムラインとは独立した動きを作成することができます。 以上ここまでが, > 鳥が枝に止まったときにASで”stop()”を > 入れたら動物の目も一緒に止まってしまいました。 > 動物の目はループさせたいのですが に対する回答です。 目を独立したムービークリップで作れば良いと言うことになります。 ---参考URL--- 「FLASH学習・技法 シンボル」 http://www17.ocn.ne.jp/~wolves/SCHOOL/lecture/lecG2_4.html --->グラフィックとムービークリップの相違点 ==================== 次に,目を光らせる件です。 上で作ったムービークリップをダブルクリックして, 再びそのムービークリップ内の編集に入ります。 レイヤーを1つ追加して2レイヤーにしてください。 □ レイヤー 筆・・|○ []| □ レイヤー 筆・・|●|●| そして, 新しく作った方のレイヤーの フレーム1 に, stop(); と書きます。 これで,このムービークリップ内のタイムラインはフレーム1で停止して, 何も命令をしない限り,フレーム2 の黄丸は表示されなくなります。 この状態で, 「編集」→「ドキュメントの編集」でメインムービーの編集に戻ります。 そして, ステージ上の赤丸ムービークリップを選択して, 下のプロパティインスペクタ(プロパティパネル)を表示させ, インスタンス名を付けます。 プロパティインスペクタの左の方に, 歯車 [ムービークリップ v] [ <インスタンス名> ] となっている部分があると思いますから, <インスタンス名> の部分を書きかえれば, ムービークリップにインスタンス名が付きます。 この説明では, 「eye1」 というインスタンス名を付けたとしておきます。 ステージ上の赤丸ムービークリップである 「eye1」 を選択して, コピペで2つに増やして左右に並べてください。 そして, 右の方の赤丸ムービークリップのインスタンス名を, 「eye2」 に書きかえます。 左の赤丸ムービークリップが「eye1」, 右の赤丸ムービークリップが「eye2」ということになります。 ● ● eye1 eye2 その「eye1」「eye2」の下あたりにでも, 今度は四角い塗りを描いてください。 そして, 四角い塗りを選択して, 「修正」→「シンボルに変換」でシンボルに変換するのですが, このとき「シンボルに変換」パネルで, 今度は ○ボタン にチェックを入れて,ボタンシンボル に変換します。 ステージ上のそのボタンを選択して, アクションパネルを表示させて, そこに,次のように書いてください(コピペ可能)。 ----------------------------------- // ボタンを押したとき on (press) { // eye1 と 2 をフレーム2に進ませてストップ eye1.gotoAndStop(2); eye2.gotoAndStop(2); } // ボタンを離したとき on (release, releaseOutside) { // eye1 と 2 をフレーム1に戻してストップ eye1.gotoAndStop(1); eye2.gotoAndStop(1); } ----------------------------------- これで, 光る目のようなものができます。 ウインクさせたいときは, ----------------------------------- // ボタンを押したとき on (press) { // eye1 をフレーム2に進ませてストップ eye1.gotoAndStop(2); } // ボタンを離したとき on (release, releaseOutside) { // eye1 をフレーム1に戻してストップ eye1.gotoAndStop(1); } ----------------------------------- と書けば良いですね。 次のようにすれば, 踏み切りの信号のようになります。 ----------------------------------- // ボタンを押したとき on (press) { eye1.gotoAndStop(2); eye2.gotoAndStop(1); } // ボタンを離したとき on (release, releaseOutside) { eye1.gotoAndStop(1); eye2.gotoAndStop(2); } ----------------------------------- というようなわけです。 つまり, 人形の目も独立したムービークリップで作れば良いと言うことになります。 人形自体もムービークリップで作成している場合には, 人形にもインスタンス名を付けます。 たとえば,「doll」というインスタンス名を付けます。 「doll」というインスタンス名の人形の中に, 目である「eye1」「eye2」がある状態になりますから, この場合スクリプトは, ----------------------------------- // ボタンを押したとき on (press) { // doll 内の eye1 と 2 をフレーム2に進ませてストップ doll.eye1.gotoAndStop(2); doll.eye2.gotoAndStop(2); } // ボタンを離したとき on (release, releaseOutside) { // doll 内の eye1 と 2 をフレーム1に戻してストップ doll.eye1.gotoAndStop(1); doll.eye2.gotoAndStop(1); } ----------------------------------- となります。 ムービークリップをたくさん作って活用すると, 色んなものが簡単に作れるようになりますし, 可能になることがたくさん増えます。 「eye1」や「eye2」の中のフレーム2に, 黄色い丸をただ用意するのではなく, キラーッーンと光るようなアニメーション入りのムービークリップを置くと, ピカと黄色くなるだけでなく,キラーッーンと光りますね。 「ムービークリップを制する者がFlashを制す」 と言い切っても過言ではないと思います。 Flash を作成する=ムービークリップを作成する Flash を制御する=ムービークリップを制御する というような感覚で作成していってください。 メインムービー(_root) も,実はムービークリップの一種です。 一番大きな親玉のムービークリップがメインムービー(_root)です。 その中に子ムービークリップをたくさん作成して,動きを組み合わせて行くのです。 そういうように作成していくと, 容量も軽く,インタラクティブな Flash が作成可能になります。 「第5回:講評会、ムービクリップシンボルについて」 http://yoppa.org/webmov06.php?itemid=310
補足
回答ありがとうございました。 1つめの質問はできました。 2つめの質問の補足ですが、鳥はタイムライン上で動かしています。 全体のタイムラインは40フレームあり、鳥は10フレームのところでASの"stop()"で動きを止めたら、他の動物の目の動きまで止まってしまいました。 鳥は10フレームで止まり、他の動物の目の動きは止まらないようにしたいのですが。