MovieClip から拡張されたカスタム クラスがあります。このクラスは基本的に、MoveClip のフレーム ラベルを使用して、マウス イベントがディスパッチされるとボタンの状態間を移動するボタンを作成します。各状態 (それぞれ約 20 フレームの長さ) はタイムラインで終了しますstop()
。
このクラスは他の多くのプロジェクトで使用されていますが、現在のアプリケーションのある時点で、ボタン クラスの拡張として作成されたボタンはタイムラインでのコードの実行を停止し、ループで再生されます。これには、タイムラインに配置されたすべてのトレースが含まれますが、ボタンの状態が変化したときに gotoAndPlay が呼び出される場合でも、クラス内のすべてのコードは引き続き正しく実行されます。
最も奇妙な点は、ステージ上の誤動作するボタン インスタンスによってエラーがスローされないことです。
私が必要としているのは、特定のクラスを拡張するオブジェクトがエラーをスローすることなくタイムライン コードを実行するのを妨げる可能性のあるものを提案することです。
ありがとう!
更新:これにはまだ困惑しています。私たちのプロジェクトは通常、軽量のプリローダー、言語と年齢のゲート、メイン アプリケーションの 3 つの部分で構成されます。それぞれが現在のアプリケーション ドメインを使用して毎回以前に読み込まれます。メイン アプリケーションがロードされた後、MovieClip を (直接的または間接的に) 拡張するカスタム表示オブジェクトは、そのタイムラインで直接アクション スクリプトを無視します。ただし、再生ヘッドはクラスを介して制御できます。
更新 2: これは、私が作成したテスト ボタン クラスのコードです。何も入っていないことに注目してください。
package com.test
{
import flash.display.MovieClip;
public class TestLabelButton extends MovieClip
{
public function TestLabelButton():void
{
}
}
}
更新 3: というわけで絞り込みましたが、変です。言語ゲートは、MovieClip を拡張するカスタム ドキュメント クラスを持つ swf で、プリローダーに問題なくロードできるようです。その後、MovieClip を拡張するカスタム doc クラスを含む SWF をさらにロードすると、その後インスタンス化されたその拡張子のすべての MovieClip で、タイムライン上のすべてのコードが失われます。