Javascript JS,Canvas-ctx.drawImage()不工作
我正在用JavaScript和HTML5制作一个游戏,目前正试图在画布的顶部绘制一个夜间图像,以使角落变暗。一行代码完美地绘制了一幅图像,但在下一行代码中,似乎什么也没有发生。图像肯定已加载-我可以将其作为普通图像元素附加到正文中:Javascript JS,Canvas-ctx.drawImage()不工作,javascript,html,canvas,drawimage,Javascript,Html,Canvas,Drawimage,我正在用JavaScript和HTML5制作一个游戏,目前正试图在画布的顶部绘制一个夜间图像,以使角落变暗。一行代码完美地绘制了一幅图像,但在下一行代码中,似乎什么也没有发生。图像肯定已加载-我可以将其作为普通图像元素附加到正文中: function renderViewport() { console.log("rendering..."); ctx.clearRect(0, 0, 608, 608); var xpos = 0; var ypos = 0;
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);
}
函数renderViewport(){
console.log(“呈现…”);
ctx.clearRect(0,0,608,608);
var-xpos=0;
var-ypos=0;
var n;
对于(变量x=charX-9;x=0&&x
因此,第二条到最后一条线将“你”准确地画在我想要的位置和方式,但最后一条线什么也不做。我将非常感谢任何帮助,如果需要,我可以提供一个例子,谢谢
示例:您可以在/textures/dark01.png上找到“暗”图像
我忘了提到我正在尝试同时放大图像,游戏的大小是19x19 32x32像素。我想我有解决方案。看起来您在一个19像素的精灵上设置了32像素,用于暗图像。因此,如果您执行以下操作,它应该可以正常工作。(下载了您的文件并在本地进行了测试,结果正常)
嘿,不知道发生了什么,但如果你能链接到一个例子,再加上一点代码,比如黑暗和反斯普林特,我也许能帮上忙。谢谢-我真不敢相信我忘了:P现在一切都好了:)我也更新了游戏。
ctx.drawImage(dark, 19, 0, 19, 19, 0, 0, 608, 608);