Flash AS初心者のためのロールオーバー機能についての質問

このQ&Aのポイント
  • Flash AS初心者がボタンにロールオーバーした際に、別フレームで作成した吹き出しが任意の場所で表示されるような動きを作成したい。
  • 通常であればon (rollOver) { gotoAndStop(4); } で表示できるが、ロールアウトした時や別のボタンにロールオーバーした時にも、もともと表示されていた吹き出しをそのまま残したい。
  • ボタンとリンクする吹き出しは8つあり、全て表示した際には重ならないようなレイアウトを考慮している。
回答を見る
  • ベストアンサー

一度ロールオーバーして表示させた画像をそのまま残したい

Flash AS初心者です。 ボタンにロールオーバーした際に、別フレームで作成した吹き出しが任意の場所で表示されるような動きを作成しています。 通常であれば on (rollOver) { gotoAndStop(4); } で済むと思うのですが、ロールアウトした時、別のボタンにロールオーバーした時にも、もともと表示されていた吹き出しをそのまま残したいのです。(上記だと当然ながら消えてしまいます) ボタンとリンクする吹き出しは8つあるので、全て表示した際には重ならないようなレイアウトは考えているのですが・・・ つたない説明ですみません。 ご教授いただければ幸いです。

  • Flash
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

Flash と言えば ムービークリップ です。 ムービークリップ があるからこその Flash です。 _root(シーン1 などメインのタイムライン)ばかりを使われるのでご質問のような状況になります。 吹き出しは ムービークリップ のタイムラインで作成するとすぐに解決します。 ◎ 実感するための簡単な作成例 【1】新規ドキュメントを作成します。 【2】ステージ上に四角い塗りを描きます。 【3】その塗りを選択して, 「修正」→「シンボルに変換」(Flash MX 2004以上) または, 「挿入」→「シンボルに変換」(Flash MX 以下) を選択します。(図3↓) 【4】出てくる「シンボル変換」パネルで「ムービークリップ」に変換します。(図4↓) 【5】ステージ状のムービークリップになった四角をダブルクリックして ムービークリップ内のタイムラインの編集に入ります。(図5↓) 【6】フレーム1の四角をタイムラインのドラッグなどでフレーム2に移動させて, フレーム1 を空白キーフレーム,フレーム2 を四角の入ったキーフレームにします。(図6↓) 【7】フレーム1の空白キーフレームを選択して下のアクションパネルに stop(); を書いてムービークリップが自動再生しないようにしておきます。(図7↓) 【8】ステージ上の何も無い所をダブルクリックするなどして, _root(シーン1 などメインのタイムライン)の編集に戻ります。 【9】 小さな○だけになったムービークリップを選択して, 下のプロパティインスペクタでインスタンス名を付けます。 ここでは「mc1」というインスタンス名を付けることにしておきます。(図9↓) 【10】ステージ上に別のボタンを作成します。 他で作ったボタンをコピペするなどしても良いと思います。 【11】ボタンを選択してアクションパネルに on (rollOver) { _root.mc1.gotoAndStop(2); } と書きます。(図11↓) 意味は ロールオーバーしたとき _root の mc1 内のフレームをを フレーム2 で停止 という意味です。 これでパブリッシュするなどすれば動作確認ができます。 2つ目のボタン用にはインスタンス名 「mc2」 のムービークリップを作成 3つ目のボタン用にはインスタンス名 「mc3」 のムービークリップを作成   …    … としていくと, 1つのボタンに対して1つの専用のムービークリップができます。 つまり言い換えると, 1つのボタン専用のタイムラインができるということになります。 --- --- --- Flash は _root 自体も,実は1つのタイムラインをもつムービークリップの一種です。 たった1つのムービークリップでは大した表現などできません。 ムービークリップの中にムービークリップを作成するからこそ色々なものが作成表現できるのです。 ※図が見えない場合は   OKWave http://okwave.jp/qa4526915.html   からこのページにアクセスすると見えると思います。

hanamatya
質問者

お礼

とても丁寧な回答ありがとうございました! 完璧にできました! 図解もとっても分かりやすかったです。 こうすることでFlashの動作の幅が広がることもわかりました。 大変参考になりました。 ありがとうございます。

関連するQ&A

  • ボタンにロールオーバーで吹き出し表示

    ボタンにロールオーバーで吹き出し表示 flash初心者です。。 ボタンが数個並んでおり、それぞれにロールオーバーすると、吹き出しで説明画像を表示、マウスが外れたら吹き出しも消える、ということをしたいです。 難しいスクリプトを使わずに出来るだけ単純で分かりやすい方法(gotoandplayくらい)で実現するにはどうしたらよいでしょうか? ネットで調べたりしているのですが、スクリプトだと応用が出来ず… ご存知の方がいらっしゃいましたらどうかお教え願えないでしょうか。

  • FLASH5で、ボタンにロールアウト時にもアニメーションさせたい

    FLASH5を使用しているのですが、ボタンにマウスのロールオーバーで アニメーションを設定することはできますが、ロールアウトしたときにも アニメーションを設定したい場合、どのような方法があるか教えていただきたいです。 今私が作りたいのは「何もないところにロールオーバーするとボタンがゆっくり表示され、 ロールアウトするとゆっくり消える」というものです。 現時点では、私はムービークリップの中にボタンを入れ、最初のフレームで フレームアクションに stop (); を設定し、そこに配置してあるボタン(ここでは、透明なボタン)に on (rollOver) { play (); } で次のフレームに行くようにし、そこでロールオーバー時のアニメーション(ゆっくりボタンが現れる) を作成して、止めたいところでフレームアクションに stop (); を設定し、その停止時に配置してあるボタン(表示されている可視状態)に on (rollOut) { play (); } を設定し、その次のフレームからはロールアウト時のアニメーション(ゆっくりボタンが消える) を作成しています。 これだと、動作はするのですが メニュー等のようにボタン(この場合はボタンを含んだ ムービーですね)を隣接させて複数置いた場合などに on (rollOut) { play (); } のスクリプトがうまく効かず、他のボタンにロールオーバーしているにも関わらず前にロールオーバーした ボタンがそのままの状態(ボタンが消えず表示されたままの状態)で残ってしまいます。 tellTargetとifを使用するのかな?とも考えたのですがよくわからず困っています、、、、 長文で申し訳ないのですが、よろしくお願いします。

  • ロールオーバーするとラベルにジャンプし、ロールアウトするまでストップ

    ボタンAとボタンBの2つがありまして、 ボタンAにロールオーバーすると、指定したラベルにジャンプし、ボタンAの位置にボタンBがきます。 オーバー後少し進み、ロールアウトするまでストップしたいのですが、どうすれば良いのでしょうか? ボタンAには ──────────────────── on (rollOver) { gotoAndPlay("ボタンBの所のラベル"); } ──────────────────── と書いてあり、ロールオーバー時にきちんとラベルにジャンプしてくれます。 ボタンBには、 『 buttonB 』と名前を付け ──────────────────── on (release) { getURL("http://www.URL"); } ──────────────────── と記載してあり、別ページに飛ばしております。 該当のラベルまでジャンプした後、10フレームくらい進んだフレームにActionScriptをかけておりまして、 ──────────────────── stop(); clearInterval(stopID); var mov_stop = 4000; stopID = setInterval(function () { play(); clearInterval(stopID); }, mov_stop); } ──────────────────── となっており、ここのフレームでロールアウトするまでストップさせたいのですが、どうすればいいのか分からず困っております。 分かり難い文章で申し訳ないのですが、どなたか詳しい方ご掲示お願い致します。

    • ベストアンサー
    • Flash
  • ロールオーバーで…

    ホームページビルダーでページを作っています。 横に2マスある表を1つ作り、横幅を100%に指定、右のセルを幅50%に指定しました。 左側には40x40のサムネイルを100個ほど置いています。全部見るにはスクロールする必要があります。 右側のセルに右側のサムネイルをクリックしたときにプレビューを表示するようにしたいのですがうまく出来ません。 まず、ロールオーバーで右側セルにプレビューを表示することは出来ました(ビルダーの機能で出来ました)。 ---------------------------------------------- <A href="#" id="_HPB_ROLLOVER1" onmouseover="HpbImgSwap('_HPB_ROLLOVER1', 'pict/auto-mes/00/mes00-01-s.jpg'); HpbImgSwap('_HPB_ROLLOVER2', 'pict/auto-mes/00/mes00-01.jpg');" onmouseout="HpbImgSwap('_HPB_ROLLOVER1', 'pict/auto-mes/00/mes00-01-s.jpg'); HpbImgSwap('_HPB_ROLLOVER2', 'pict/blank.gif');"><IMG src="pict/auto-mes/00/mes00-01-s.jpg" width="40" height="40" border="0" name="_HPB_ROLLOVER1"></A> -------------------------------------------------- しかし、右側セル中央に表示指定にしているため一番上・下のものをロールオーバーさせると絵の全部が見えません。 写真のサイズは決まっておらず、まちまちです(縦長横長がランダムにある)。 そこで、ロールオーバーではなくクリックで右セルに表示させる方法とセル中央ではなく画面中央に表示させる方法があれば教えてください。 もしくは、ほかに何か良い方法がないでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • ボタン画像の下のFlashにポインタを移動するとロールオーバーのまま(IE以外)

    例として、三洋電機と三菱電機のサイトをあげます。 http://www.sanyo.co.jp/ http://www.mitsubishielectric.co.jp/index.html これらのサイトは、メニューにボタン画像を使用しており ロールオーバーの効果をもたせています。 そして、ボタン画像のすぐ下にページのメイン要素となるFlashが配置されています。 私もこのような構造のサイトを作っているのですが、 ひとつ解決できない問題があり悩んでいます。 私の作ったサイトでボタン画像にポインタを乗せるとロールオーバーするのですが、 ロールオーバー状態でポインタをFlashに移動させると ボタン画像が通常の画像に戻らずロールオーバーのままなのです。 ポインタをFlashの領域から外すと通常のボタン画像に戻ります。 この現象は、Win IE以外のブラウザ(FirefoxやSafari)で起こります(Macではまだ検証していません)。 しかし、先述の三洋や三菱のサイトでは、 ボタン画像にポインタを乗せロールオーバー状態でポインタをFlashに移動させても、 ボタン画像が通常の画像に戻ります。 ちなみに、私のサイトでは、ボタン画像をJavaScriptの「rollover.js」を、 Flashは「SWFObject」を使って配置しています。 何か解決策をご存知の方いらっしゃいましたら どうぞ宜しくお願いします。

  • ロールオーバーすると次の外部SWFへ

    環境:MacOS X    FLASH 2004MX ActionScriptの初心者の為に何をするにしてもつまずいてます… 宜しくお願い致します。 現在は、外部からSWFファイルをloadMovieで読み込んでいます。base.swf内のボタン(button01)をロールオーバーすると、イスタント名:kara_movieが入れ替わる簡単な仕組みです。 on (rollOver) { this.kara_movie.loadMovie("001.swf"); } しかし、この状態では別のボタンへロールオーバーしなければ 新たな外部SWFを読み込まない状態となっております。 ロールアウト(rollOut)すると001.swfの再生終了を待って 次の外部SWF(002.swf)を読み込む為にはどうすれば 宜しいでしょうか? また、そのまま003.swf→004.swf…と続いて再生が出来ればと 思っています。 どなたか、お教え頂けましたら幸いです。 以前も、ご指摘頂きましたが文章が分かり難いので 誤解をまねいてしまった事もございました・・・ 見苦しい文章とは思いますが宜しくお願いします。 参考にしているのは下記のURLのサイトのメインのFLASHバナーです。 http://www.konami.co.jp/

  • 画像がランダムに表示されるFLASHを作りたい

    こんにちは、お世話になります。 下記FLASHを作りたく以前も質問させていただいたのですが、どうしてもうまくいかないところがあり、再度投稿させていただきます。 (1)リロードするたびにランダムで切り替わる画像1~6がある (2)画像の横にボタン1~6があり、マウスオーバーするとそれぞれ画像1、画像2…と表示される (3)ボタン1~6をクリックするとwebページ1~6へジャンプ(リンクさせている) (4)画像1~6をクリックするとwebページ1~6へジャンプ(リンクさせている) まず画像を表示させるために一定区間をループ再生するフレームアクションを画像分(=6個)作りました。 各々frame1、2…とフレームラベル名をつけ、 ボタン1~6には on(rollOver){ this. gotoAndPlay("frame1"); } と記述しています。(ボタン1の例) そして1フレーム目に stop(); button1.onRelease = function(){ getURL("リンク先URL", "_self"); } gazou1に on(release){ getURL("リンク先URL", "_self"); } としています。これにより(2)(3)(4)は実現できています。でも(1)のランダムが全然分かりません。 ループ再生のフレームの前に7フレーム追加し、 1は空白キーフレーム 2はgazou1 3はgazou2… と配置し、フレーム1のアクションに stop(); button1.onRelease = function(){ getURL("リンク先URL", "_self"); } a=Math.ceil(Math.random()*6)+this._currentframe; gotoAndStop(a); と書き加えました。すると、画像が何も表示されないのです。IE7やSafariでは更新ボタンを押せばランダムで画像が現れるのですが、更新ボタンを押さなければ表示されませんし、Operaでは一度ボタンにロールオーバーさせなければ表示できません。 ランダム関数がよく分からずにやっているからダメなのだと思いますが、わからなすぎて何を勉強すればいいのかも分かりません。 とにかく時間がないので困っています。 どこが間違っているのかお教えいただけないでしょうか? 長文で申し訳ありません。どうかよろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASHのボタン表示について

    FLASHのロールオーバ時の各ボタン表示について質問があります。 今FLASHでメニュを作成していまして、下記ボタンを作成しました。 1.ボタンA 2.ボタンB 通常時の背景は1枚の写真です。 ここで、1.ボタンAを押すと(ロールオーバー時)背景を 写真A(背景を隠した全体表示)にして、 同じく2.ボタンBを押すと背景を写真Bにするボタンを作成しました。 各ロールオーバー時に背景は希望の写真背景に変わります。 しかし各ボタン表示が 1.ボタンAをを押すと2.ボタンBは表示 2.ボタンBを押すと1.ボタンAをが消える これは、ボタンのレイヤーでのどちらが前面かで変わることが分かりました。 ここで希望としては、1を押しても(ロールオーバ時)2のボタンが表示され、 2を押しても(ロールオーバ時)1のボタンが表示されるようにしたいのですが、 この場合どうすれば宜しいのですか? ボタンの表示優先(レイヤー前面か後面)がある限り無理なのでしょうか? ボタンのロールオーバ時のボタン表示について分かる方、教えてほしいのですが、お願いします。

  • ロールオーバーで切り替えられるのは出来るの画像だけ?

    リモートロールオーバーで、サイトの更新情報を表示しようと思っています。 テーブルを組んで、サイトの各コンテンツの名前をオンマウスすると、横のセルに画像が表示されるようにしました。 更新情報だけは、画像が半分のサイズで、もう半分にテキスト(更新情報)を表示したいのです。 (以前はインラインフレームでこの方法を取っていたので、フレームを組んだページを表示させていたので問題なかったのですが、オンマウス表示にしたくて、悩んでいます) ロールオーバーの機能では画像だけしか切り替えが出来ないのでしょうか? また、テーブルの一つのセルの中に、画像とテキストの2種類をオンマウスで表示させる事は可能でしょうか? 御回答頂けると嬉しいです。

  • ロールオーバーで小窓を出したい。

    今、ロールオーバーでリンクを指定してあります。 ロールオーバーはHPビルダー2001でつけました。 そのロールオーバーの編集でリンク付けてあります。 このリンクをロールオーバーしている画像を押した時に 小窓で表示される様にするにはどうすれば良いのでしょうか? 教えてください。

    • ベストアンサー
    • CSS

専門家に質問してみよう