Matti、Lukaszのコメントはセキュリティエラーであるということについて正しいと思います。
ローダーを使用する代わりにMovie.swfを埋め込むことで、このセキュリティエラーを回避できます。これを行う場合、コンパイル時にMovie.swfはGame.asファイルの隣に配置する必要があり、Game.swfに含まれます(両方のファイルを配信する必要はなく、Game.swfのみ)。
構文は次のとおりです。
package
{
import flash.display.Sprite;
public class Game extends Sprite
{
[Embed(source="MyMovie.swf")]
private var myMovieClass:Class;
private var myMovie:DisplayObject;
public function Game():void
{
myMovie = new myMovieClass();
// Technically myMovie is now a Loader, and once
// it's loaded, it'll have .content that's a
// MovieClipLoaderAsset, and .content.getChildAt(0)
// will be your MyMovie.swf main timeline.
}
}
}
または、mimeType = "application / octet-stream"として埋め込むと、SWFのバイトを取得して、既存のローダーの.loadBytes()メソッドで使用できます。
package
{
import flash.display.Sprite;
import flash.utils.ByteArray;
public class Game extends Sprite
{
[Embed(source="MyMovie.swf", mimeType="application/octet-stream")]
private var movieBytes:Class;
private var myMovie:DisplayObject;
public function Game():void
{
// Treat this loader the same as your current loader,
// but don't call .load(url), call loadbytes():
var l:Loader = new Loader();
l.loadBytes(new movieBytes() as ByteArray);
}
}
}