【发布时间】:2017-06-13 12:45:42
【问题描述】:
我想做一个教学门户,让学生学习算法的基础知识。我在 JavaScript 中制作了行光栅化算法,我想“调试”或“减慢”算法,因为它显示了算法过程中发生的事情并显示了它背后的数学运算。不幸的是,我无法找到一种方法来做到这一点。当我调试我的 .js 时,它正在工作,但它运行得如此之快,以至于用户无法看到它。我需要一些东西,它会暂停算法几秒钟然后继续。我尝试了 setTimeout 函数,但它没有按我预期的那样工作。我试图制作sleep function,但它冻结了整个算法。我阅读了很多关于此的内容,但没有找到答案。最坏的情况是添加按钮并且用户将按下按钮然后它将继续(我可以考虑解决方案但实际上还没有尝试过)。 Here is basic 我的代码:你点击两个点然后算法开始。它将变量的值打印到画布中并为循环计算的像素(画布上)着色。我想“放慢”循环让学生看到,哪一行是算法以及它如何决定哪一个像素接下来是颜色。函数 Highlight() 显示算法在哪里以及当前在其中的值 - 这并不重要,我只需将其暂停几秒钟然后继续。 非常感谢
【问题讨论】:
标签: javascript html time html5-canvas