【发布时间】:2014-03-09 08:03:31
【问题描述】:
我从服务器发送了一系列敌人,我正在重新创建它们,因为它们已被序列化。之后,我试图让它们在画布上渲染,但由于某种原因这不起作用。
for (var i = 0; i < enemies.length; i++) { // recreate each enemy and render it
var image = new Image();
var currentFish = new Fish();
for (var key in enemies[i]) { // copying properties to object that has the necessary methods
if (enemies[i].hasOwnProperty(key)) {
currentFish[key] = enemies[i][key];
}
}
image.src = currentFish.icon;
image.onload = function () {
ctx.drawImage(image, currentFish.position.x, currentFish.position.y);
};
ctx.fillText('Drone', 250, 200);
}
我认为问题在于 image.onload 直到帧之后或帧之间才会被调用,因此它不会被看到。我不确定如何解决这个问题。
编辑:
我忘了说我是使用 requestAnimationFrame 来处理画布的渲染,所以我不知道什么时候会渲染帧。
【问题讨论】:
标签: javascript jquery html image canvas