OK、私は Flash にあまり慣れておらず、この問題で何時間も立ち往生していたので、助けていただければ幸いです...
基本的に次のように設定された非常に複雑な FLA があります。
「シーン1」
- いくつかのロード アニメーション (およびコード)
- (HTML コード内の) flashvars から値を受け取り、それらを検証する AS コード
- Scene 1 タイムラインの最後に、2 番目のムービー クリップに入ります。
「マップ合計」
- ここでは地図が表示され、さまざまな要素が表示されます
- ここで興味深いものは何もありません
- しかし、それらの要素の中で、ムービー クリップ:
"btn-vb"
- ここでは、さまざまなレイヤー。そのうちの 1 つには、さらに別のムービー クリップ (vb_anim) が含まれています。
- また、マウスがロールオーバーすると vb_anim が大きくなり、マウスが離れると逆になる (そしてクリックに反応する) AS コードも含まれています。
"vb_anim"
- ここには、いくつかの基本的なアニメーションを含むいくつかのレイヤーがあります。
- これらのレイヤーのうち、3 つは 1 つの同じボタンの異なるバリアント (使用可能、準備ができていない、禁止されている) を表します。
- これらの 3 つのレイヤーのそれぞれに、1 つのインスタンス化されたオブジェクトが含まれています (いくつかのトゥイーンを使用)。
必要なのは次のとおりです。
シーン 1 で受け取る flashvars に応じて、「vb_anim」でこれら 3 つのオブジェクトの 1 つまたは複数を表示または非表示にする必要があります。
シーン 1 で設定した変数にアクセスするには、次のショートカットを使用します。
var global:MovieClip = MovieClip(root);
// allows for access to the "root" variables
// e.g. global.myVar
私はすでに "btn-vb" で同じコードを使用しています (onclick イベントを定義するには、flashvars によって提供される情報にアクセスする必要があります)。
ただし、「vb_anim」内から呼び出すと、MovieClip(root) が null と評価されるようです。したがって、シーン 1 から変数にアクセスすることは不可能であり、アクセスしようとすると、Flash は「TypeError: エラー #1009」をスローします。
「vb_anim」は単に「btn-vb」に埋め込まれているため、親が表示できるのに MovieClip(root) が表示されない理由がわかりません。
私が間違ったことのアイデアはありますか?