0

初めての 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 でおそらくイベント リスナーを使用しますか??)。どんな助けでも大歓迎です。

4

1 に答える 1