在JavaScript中加载场景的资源

时间:2013-06-23 20:38:55

标签: javascript html5 loading kineticjs assets

我刚开始我的第一个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使用可能的事件监听器?)。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

这取决于游戏/资产的大小。我个人在游戏之前/在加载屏幕上加载我的资产。我使用PxLoader来加载资产。然后,我将图像/资产存储在游戏中的大数组中,并在需要时访问它们。