1

我在 Scala 中使用处理(尽管我认为这与我的问题并不真正相关)。

我正在一个循环中构建一个搜索树,该循环一直运行到找到有效路径为止。这可能需要几秒钟,我想在构建树时绘制树的图形表示,以便用户可以看到正在发生的事情。

我试图通过redraw()在循环内调用来解决这个问题,但这不起作用。我猜是因为redraw()不会强制重绘,而只会设置一个应该进行重绘的标志。

那么有没有办法可以强制重绘或者你通常会如何解决这样的问题?

4

1 回答 1

3

@George Profenza 的评论是正确的。处理任务都发生在动画线程上。您在 draw() 中执行的任何任务都会锁定该线程,直到它们完成。如果您想在任务执行时更新屏幕,请在单独的线程上运行任务(超出处理 API 的范围,您必须为此使用 Java),或者将任务分解为段并让绘制() 方法在每个段的末尾返回,以便 PApplet 可以呈现到屏幕上。

于 2012-08-13T01:15:29.860 回答