我正在使用 JavaScript 和 HTML5 制作游戏,目前正在尝试在画布上绘制夜间图像以使角落变暗。一行代码完美地绘制了一幅图像,但在接下来的代码中,似乎什么也没有发生。图像肯定已加载 - 我可以将其作为普通图像元素附加到正文:
function renderViewport() {
console.log("rendering...");
ctx.clearRect(0, 0, 608, 608);
var xpos = 0;
var ypos = 0;
var n;
for (var x = charX - 9; x <= charX + 9; x++) {
if (x >= 0 && x < xs) {
for (var y = charY - 9; y <= charY + 9; y++) {
if (y >= 0 && y < ys) {
n = x * xs + y;
sprite = backSprites[n];
ctx.drawImage(terrain, sprite, 0, 32, 32, xpos, ypos, 32, 32);
}
ypos += 32;
}
}
ypos = 0;
xpos += 32;
}
var sprite = getYou();
ctx.drawImage(you, sprite, 0, 32, 32, 288, 288, 32, 32);
ctx.drawImage(dark, 32, 0, 32, 32, 0, 0, 608, 608);
}
所以倒数第二行将“你”准确地描绘在我想要的位置和方式,但最后一行什么也没做。我将非常感谢任何帮助,如果需要可以提供示例,谢谢。
示例:http
:
//students.challoners.com/ts/jspg_0.2/ 您可以在 /textures/dark01.png 找到“深色”图像
我忘了提到我正在尝试同时放大图像,并且游戏的大小为 19x19 32x32“像素”。