初めての JavaScript ゲーム プロジェクトを開始したばかりですが、JS でアセット (画像とサウンド) を読み込む最適な方法がわかりません。問題は継承を使用しているため、必要に応じてアセットをロードする際に問題があります (例: Paddle extends Entity ):
パドル:
function Paddle( layer )
{
Entity.call(this, layer);
}
Paddle.prototype.SetAnimations = function()
{
this.image.onload = // INITIALIZE this.sprite using this.image
this.image.src = "js/assets/paddle/blue/paddle_blue_idle.png";
};
実在物:
function Entity(layer)
{
this.SetAnimations();
layer.add( this.sprite );
}
ここでの問題は、Paddle コンストラクターを使用している場合、最初に Entity (parents) コンストラクターを呼び出すことです。次に、エンティティ コンストラクターは Paddle.prototype.SetAnimations を使用してイメージ ソースを設定し、ロード後、KineticJS を使用して、このロードされたイメージを使用してスプライトを作成しています。ただし、これが発生する前に、エンティティは this.sprite をレイヤーに追加しようとします (スプライトはまだ初期化されていません)。
私の質問は、JS でアセットをロードするための最良の方法は何ですか (すべてのシーンの前/ゲーム全体の起動時または @runtime でおそらくイベント リスナーを使用しますか??)。どんな助けでも大歓迎です。