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 我正在使用这个加载的图像创建 Sprite。但在此之前,Entity 会尝试将 this.sprite 添加到图层(并且 sprite 尚未初始化)。

我的问题是,在 JS 中加载资产的最佳方式是什么(在每个场景之前/在整个游戏启动时或 @runtime 使用可能的事件监听器??)。任何帮助,将不胜感激。

4

1 回答 1

0

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

于 2013-06-23T22:20:43.977 回答