プログラミングに錆びており、内部と外部の読み込みの違いを理解できません。 Flash Developで作成されたゲームでは、すべての資産がパッケージに入れられます。彼らの多くはありません(20の画像と小さなmp3〜2 MB)。私の資産を下のコードで読み込む際の問題は何ですか?または、待機時間タイマーを使用してURLローダーを作成する必要があるのはなぜですか?どんなコメントも感謝します。AS3:外部資産と内部資産の読み込みの違いは何ですか?
public class ImageLoader
{
private var alImages:Array = new Array;
public function ImageLoader()
{
[Embed(source = "../lib/greenbutton.png")]
var imgGreenButton:Class;
alImages.push(["imgGreenButton", imgGreenButton]);
[Embed(source = "../lib/tray.jpg")]
var imgTray:Class;
alImages.push(["imgTray", imgTray]);
}
public function getBitmap (search:String):Bitmap {
// Create Cyan square for load fails
var tempData:BitmapData = new BitmapData(40, 40, false, 0x000FFFF);
var tempBitmap:Bitmap = new Bitmap (tempData);
for (var i:int = 0; i < alImages.length; i++) {
if (alImages[i][0] == search) {
tempBitmap = new alImages[i][1];
}
}
return tempBitmap;
}
}
私はあなたの問題を理解しているかわかりません:)。この例では、資産を読み込んでいません。あなたはそれらを埋め込んでいます(コンパイル中にあなたのswfにコンパイルされ、コードから直接アクセスできることを意味します)。外部資産をロードするには、Loaderクラスインスタンスを作成し、URLRequestオブジェクトなどを作成する必要があります。次に、いくつかのイベントハンドラを実装する必要があります。あなたのコードについては、ビットマップを格納するための配列の代わりに辞書を使用してください。ディクショナリでは、すべてのアイテムを反復処理するのではなく、ビットマップに直接アクセスすることができます。 – ncreated
rincewindに感謝します。私は辞書を調べます。 – Darrin