我刚开始我的第一个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)构造函数。然后Entity构造函数使用Paddle.prototype.SetAnimations来设置图像源并在加载后,使用KineticJS我使用这个加载的Image创建Sprite。但在此之前,Entity尝试将this.sprite添加到图层(并且sprite尚未初始化)。
我的问题是,JS加载资产的最佳方式是什么(在每个场景/整个游戏启动之前或@runtime使用可能的事件监听器?)。任何帮助将不胜感激。
答案 0 :(得分:0)
这取决于游戏/资产的大小。我个人在游戏之前/在加载屏幕上加载我的资产。我使用PxLoader来加载资产。然后,我将图像/资产存储在游戏中的大数组中,并在需要时访问它们。