我正在尝试使用HTML canvas元素为我的子手游戏创建“ hang子手”显示。我让the子手一次显示一个步骤,但是我似乎无法清除画布(原本希望它是更简单的步骤...)。当我添加clearRect调用时,它将导致我的整个页面出错。无法启动游戏等-即使我仅在游戏结束时才调用它...

任何建议将不胜感激-网络世界的新手,所以假设我在做些愚蠢的事情:)

请参阅以下代码笔以获取源文件和问题的显示:
https://codepen.io/enewmanMN/pen/LYPWpQq

尝试移动clearRect调用以避免立即调用它,以查看我是否甚至可以在代码路径中以它开始游戏,但没有运气。

https://codepen.io/enewmanMN/pen/LYPWpQq

function clearCanvas () {
    myStickman = document.getElementById("stickman");
    context = myStickman.getContext('2d');
    context.clearRect(0, 0, canvas.width, canvas.height); //CAUSING FAULTS
    context.beginPath();
    context.strokeStyle = "#fff";
    context.lineWidth = 2;
}


希望它清除画布元素“ stickman”,但会释放页面功能。

最佳答案

当我在未注释clearRect的情况下运行您的代码时,出现一个错误,提示未定义canvas。您将画布命名为myStickman。这解决了

context.clearRect(0, 0, myStickman.width, myStickman.height);

关于javascript - 关于在代码路径中引用clearRect为什么会导致页面错误的任何信息?码本供引用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57642043/

10-09 09:22