• ベストアンサー

一定時間ごとにカウント

iを0として、一定時間たったらiを1プラスしたいのですが、 どのようにしたらいいかわかりません。 setIntervalを使って下記のとおり記述してみました。 var i = 0; function cnt(){ i++; } setInterval(cnt,1000); trace(i); しかし、iはいつまでたっても0のままです。 たとえば20秒ごとにiを1プラスしていくといった場合は、 どのように記述したらいいのでしょうか。 Flash CS3、WinXP、AS2.0です。 よろしくお願いいたします。

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

  • ベストアンサー
  • atse
  • ベストアンサー率83% (36/43)
回答No.1

traceをしている場所が悪いです。 setIntervalを設定した直後に一回実行しているだけです。 var i = 0; function cnt() { i++; trace(i); } setInterval(cnt, 1000); として、時間ごとに実行されるcnt()内で実行しましょう。 setIntervalに使われている数値の部分はミリ秒表記なので、 1000ミリ秒=1秒、よって20秒にしたい場合は、20000とすればよいです。 また、setIntervalを変数に代入しておくと後から削除もできるので、 必要な場合はやっておくと良いでしょう。 var i = 0; function cnt() { i++; trace(i); if (i >= 20) { clearInterval(myID);//interval終了 trace("iが20以上になったから終了!"); } } var myID = setInterval(cnt, 1000);

hukazuo
質問者

お礼

ありがとうございました。 無事解決できました^^

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 一定時間停止後フレーム移動

    初心者ですがよろしくお願いします。 ActionScript3.0にて 一定時間後に任意のフレームまで戻るを実行したいのですが 一定時間止まらずにフレームまで戻ってしまいます。 下記の記述は間違ってますか? 一定時間停止の記述法は色々あるみたいですが いくつかやってみたところエラーばっか出て動きませんでした。 この記述だとちゃんと停止するのですが gotoAndPlay(10); を付けると停止しません。 this.stop(); this.iid = setInterval (function (m) { m.play (); clearInterval (m.iid); }, 3000, this); gotoAndPlay(10);

    • ベストアンサー
    • Flash
  • ノベルゲームを FLASH AS2 で作りたいです

    ノベルゲームを FLASH AS2 で作りたいです しかし、文章をクリックして表示することはできたのですが、「男が現れた」など画像を途中から読み込みたいです。 文章再生してる途中 myData[2] からフレームを跳んで、画像などを表示させたいのですが、どうすれば途中から跳んでくれるのかわかりません。 助けていただけていただけないでしょうか? アクションはこんな感じです。 var myData = new Array(); myData[0] = "…………………………。"; myData[1] = "こんにちは"; myData[2] ="男が現れた"; var spd = 40; var n = 0; var cnt = 0; myButton._visible = true; function myFunc() { cnt++; myField.text = myData[n].substr(0, cnt); updateAfterEvent(); if (cnt>=myData[n].length) { myButton._visible = true; clearInterval(myID); } } myID = setInterval(myFunc, spd); myButton.onRelease = function() { if (n<myData.length-1) { n++; } else { n = 0; } cnt = 0; myID = setInterval(myFunc, spd); myButton._visible = true; };

    • ベストアンサー
    • Flash
  • clearIntervalの記述方法について

    よろしくお願い致します。 jQueryにて「setInterval」を使用して、オープニングムービー(?)のようなものを作りたいと思い、見よう見まねで下記のようなコードを作りました。 取りあえず動作するようになったのですが、繰り返し動作を止めるための「clearInterval」の使い方が分かりません。 この場合、どのようにコードを記述すればよいのでしょうか? お手数ですが、どうぞご教授下さいますようお願い致します。 $(document).ready(function(){ $("#A").fadeTo(0,0); $("#B").fadeTo(0,0); $("#C").fadeTo(0,0); var timerId1 = setInterval(function(){ $("#A").fadeTo(1000,1); var timerId2 = setInterval(function(){ $("#B").fadeTo(1000,1); var timerId3 = setInterval(function(){ $("#C").fadeTo(1000,1); }, 1000); }, 1000); }, 1000); });

  • JavaScriptで一定時間待ってから実行

    サイトを読み込んで一定時間待ってから実行する、JavaScriptの記述でを教えてください。 情報サイトを参考にし、自分なりにコードを書いてみました。 現在、IE・Firefox・Chromeでは正常に動作しますが、 Windows用Safariでのみ動作がおかしくなっています。 私の記述が間違っていると思います。 下記にコードを記述しました、ご指摘いただけませんでしょうか。 <サウンドとSafariの動作について> サイトを開いた時にサウンド(2.5秒位)を鳴らしています。 サウンドはループしています。 Safari以外はサウンドが全て鳴り終わってからループします。(正常) Safariのみサウンドが全て鳴り終わらずにループします。 (下記記述の一定時間で待つ時間で止まってから再度はじめから鳴ります) 全くの素人で大変恐縮ですが、ご指摘よろしくお願いします。 【コード】 jQuery(document).ready(function(){ setTimeout('stop()', 2000); }); function stop(){ musicjs.createAll(); }

  • var fun: Function;

    var fun: Function; fun = function(): Number { return 0; }; trace(fun); //==> Null となってしまうのですが、 なぜできないのでしょうか。 また、解決法を御願いします。 as3 cs3 player10です

    • ベストアンサー
    • Flash
  • addChildでボタンを配置

    Flash CCで勉強中です 下記わからないことがあるので、教えてください。 (1) avtionscriptで下記のようにボタンを配置したら、 タイムライン上のレイヤーのせいかボタンが表示されません。 レイヤーを非表示にしてみるとちゃんとボタンは見えています。 addChildの部分をaddChildAt(_sinbol_btnhome,stage.numChildren-1)と最上位にしても 見えません。どのようにすればいいのでしょうか。 (2)下記ENTER_FRAMEイベントで起動直後のフレーム番号1でstopするように書いても止まらず  70で止まってしまいます。なぜでしょうか。起動直後に止まって、任意のアクション後スタートするように したいのですが、どのようにすれば良いでしょうか。 package { import flash.display.MovieClip; import flash.display.StageDisplayState; import flash.events.Event; import flash.events.MouseEvent; public class main extends MovieClip { private var cnt:int=0; public function main() { super(); //ボタン配置 var _btn:btn = new btn; _btn.x=3; _btn.y=462; addChild(_btn); _btn.addEventListener(MouseEvent.CLICK,btnhomeOnMouseDown); function btnhomeOnMouseDown(eventObj:Event):void { trace("BTN_DOWN"); } addEventListener(Event.ENTER_FRAME,onEnterFrane); } private function onEnterFrane(eventObj:Event):void { cnt +=1; trace(cnt.toString()); if(currentFrame == 1){ trace("初回起動") stop(); } if(currentFrame == 70){ trace("フレーム70") stop(); } } } }

    • ベストアンサー
    • Flash
  • 連番のインスタンス名をつけたMCの処理 (配列アクセス演算子)

    Adobe Flash CS3、AS3.0の環境で作成しております。 インスタンス名に、btn1~btn10までの連番で名前をつけたMCを、ドラッグ&ドロップできるようにしたいのですが、簡潔に設定を行いたいと思い、配列アクセス演算子を使用すればよいのでは、と思い、下記のように記述したのですが、ドラッグしようとした時点で、「TypeError: Error #1010: 条件は未定義であり、プロパティがありません。」のエラーが出ます。 //--------------------------------------------- for (var i=1; i<=10; i++) { this["btn"+i].buttonMode = true; this["btn"+i].addEventListener(MouseEvent.MOUSE_DOWN, down); this["btn"+i].addEventListener(MouseEvent.MOUSE_UP, up); } function down(eventObject:MouseEvent):void { this["btn"+i].startDrag(); } function up(evnetObject:MouseEvent):void { this["btn"+i].stopDrag(); } //--------------------------------------------- 問題切り分けのために、マウス操作があったときの動作を、単なるtrace等にしてみると問題なく動作するので、function~部分の  this["btn"+i] の記述が問題だというのはわかるのですが、ここの正しい記述方法がわからず、行き詰まっております。ご教示いただけませんでしょうか。

    • ベストアンサー
    • Flash
  • 一定時間で変化する画像とリンク

    業者さんにトップのページを作成してもらいました。 一定時間で画像が変化するようになっているのですが、 その画像ごとにクリックした際に違うリンクを貼りたいのですが 初心者の為、よくわかりません。 下記ソースですが どこを編集したらよいのでしょうか? <!-- //変更秒間隔を指定 var sec = 5; sec = sec * 1000; arrI = new Array("top_P1.jpg","top_P2.jpg","top_P3.jpg") var num = arrI.length; var arrO = new Array(); for (var i=0;i<num;i++) { arrO[i] = new Image(); arrO[i].src = arrI[i]; } i = 0; function cngImg(){ if(document.all){ document.images.img.style.filter="blendTrans()"; document.images.img.filters.blendTrans.Apply(); } document.images.img.src = arrO[i].src; if(document.all){ document.images.img.filters.blendTrans.Play(); } i ++; if(i >= num){i = 0;} setTimeout("cngImg()",sec); } //-->

  • flashを一定時間停止させる方法について

    flashで画像ボタンをスクロールさせて表示するメニューボタンを作ろうとしています。 画像ボタンは1つ移動するごとに3秒停止し、3秒経つと横に移動し、 次の画像ボタンが現れ、また3秒停止する、といった動きを繰り返すようにしました。 ここまではできたのですが、 押したい画像ボタンが現れるまで待つのが面倒な場合を考慮し、 メニューの左右にスクロールを進めるためのボタンを付けたところ、 停止の挙動がおかしくなってしまいます。 スクロールを進めるためのボタンを押さなければ正常に 3秒経って画像ボタンが移動するという動きを続けてくれるのですが、 スクロールを進めるボタンを押すと、その後の一時停止が0.5秒くらいになったり 1秒くらいになったりと、指定通りの動きをしなくなってしまいます。 どうすれば正常に動かすことができるのでしょうか? 現状では下記のスクリプトを空白キーフレームに入れて動かしています。 stop(); stopID = setInterval(stopFRAME,3000); function stopFRAME() { clearInterval(stopID); play(); } よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flashでテキストをランダム表示

    現在ウェブページで、javascriptを使って、テキストメッセージをランダム表示しています。 FlashのActionScriptを使い、同等のことを行いたいのですが、どうすればよいでしょうか。 なお、出来たら表示するテキストは外部から読み込ませたいです。 よろしくお願いします。 現在使っているjavascriptは以下です。 --------------------------------- <script type="text/javascript"> var MsgCnt=5; var Msg=[]; Msg[1] = "これは1番目のメッセージです。"; Msg[2] = "これは2番目のメッセージです。"; Msg[3] = "これは3番目のメッセージです。"; Msg[4] = "これは4番目のメッセージです。"; Msg[5] = "これは5番目のメッセージです。"; var ary=[]; for(var i=0;i<MsgCnt;i++)ary[i]=i+1; function arySort(){ ary.sort(function(){return Math.random()-Math.random();}); } var cnt=0;arySort(); function RandomMsg(){ if(cnt>=MsgCnt)cnt=0,arySort(); document.write(Msg[ary[cnt++]]); } </script> <script type="text/javascript"> RandomMsg(); </script> --------------------------------- 環境: windows vista flash pro 8

    • ベストアンサー
    • Flash