• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:指定した時間に一回だけ処理を行うMC)

指定した時間に一回だけ処理を行うMC

このQ&Aのポイント
  • 指定時間に一度だけ処理を行わせる方法はありますか?
  • 具体的には、指定時間になると吹き出しMCを表示・再生し、さらに指定時間になると消滅させる方法を教えてください。
  • 失敗した工程としては、あらかじめ変数に表示・消滅したい時間を設定し、現在時刻と比較して処理を行う方法です。

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

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

そのムービークリップ自体に次のように書けば一応できると思います。 --------------------------------------------- // このムービークリップが表示された最初に実行 onClipEvent (load) { // 表示させる 時showH と 分showM を設定 showH = 10; showM = 20; // 消滅させる 時hideH と 分hideM を設定 hideH = 10; hideM = 25; // // このムービークリップを非表示にしておく this._visible = false; // このムービークリップを停止させておく this.stop(); } // 1フレーム進む時間ごとに毎回実行 onClipEvent (enterFrame) { // 今現在のDateオブジェクト nowDate を作成 nowDate = new Date(); // 今現在の 時nowH と 分nowM を取得 nowH = nowDate.getHours(); nowM = nowDate.getMinutes(); // 今の時刻が表示させる時刻以上で // なおかつ 今の時刻が消滅させる時刻未満で // なおかつ このムービークリップが非表示の場合 if (nowH*60+nowM>=showH*60+showM && nowH*60+nowM<hideH*60+hideM && !this._visible) { // このムービークリップを表示させて this._visible = true; // フレーム1 から再生開始 this.gotoAndPlay(1); // 今の時刻が表示させる時刻未満 // もしくは 今の時刻が消滅させる時刻以上で // なおかつ このムービークリップが非表示の場合 } else if (nowH*60+nowM<showH*60+showM || nowH*60+nowM>=hideH*60+hideM && this._visible) { // このムービークリップを非表示にして this._visible = false; // フレーム1 で停止 this.gotoAndStop(1); } } --------------------------------------------- Flash 5 以上 で使用可能。

noname#77303
質問者

お礼

回答ありがとうございました。 これに少し手を加えさせていただき、無事に出来ました! もう少し簡単なものの方が、レベルが合っているのかもしれません。^^;

関連するQ&A