【问题标题】:How to 'slow down' algorithm or how to make pauses during run of algorithms如何“减慢”算法或如何在算法运行期间暂停
【发布时间】:2017-06-13 12:45:42
【问题描述】:

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

【问题讨论】:

    标签: javascript html time html5-canvas


    【解决方案1】:

    我认为setTimeout() 需要一个不带括号的函数作为第一个参数。你不能这样打电话给Highlight(x)。相反,您需要做的是setTimeout(function(){Highlight(x)},1000)

    【讨论】:

      猜你喜欢
      • 2021-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多