首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的J.S.错误(没有错误日志)

简单的J.S.错误(没有错误日志)
EN

Stack Overflow用户
提问于 2019-12-19 12:38:48
回答 1查看 58关注 0票数 0

大家好,谢谢你们帮我。

我试图在javaScript中创建一个小型汽车游戏,但实际上我无法打印图像.这是我的JS代码:

代码语言:javascript
复制
// 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:

代码语言:javascript
复制
<!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()函数应该做的那样打印图像,但是如果我在控制台中单独键入每一行代码,它就会工作.

控制台前使用

控制台后使用

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-19 13:23:32

因为你的图像内容还没有加载。你应该等到你的图像被加载。

请参考这个答案这里这个问题总是发生在画布上。

代码语言:javascript
复制
    ...
    function drawCar() {
        let image = new Image();
        image.src = 'assets/images/car_orange.png';
        image.onload = function() {
            context.drawImage(image, 200, 200, carLength, carWidth);
        }
    }
    ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59409985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档