【发布时间】:2013-06-23 20:38:54
【问题描述】:
我刚开始我的第一个 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 使用事件监听器??)。任何帮助将不胜感激。
【问题讨论】:
标签: javascript html loading kineticjs assets