大家好,谢谢你们帮我。
我试图在javaScript中创建一个小型汽车游戏,但实际上我无法打印图像.这是我的JS代码:
// Parametters
const canvasWidth = 500;
const canvasHeight = 500;
const carLength = 60;
const carWidth = 30;
const canvas = document.getElementById('canvas');
canvas.width = canvasWidth;
canvas.height = canvasHeight;
const context = canvas.getContext('2d');
drawAll();
function drawAll() {
console.log('draw canvas background');
context.fillStyle = 'green';
context.fillRect(0, 0, canvasWidth, canvasHeight);
drawCar();
}
function drawCar() {
let image = new Image();
image.src = 'assets/images/car_orange.png';
context.drawImage(image, 200, 200, carLength, carWidth);
}这是html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="shortcut icon" href="assets/images/pageIcon/pageIcon.ico" type="image/x-icon" />
<title>CrossingCars</title>
</head>
<body>
<canvas id="canvas"></canvas>
<script src="drinving_environment.js"></script>
</body>
</html>错误在于,我的代码没有像drawCar()函数应该做的那样打印图像,但是如果我在控制台中单独键入每一行代码,它就会工作.
发布于 2019-12-19 13:23:32
因为你的图像内容还没有加载。你应该等到你的图像被加载。
请参考这个答案这里这个问题总是发生在画布上。
...
function drawCar() {
let image = new Image();
image.src = 'assets/images/car_orange.png';
image.onload = function() {
context.drawImage(image, 200, 200, carLength, carWidth);
}
}
...https://stackoverflow.com/questions/59409985
复制相似问题