JavaScript drawImage()不';行不通
我正在尝试编写一些简单的游戏,我被困在画布上绘制一个资产。我制作了一个AssetLoader“类”,用于加载图像并将其保存为图像对象。首先,我只想画一些加载的资产。但drawImage函数并没有显示任何内容……我知道我的图像是通过在控制台上写入对象加载的,它给了我以下输出:JavaScript drawImage()不';行不通,javascript,draw,game-engine,Javascript,Draw,Game Engine,我正在尝试编写一些简单的游戏,我被困在画布上绘制一个资产。我制作了一个AssetLoader“类”,用于加载图像并将其保存为图像对象。首先,我只想画一些加载的资产。但drawImage函数并没有显示任何内容……我知道我的图像是通过在控制台上写入对象加载的,它给了我以下输出: var canvas = document.getElementById('game'); var context = canvas.getContext('2d'); if(!context){ a
var canvas = document.getElementById('game');
var context = canvas.getContext('2d');
if(!context){
alert('Upgrade browser');
}else{
startGame();
}
function startGame(){
AssetsLoader.getAllAssets();
console.log(AssetsLoader.images.player); // image is loaded
context.drawImage(AssetsLoader.images.player, 0, 0); // doesn't work
}
编辑:
好吧,糟糕,我把“../”放在图像路径前面,因为我的项目结构如下所示:
assets
images
player.png
js
script for AssetsLoader
我想我必须下一层才能访问图像。实际上我只是在画布上修复了这个问题。固定代码为:
var canvas = document.getElementById('game');
var context = canvas.getContext('2d');
var img1 = new Image();
img1.src = "../assets/images/player.png";
context.drawImage(img1,100,100);
之所以使用img1变量,是因为它将img元素添加到画布中。然后使用img1.src设置图像的源。在执行drawImage()时,首先插入img1,其中包括图像源。第二个参数是X位置,第三个参数是Y位置。实际上我刚刚在画布上修复了这个问题。固定代码为:
var canvas = document.getElementById('game');
var context = canvas.getContext('2d');
var img1 = new Image();
img1.src = "../assets/images/player.png";
context.drawImage(img1,100,100);
之所以使用img1变量,是因为它将img元素添加到画布中。然后使用img1.src设置图像的源。在执行drawImage()时,首先插入img1,其中包括图像源。第二个参数是X位置,第三个参数是Y位置。我认为暹罗的答案使canvas drawImage()函数变得更加复杂。我认为暹罗的答案使canvas drawImage()函数变得更加复杂。