矩形在 canvas 上绘制但立即消失

Rectangle is drawn on canvas but instantly disappears

所以我正在做一个项目,我正在开发一个摔倒类型的游戏。

问题似乎出在这一行:createRect(20, 40, 25, 15, "red");

看起来矩形已绘制,但立即消失了关于如何解决这个问题的任何想法?我不确定为什么会发生这种情况并且我正在学习 javascript 所以我没有经验来理解为什么会发生这种情况

问题是您每秒多次重置 cavas 大小:

setInterval(function(){
    canvas.width = 360;
    canvas.height = 640;
    createMenu();
}, 1000 / fps);

重置大小是清除 canvas(参见 How to clear the canvas for redrawing)的(错误)方法,因此新绘制的矩形会消失。