ボタンAとボタンBのロールオーバーについての質問

このQ&Aのポイント
  • ボタンAにロールオーバーすると指定したラベルにジャンプし、ボタンBが表示されます。
  • ボタンBをクリックすると別ページに移動します。
  • 指定したラベルまで進んだ後、一定フレームでロールアウトするまで停止させたいです。具体的な方法がわかりません。
回答を見る
  • ベストアンサー

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

ボタン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
  • 回答数1
  • ありがとう数2

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

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

ご質問で書かれていらっしゃる, ──────────────────── stop(); clearInterval(stopID); var mov_stop = 4000; ~ 以下略 ~ ──────────────────── の stop(); 以外を消して, つまり, ──────────────── stop(); ──────────────── これだけにして, そのフレームにある ボタンB に, 普通に次のように書けば良いだけなのではないでしょうか。 ──────────────────── on (release) { getURL("http://www.URL"); } on (rollOut) { gotoAndPlay( stop(); を書いた次のフレーム ); } ────────────────────

Joker0422
質問者

お礼

何とか自力で解決しました、ご回答ありがとうございます。 4秒間止めたいので、setIntervalは使用しておりますが、その手前にstop();をかけることで解決しました。 該当ラベルにジャンプした後、モーショントゥイーンでフェードインしておりましたので、gotoAndStop();じゃダメだしなぁ・・・と思っておりました。 よく考えればロールオーバー後はロールアウトするので簡単な事なんですね、勉強になりました。

関連するQ&A

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

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

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

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

    • ベストアンサー
    • Flash
  • FLASHのボタンの動作(他のボタンにロールオーバーしたら…)

    AというボタンとBというボタンがあります。 Aには on (rollover) { this.gotoAndPlay(2); } on(rollout){ this.gotoandplay(6); } というアクションがついていますが、 「rollout」ではなくて、「Bのボタンにrolloverしたら」というように変えたいのですが、 どのように記述したらよろしいでしょうか? よろしくお願いします。

  • ロールオーバーで…

    ホームページビルダーでページを作っています。 横に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
  • 数秒後に別フレームにとばす方法

    1フレーム目で画像を読み込み10秒表示させた後に2フレーム目でまた10秒表示させるといった事を試しています。 表示させる画像はムービークリップで最後の1秒でフェードアウトさせるようにしているのですが 完全にフェードアウトする前に2フレーム目に飛んでしまいます。 何か解決方法はないのでしょうか?? 1フレーム目 ---------------------------------------------------------- this.stop(); timerID = setInterval(startMovie, 10000); function startMovie() { clearInterval(timerID); gotoAndStop(2); } 2フレーム目 ---------------------------------------------------------- this.stop(); timerID = setInterval(startMovie, 10000); function startMovie() { clearInterval(timerID); gotoAndStop(1); } ちなみにgotoAndStop();を消すとそのフレームでループしますが完全にフェードアウトしてくれます…。

    • ベストアンサー
    • Flash
  • ロールオーバーすると次の外部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/

  • マウスオーバーで全ムービークリップ停止

    上手く説明出来ないのですが、 ムービークリップのメニューを作ろうとしています。 マウスオーバーで全部のムービーが止まる様にしたくて、 一つのムービークリップに全部のムービークリップのメニューをまとめ、選択すると ーーーーーーーーーーーーーーーーここから シーン=シーン1,レイヤー=menu,フレーム マウスイベントはボタンインスタンスでのみ使用できます。 シーン=シーン1,レイヤー=menu,フレーム マウスイベントはボタンインスタンスでのみ使用できます。 ーーーーーーーーーーーーーーーーここまで とエラーになってしまいます。 だからといってメニュー一つ一つに on(rollOver){ stop(); } on(rollOver){ play(); } を記述しても、マウスオーバーしているメニューだけが止まって、 他のメニューは動いてぐちゃぐちゃになってしまいます。 ひとつのメニューをマウスオーバーするだけで他全部のムービークリップも停止、 マウスをはずすと同じ所から動きだす事って出来ますか? いい方法がありましたら教えて下さい。

  • ロールオーバーの動作について

    なんと表現すればいいものか悩んだのですが下記のような 感じで画像のロールオーバーで表示が変わるものを探しています。   A 1 2 3   T ※A,1,2,3は画像です。 Aには最初に表示される画像があり1,2,3にマウスを合わせると Aの箇所に拡大画像が表示されロールアウトするとAは最初に 表示されていた画像に戻ります。 同時にロールオーバーするとTの箇所にそれぞれ任意のテキストを 表示させたいのですがどのようにすればいいものか全くわからない 状態です。 無知なものでサンプルがないものかと探してみたのですが探し方が 悪いものかなかなか見つかりませんでした・・・ 詳しい方やサンプル等ご存知の方がおりましたら是非ご教授 お願い致します。

  • 画像がランダムに表示される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
  • アニメーションするロールオーバーにリンクを張りたい

    http://www.geocities.jp/peperon44/peach.html←の様にアニメーションしてリンク先が出てくるロールオーバーを作っています。 http://www.geocities.jp/peperon44/peach.fla←に作っているファイルを置きましたが 一番上の階層にシンボル化したボタンを置き、その下の階層ですべてのフレームアニメーションをさせていますが、1フレーム目に this.stop(); //マウスカーソルがロールインした this.onRollOver = function() { //ロールオーバー開始 rollover = true; }; //マウスカーソルがロールアウトした this.onRollOut = function() { //ロールオーバー終了 rollover = false; }; //フレームが進む度に実行 this.onEnterFrame = function() { if (rollover) { //次のフレームへ進む(最終フレームでは無視される) this.nextFrame(); } else { //手前のフレームに戻る(先頭フレームでは無視される) this.prevFrame(); } }; を入れ大ボタンから出てくる紹介、名前、名簿をそれぞれフレームアニメーションにさせ、シンボル化させて各オブジェクトに on (release) { getURL("name.html", "_foot"); } を入れていますが、指定のURLにリンクがかかりませんのでボタンに反応してくれません。記述が間違っているのか、スクリプトを書く場所を間違えているのだと思います。 このつくりだと一番上の階層に on (release) { getURL("name.html", "_foot"); } と入れると指定のURLにリンクされますが、それでは3つリンク先を分けられないので大ボタンから3つの文字がアニメーションして出てくる意味がありません。大ボタンから出てくる小ボタンにリンクを張るようにしたいです。 FLASHに関してはまだまだの未熟者ゆえ解らないです。何方かお助け下さい。 環境はWindowsXP ソフトはFLASH8です。

    • ベストアンサー
    • Flash

専門家に質問してみよう