as2で簡単なテスト例を作りました。これには、次のハンドラーを持つ 2 つのボタンが含まれます。
_根:
on (release)
{
this.loadMovie("AS3.swf");
}
_root.test.testmc:
on (release)
{
test.testmc.loadMovie("AS3.swf");
}
AS3.swf はビデオ プレーヤーです (YouTube as3 API を使用)。_root にロードすると機能しますが、他の場所にロードしたい場合は機能しません。私はadobeからこれを検索して見つけました:
「ActionScript 1.0 または 2.0 で記述された SWF ファイルは、ActionScript 3.0 で記述された SWF ファイルをロードできません。つまり、Flash 8 または Flex Builder 1.5 以前のバージョンで作成された SWF ファイルは、ActionScript 3.0 SWF ファイルをロードできません。
このルールの唯一の例外は、ActionScript 2.0 SWF ファイルが以前にそのレベルのいずれにも何もロードされていない限り、ActionScript 2.0 SWF ファイルは ActionScript 3.0 SWF ファイルに置き換えることができるということです。ActionScript 2.0 SWF ファイルは、loadMovieNum() を呼び出して level パラメータに値 0 を渡すことでこれを行うことができます。」
上記の「例外規則」により、コードの「_root 部分」は機能していますか? 私はフラッシュを初めて使用します(なぜ私が as2 から始めたのか、残念ながら私の選択ではありません...)、私の考えが正しいかどうか疑問に思います。また、何らかの回避策 (AS3 のすべてを書き直す以外) がある場合は、お知らせください (ローカル接続の使用など)。