1

私は Scala 内で処理を使用しています (ただし、これは私の質問には関係ないと思います)。

有効なパスが見つかるまで実行されるループ内で検索ツリーを構築しています。これには数秒かかる場合があり、ユーザーが何かが起こっていることを確認できるように、構築中にツリーのグラフィック表現を描画したいと考えています。

ループ内で呼び出してこれを解決しようとしましredraw()たが、うまくいきません。redraw()再描画を強制するのではなく、再描画を行う必要があるというフラグを設定するだけだからだと思います。

再描画を強制する方法はありますか、または通常、そのような問題をどのように解決しますか?

4

1 に答える 1

3

@GeorgeProfenzaのコメントは正しいです。処理タスクはすべてアニメーションスレッドで行われます。draw()内で実行するタスクは、完了するまでそのスレッドをロックします。タスクの実行中に画面を更新する場合は、別のスレッドでタスクを実行するか(Processing APIの範囲を超えて、これにはJavaを使用する必要があります)、タスクをセグメントに分割して描画します。 ()メソッドは各セグメントの最後に戻るので、PAppletは画面にレンダリングできます。

于 2012-08-13T01:15:29.860 に答える