• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ActionScript3.0 gotoAndPlay(currentFrame-1)が遅いのは何故?)

ActionScript3.0のgotoAndPlay(currentFrame-1)の遅さの原因は?

このQ&Aのポイント
  • ActionScript3.0のgotoAndPlay(currentFrame-1)の実行速度が遅い問題について調べました。
  • ActionScript2.0では問題なく使えるのに対して、ActionScript3.0では実行速度が低下してしまう現象が起きています。
  • この問題は3.0の仕様変更によるものなのか、他の原因があるのか、原因を特定するための情報が必要です。

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

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

Flash Player 9 ,または Flash Player 9 用 SWF のバグのような気がします。 フレームレート を 10fps にします。 フレーム1 に trace("time1=" + getTimer()); と書き フレーム2 に trace("time2=" + getTimer()); gotoAndPlay(currentFrame-1); と書き CS4 で Flash Player 9 用 SWF 設定で 「制御」→「ムービープレビュー」すると,次のような結果になりました。 ------------- time1=6 time2=76 time1=76 time2=206 time1=206 time2=406 time1=406 time2=606 time1=606 time2=806 time1=806 time2=1006  …   … ------------- gotoAndPlay(currentFrame-1); 自体は正常に動作するのですが, その後,フレーム1 でもたついているのがわかります。 CS4 で Flash Player 10 用 SWF 設定で 「制御」→「ムービープレビュー」すると,次のような結果になりました。 ------------- time1=6 time2=57 time1=57 time2=139 time1=139 time2=205 time1=205 time2=305 time1=305 time2=405 time1=405 time2=505 time1=505 time2=605 time1=605 time2=705 time1=705 ------------ 最初はどうしても不安定になりますが, 基本的にちゃんと正常に動作してますね。 フレーム2 のスクリプトを trace("time2=" + getTimer()); gotoAndPlay(_currentFrame-1); のように変え CS4 で ActionScript 2.0 Flash Player 8 用 SWF 設定で 「制御」→「ムービープレビュー」すると,次のような結果になりました。 ------------ time1=24 time2=98 time1=98 time2=122 time1=122 time2=219 time1=219 time2=319 time1=319 time2=419 time1=419 time2=519 time1=519 time2=619 time1=619 time2=719 time1=719 ------------ これも最初はどうしても不安定になりますが, 基本的にちゃんと正常に動作してますね。 フレーム移動後の動作をフレーム移動前に命令できないなど, (gotoAndStop(3) を した後に フレーム3 から出てくる ムービークリップ を動作させられない など) Flash Player 9 (用SWF)には妙なバグのようなものがありますよ。 多くの方が ActionScript 3.0 の仕様だと勘違いされているようですが, 実は Flash Player 9 (用SWF) の不具合, または, Flash Player 9 の仕様のように思います。

bbcd
質問者

お礼

検証して頂いて助かります。どうやらバグのようですね。 こんな基本的な動作にバグがあるとは……どうやって回避したものか悩ましいです。 CS4にバーションアップか、AS2.0にするかなどいろいろと検討してみます。 ご回答ありがとうございました。

関連するQ&A