我正在为一个学校项目工作,我使用了setTimeout()函数来执行我的perfectWin函数,但它没有执行。我想我曾经使用过正确的语法,但是我是Java语言的新手,所以我可能只是看不到明显的东西。任何帮助或建议,表示赞赏!
我检查了语法以确保一切正确,并且看起来正确。我真的不知道为什么它不起作用。
链接到代码-https://codepen.io/Jacob-Bruce/pen/mQgbXa
function executeTimeout() {
setTimeout(flawlessWin, 100);
};
function flawlessWin() {
ctx.font = "30px Arial";
ctx.fillText("Flawless Victory!", canvas.width/3, canvas.height/3)
};
// collision
function collisionDetection() {
for(var c=0; c<brickColumnCount; c++) {
for(var r=0; r<brickRowCount; r++) {
var b = bricks[c][r];
if(b.status == 1) {
if(x > b.x && x < b.x+brickWidth && y > b.y && y <
b.y+brickHeight) {
dy = -dy;
b.status = 0;
score++;
// win condition - find out why the AND log. operator isn't
working
if(score == brickRowCount*brickColumnCount) {
executetimeout();
}
}
}
}
}
}
我希望一旦执行超时,便会执行lawlessWin函数。
答案 0 :(得分:5)
您有错字。您的函数是executeTimeout()
,但是当您在
if (score == brickRowCount*brickColumnCount) {
executetimeout();
}
超时中的第一个“ t”不大写。 JavaScript区分大小写。
答案 1 :(得分:1)
function executeTimeout() {
//setTimeout(flawlessWin, 100);
setTimeout(function () {
flawlessWin();
}, 100);
};
我认为您需要使用此语法来使用set timeout函数,希望它能工作。
答案 2 :(得分:0)
JavaScript区分大小写,所以当您说
executetimeout();
应该是
executeTimeout();