2017-01-27 10 views
-3

アルゴリズムの基礎を学ぶ教授のポータルを作りたいと思います。私はJavaScriptでラインラスタライズアルゴリズムを作っていました。アルゴリズム中に何が起こっているのかを示し、その背後にマットマティクスの動作を示しているので、アルゴリズムを「デバッグ」または「スローダウン」したいと思います。残念ながら、私はそれを行う方法を見つけることができません。私の.jsをデバッグするときには動作していますが、速く実行されているため、ユーザーはそれを見ることができません。私は何秒もアルゴリズムを一時停止し、次に続ける何かが必要です。私はsetTimeout関数を試しましたが、期待通りに動作しません。私はにしようとしましたが、アルゴリズム全体がフリーズします。私はこれについて多くを読んで答えを見つけました。最悪のシナリオは、ボタンを追加することです。ユーザーはボタンを押して、次にそれを続けます(私は解決策について考えることができますが、実際にはまだ試していませんでした)。 Here is basic私のコード:あなたは2つのポイントをクリックし、アルゴリズムが開始されます。それは変数の値をキャンバスに出力し、サイクルのために計算されたキャンバス上のピクセルを色づけします。私は学生が見るためのサイクルのために「減速したい」と思います。どのラインがアルゴリズムで、どれが1ピクセルそれは次の色です。関数Highlight()は、アルゴリズムがどこにあるのか、現在値が入っているのかを示しています。重要ではありません。数秒間そこで停止してから、続行するだけです。 ありがとうアルゴリズムの実行を遅くする方法やアルゴリズムの実行中に一時停止を行う方法

答えて

0

setTimeout()には、最初の引数としてかっこなしの関数が必要だと思います。あなたはそのようなHighlight(x)を呼び出すことはできません。代わりに、あなたがする必要があるのはsetTimeout(function(){Highlight(x)},1000)です。

関連する問題