メモリに合理的に格納できる範囲を超えない限り、高度なリソースマネージャは必要ありません。これはデスクトップゲームにも当てはまります。ほとんどの「小さな」ゲームは、起動時にすべてをメモリにロードするだけで済むので、必要なときにそこにあります。
HTMLとJavaScriptでは、同じ方法でリソースを直接制御することはできません。ブラウザには、組み込みのリソースマネージャが機能しています。ただし、起動時にすべてのイメージをロードし、使用していないときにアンロードされないようにするために、少し手助けすることをお勧めします。
この目的のために、画像要素の束を作成し、必要な画像をそれらに添付することができます。これにより、画像が読み込まれ、メモリに残ります。それらをドキュメントに添付する必要すらありません。それらはスクリプト内の仮想エンティティとして単に存在することができます。
これが私が書いたゲームのロード部分です。説明された方法で27枚の画像を読み込み、それらがすべてドキュメントの本文と一緒に読み込まれているかどうかを継続的にチェックし、読み込みがどこまで進んだかを示すカウンターをユーザーに表示し、最後にすべてのアセットが表示されたときにメニューをレンダリングする関数を呼び出しますロードされました。
<body onload="bodyloaded=1">
<div id='maindivid'>
<p id='loadtext' style='text-align:center;'>
Loading 0/28
</p>
</div>
<script type="text/javascript">
bodyloaded=0
prlimg=new Array
for(a=0;3>a;a++){
prlimg[a]=new Array
for(b=0;3>b;b++){
prlimg[a][b]=new Array
for(c=0;3>c;c++){
prlimg[a][b][c] = new Image
prlimg[a][b][c].src = a+(b+(c+".png"))
}
}
}
function updateload(){
elementsloaded=bodyloaded
for(a=0;3>a;a++){
for(b=0;3>b;b++){
for(c=0;3>c;c++){
elementsloaded+=prlimg[a][b][c].complete
}
}
}
document.getElementById('loadtext').innerHTML="Loading "+elementsloaded+"/28"
if(elementsloaded==28){menu()}
else{setTimeout("updateload()",100)}
}
updateload()
</script>
//Further code goes here
</body>
実際のコードをご覧ください。
もう一度見てみると、別の方法で実行できたこともいくつかありますが、機能を実証するにはそれで十分です。