ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

FlashコミュのsetInterval()/clearInterval()の代替スクリプト

  • mixiチェック
  • このエントリーをはてなブックマークに追加
現在、「Flash Player 5」対応のコンテンツを制作しております。(バージョンを上げる事は不可能です)

私自身「Flash MX」から本格的にFlashをいじりだしたので、MX以前のバージョンでのオーサリングをきちんとやった事がありません。

Web・本を見ながら試行錯誤して1週間位なのですが、上手く動いてくれません。(暴走したり、全く動かなかったり・・・)

どなたか、ご教授お願いできればと思います。
他にもあるのですが、まずはここから。

コメント(3)

こんにちわ。
どんな仕組みのものを時間軸上で動かそうとしているのでしょう?
差し支えなければ、教えてくださった方が早い気がしますが。。
setInterval&clearIntervalの代替…私は逆に元々5から始めた&JavaScriptでも動作が怪しい時代にスクリプトを始めたので、使うまでどきどきでした。

私が以前やっていた方法ですが、タイムラインと場合によってはgetTimer()を使って擬似的に再現する方法があります。

新しくムービークリップを作成します。(便宜上名前は、myTimer_mc)
1フレーム目に、this.stop();
2フレーム目に実行したい命令を書きます。
3フレーム目以降は実行間隔分のフレームを挿入し、最後のフレームに、this.gotoAndPlay(2);と書いておきます。
そして、いままでsetInterval();を書いていたところで、myTimer_mc.gotoAndPlay(2);
clearInterval();を書いていたところで、myTimer_mc.stop();
とします。

動的に呼び出し時間を変えたいときは、myTimer_mcのonClipEvent(enterFrame)で、getTimer();をもとに時間を計算して、gotoAndPlay();を実行します。実行が不要かどうかは、フラグをたてたりして管理するのがおすすめです。

どちらも、フレームレートによって設定できる最小値が決まってしまうので、厳密な時間間隔で実行するのは難しい場合があります。
※メインのタイムラインで時間の管理をするのは、ほかに影響する可能性があるのであまりやらない方が良いと思います。
りささん。
ありがとうございます。
この方法でやってみます。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Flash 更新情報

Flashのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング