我正在制作红绿灯类型的游戏。这是红绿灯改变颜色的部分:
var green = function() {
var r = Math.floor(Math.random() *5000 + 3000);
ctx.fillStyle = "green";
ctx.fillRect(900, 580, 200, 100);
green = true;
setTimeout(red, r);
};
var red = function() {
var r = Math.floor(Math.random() *3000 + 2000);
ctx.fillStyle = "red";
ctx.fillRect(900, 580, 200, 100);
green = false;
setTimeout(green, r);
};
如果我取出绿色变量,则可以正常工作,但我需要它,以便游戏知道玩家何时可以移动。我将不胜感激!
您覆盖变量green
。
最初是function
,在red
功能内,将true
分配给它。这就是您的setTimeout(green,r);
无法正常工作的原因。