gpt4 book ai didi

javascript - Uncaught ReferenceError : draw is not defined

转载 作者:行者123 更新时间:2023-11-30 08:49:42 27 4
gpt4 key购买 nike

我正在尝试完成 This tutorial关于使用 JavaScript 和 HTML5 制作井字游戏。

我多次按照视频中的每个步骤进行操作。虽然我的代码似乎与视频中的代码匹配,但我一直遇到错误: Uncaught ReferenceError :未定义绘图。错误发生在第 12 行。

我一定是忽略了什么。谁能指出来?

  <!DOCTYPE html>
<html>
<head>
<title>Tic Tac Toe!</title>
<script type="text/javascript">
var c, canvas;
var turn = 1;
window.onload = function() {
canvas = document.getElementById("canvas");
c = canvas.getContext("2d");

draw();
}

var moves = [];

window.onclick = function(e) {
if(e.pageX < 500 && e.pageY < 500) {
var cX = Math.floor(e.pageX / (500 / 3));
var cY = Math.floor(e.pageY / (500 / 3));

var alreadyClicked = false;

for(i in moves) {
if(moves[i][0] == cX && moves[i][1] == cY) {
alreadyClicked = true;
}

}
if(alreadyClicked == false) {
moves[(moves.length)] = [cX, cY, turn];
turn = turn * -1;
draw();
}

}

var bg = new Image();
var x = new Image();
var o = new Image();
bg.src = "ttt_board.png";
x.src = "ttt_x.png";
o.src = "ttt_o.png";

function draw() {
c.clearRect(0, 0, 500, 500);

c.drawImage(bg, 0, 0);

for(i in moves) {
if(moves[i][2] == 1) {
c.drawImage(x, Math.floor(moves[i][0] * (500 / 3) + 10), Math.floor(moves[i][1](500 / 3) + 10))
} else {
c.drawImage(o, Math.floor(moves[i][0] * (500 / 3) + 10), Math.floor(moves[i][1] * (500 / 3) + 10));
}
}
}
};
</script>
</head>


<body>
<canvas id="canvas" width="500px" height="500px"></canvas>
</body>
</html>

最佳答案

问题是 draw 是在 window.onclick 中定义的,但您正试图从 window.onload 中调用它。您确定在 draw 的定义之前没有缺少右括号吗?

关于javascript - Uncaught ReferenceError : draw is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18983963/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com