2013-06-23 165 views
0

我剛開始我的第一個JavaScript遊戲項目,我不確定在JS中加載資源(圖像和聲音)的最佳方式是什麼。問題是我使用的繼承,所以在需要時有一個與裝載資產時出現問題(例如:槳擴展實體):使用JavaScript加載場景的資源

槳:

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(父類)構造函數。然後實體構造函數使用Paddle.prototype.SetAnimations設置圖像源和加載後,與KineticJS我使用這個加載的圖像創建雪碧。但在這之前,Entity會嘗試將this.sprite添加到圖層(並且sprite尚未初始化)。

我的問題是,什麼是JS加載資產(在每個場景/在整個遊戲啓動之前或使用可能的事件監聽器@runtime ??)的最佳方式。任何幫助,將不勝感激。

回答

0

這取決於你的遊戲/你的資產的大小。我在遊戲/加載屏幕前親自加載我的資源。我使用PxLoader來加載資產。然後,我將遊戲中的圖像/資產存儲在一個大陣列中,並在需要時訪問它們。

+0

謝謝,這是我一直在尋找。 – MyFantasy512