• ベストアンサー

Key入力を無効にするには

キーボードのボタンを押したらムービーの再生をして、再生が終わったら指定したフレームにジャンプさせたいのですが、ムービー再生中にキーボードのボタンをまた押すと最初からムービーが再生しなおされてしまいます。 on (release) { A.loadMovie("AA.swf"); btnA.enabled=false; } クリックの場合だと↑で上手くいったので、キー入力を無効にできたらと思ったのですが、どうしたらいいでしょうか

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

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

  • ベストアンサー
  • yasu147
  • ベストアンサー率78% (100/128)
回答No.1

クリック以外のスクリプトが書かれていないのでもしかしたら別の方法で行われているかもしれませんが・・・ まず、ムービー再生中にtrue、再生前はfalseになる変数を用意します。(今回はmovieplaying) キーボード処理で、その変数がfalseの時のみ再生を開始して、trueの時は何もしないという処理を作ればよいのです。 最初のフレームに var movieplaying:Boolean = false; と入れます。 質問に書かれているクリック再生時の処理は on (release) { A.loadMovie("AA.swf"); //ボタンの場所によっては_root.movieplayingにする movieplaying = true; btnA.enabled=false; } にします。 そして失敗しているキーボード処理にこれを加えます。 //☆すでに作成したキーボード処理 if (movieplaying == false) { movieplaying = true; //☆すでに作成した再生処理 } else { //ここは削除可能 trace("キーボードが押されましたがすでに再生中です。") }

supertentu
質問者

補足

回答ありがとうございます。 大変参考になりました!

関連するQ&A

  • loadMovieで特定のフレームを表示したい

    お世話になっております。 loadMovieで別のswfを読み込むことができますが、読み込んだファイルの特定のフレームを表示させたいのです。 たとえば、a.swfにb.swfをloadMovieします。 a.swfには3個のボタンがあり、それぞれがb.swfの1フレーム、10フレーム、20フレームに対応します。 ひとつのボタンに、 on (release) { this.loadMovie("b.swf"); this.gotoAndStop(10); } としても表示されないのはなんとなく理解できますので、 a.swfにムービークリップ(インスタンス名load_mc)を作り、その中にロードするようにし、さらにa.swfの5フレーム目にload_mcの10フレーム目を表示するように書きました。 ボタンに on (release) { this.load_mc.loadMovie("b.swf"); this.gotoAndStop(5); } 5フレーム目に this.load_mc.gotoAndStop(10); やはり、うまくいきません。 私の考え方が悪いのでしょうか? どうすればいいですか? どなたかよろしくお願いします。m(__)m WinのFLASH8使用です。

    • ベストアンサー
    • Flash
  • ボタンの有効と無効

    アクションスクリプトの初心者です。 いつも、お世話になっております。 ページtopにA,B,C,D四つのボタンがあります。 各ボタンを押すと、ページA、ページB、ページC、ページDへジャンプします。 ボタンAとB両方を押す前には、ボタンCとDは無効です。 AS2.0です。 流れはこうです。 最初Topページは、A,Bボタンは有効、C,Dボタンは無効の状態。 A(B)ボタンを押下→ページA(B)へジャンプ→戻るボタンを押下→Topページへ戻る。→B(A)ボタンを押下→ページB(A)へジャンプ→戻るボタンを押下→Topページへ戻る。→C,Dボタンが有効になり、押下すると各ページへジャンプする。 大元に以下のように書きましたが、なぜかうまくいきません。 どうぞご教授のほどよろしくお願いします。 btnA.onRelease=function(){ gotoAndStop(pageA);//ページAへジャンプ a = 1; } btnB.onRelease=function(){      gotoAndStop(pageB);//ページBへジャンプ b = 1; } if(0==a+b){ btnC.enabled = false; btnD.enabled = false; }else if(2==a+b){ btnC.enabled = true; btnD.enabled = true; }

    • ベストアンサー
    • Flash
  • 外部swfのフレームを指定して読み込み

    あるムービークリップ(mc1とします)に外部swf(001.swfとします) を読み込むことはできるのですが、 mc1に001.swfを読み込み、001.swfの50フレーム目から再生ということは可能でしょうか。 いろいろと調べたのですが、どうしてもうまくいきませんでした。 ボタンを作りボタンを押したら読み込み50フレーム目から再生という指示を書いたのですが、、、 on (press) { _root.mc1.loadMovie("top.swf"); _root.mc1.gotoAndPlay(50); } 1フレーム目から再生されてしまいます。

  • loadMovieで外部swfの読込みについて

    現在、外部swfを連続で再生させるフラッシュを作成中です。 以下の方法で実現しています。 ------------------------------------------------- 親SWFの_rootに,例えば「loadMC」というインスタンス名のムービークリップを作ります。 このMCは小さくて透明のMCか,中に何も入っていない空のMCが良いと思います。 そして,親SWFのフレームのスクリプトに _root.loadMC.loadMovie("movie1.swf"); と書けば,「loadMC」というインスタンス名のムービークリップに「movie1.swf」が読み込まれます。 またはボタンにスクリプトを書いて,ボタンで読み込みをさせても良いです。 そして,「movie1.swf」の最終フレームに, _root.loadMC.loadMovie("movie2.swf"); と書いておきます。これで同じ「loadMC」に「movie2.swf」が読み込まれます。 同じ所に新たなムービーを読み込むと自動的に前のムービーは unload されるので, unloadMovie(); は必要ありません。 「movie2.swf」の最終フレームには _root.loadMC.loadMovie("movie3.swf"); 「movie3.swf」の最終フレームには _root.loadMC.loadMovie("movie4.swf");   …  … ------------------------------------------------- 作成後のプレビュー又はswfをダブルクリックなどで直接表示させると正常に表示されます。 しかし、HTMLに埋め込むと真っ白な状態でまったく表示されません。 調べているのですが原因がわかりません。 どなたかご教授のほど宜しくお願い致します。

    • ベストアンサー
    • Flash
  • トゥーインで動くMCへ、外部swfをloadMovie

    どなたか教えて下さい。 【例】 stage(W=400XH=200)の大きさの元swf上に、W=200,H=100の大きさのMC(インスタンス名は"aa_mc")を、右端から左端へ、モーショントゥーインを使って移動します。 単純に5フレーム使って移動して、5フレーム目で左端にきて「stop」します。 そのaa_mcの下に、ボタンがあり、そのボタンに on (release){ _root.aa_mc.loadMovie("gaibu.swf"); //gaibu.swfは同じフォルダ内にあるaa_mcと同じ大きさのswf } で、読み込ませたいんですが、aa_mc自体が動いている瞬間に一瞬だけ表示されてすぐに消えてしまいます。 厳密に言えば、_rootの1フレーム目くらいで表示され、4フレーム目くらいには消えてしまうんですが、これってどうすれば直るんでしょうか? どなたか教えてください! FRASH MX 2004を使っています。 お願いします。

    • ベストアンサー
    • Flash
  • ボタンの無効化

    いつもお世話になっております。 _rootにおかれたボタンを無効化したいのですがうまくいきません。 これは_rootのフレームに記述しています。 this.pb1.onPress = function() {   trace("test");   this.pb1.enabled = false; }; この書き方になにか問題があるのでしょうか? どうかご指導よろしくお願いいたします。

  • 外部swfファイルを読み込み任意のフレームにジャンプしたい

    重複質問でしたらすみません。。。 _rootに「メニュー」というムービークリップをおきました。 その中にボタンをいくつか配置してある状態です。 ボタンを押すと_rootへ外部swfを読み込むようにし、loadMovieを使い読み込みには成功しました。 その際に ボタン1⇒外部ファイル1のフレーム1 ボタン2⇒外部ファイル1のフレーム10 というように、ボタンによって同じ外部ファイルの違ったフレームへジャンプさせたいのですがうまくいきません。 このような場合はどうしたらよいのでしょうか。 アドバイスがありましたらお願いします。

    • ベストアンサー
    • Flash
  • PgDnキーを無効化するソフトは?

    PgDnキーを無効化する方法はありませんか? 私のキーボードは89キーボードで、「→」キーの真上にPgDnキーが配置されており、メーラーで長文を書いている途中に誤って、PgDnキーを押してしまい、メールの最下位にジャンプしてしまう事がしばしばあり、多少困ってます。 PgDnキーは、ほとんど使用しないので、ソフト的にPgDnキーを無効化する方法がありましたら教えて下さい。

  • 自分自身をunloadmovie

    どなたか教えて下さい。 _root上のMCに外部swfを読み込んだとします。 その読み込まれたswf上にあるボタンを使って、それ自身のswfを他のswfに置き換えるにはどのようにActionScriptを記述すればよいのでようか? ■例■ area_mcという名のMC上に、同じ階層にある01.swfを読み込む。 _root.area_mc.loadmovie("01.swf"); _root.area_mc._lockroot = true; 読み込まれた01.swf上にあるボタンBtnA_btnをクリックして、01.swfを別の02.swfに置き換えたい ↑↑↑↑↑↑↑ これってできるのでしょうか?だとしたら、01.swf内のBtnA_btnにはなんと記述すればよいのでしょう? どなたかお力をお貸し下さい。 よろしくお願い致します。

    • ベストアンサー
    • Flash
  • 外部SWFを読み込み、指定したラベルから再生したい。他

    Flash8を使用し、Win/Mac両方で作業しています。 ActionScriptは基本をどうにか理解しつつあるレベルです。よろしくお願いします。 「base.swf」「submovie.swf」の2つのファイルを用意し、 base.swfのステージに、 ・空のムービークリップ(インスタンス名:main) ・ボタン(インスタンス名:buttom) を配置し、ボタンに下記アクションを記述しました。 on (release) { loadMovie("submovie.swf", "main"); } この記述で、「submovie.swf」が「main」に表示されるのを確認しました。 そして、ここからが質問なのですが、 1.どこにも「stop」アクションを仕込んでいないはずなのに、LoadMovieで読み込んだ「submovie.swf」が1フレーム目で停止してしまいます。 何か別の記述が必要なのでしょうか。 2.ボタンクリックにより、「submovie.swf」内の指定したフレームを再生したいのです。 「submovie.swf」には「first」「second」「third」の3つのラベルを設定しています。 たとえば、「buttom」インスタンスをクリックした際に、「submovie.swf」内「second」ラベルを再生したい場合、どのように記述すればよろしいでしょうか。 また、もし上記の条件でラベルが使用できない場合、何か代替となる方法があるでしょうか。 不足している情報があれば追記します。よろしくお願いいたします。

    • ベストアンサー
    • Flash