2016-04-25 4 views
-2

Ich habe eine Schleife wie diese mit <canvas>:Make js Leinwand innerhalb der Schleife Zeichnen fertig

for (i = 0; i < 1000; i++) { draw_something(); // clears canvas at start of function }

Wenn diese läuft, nichts auf der Leinwand beendet, bis die Schleife passiert. Die Funktion draw_something wird bestätigt und funktioniert jedes Mal anders.

Gibt es eine Möglichkeit, 1000 Mal auf die Leinwand zu zeichnen? Ich möchte nicht setInterval verwenden, weil ich nicht wissen kann, wie lange draw_something dauert.

+0

mehr Code anzeigen. Das Problem liegt in der Funktion 'draw_something' oder in der Funktion" outer array ". –

+1

Da das Ziel scheint, eine Animation zu haben, benutze [requestAnimationFrame] (https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame) –

+0

Ich möchte eine Buffon's Nudel laufen lassen/Nadelsimulation, und ich möchte, dass alles angezeigt wird. – heptagon

Antwort

0

setTimeout(draw_something, 0) scheint zu funktionieren, wie in this thread vorgeschlagen.

+0

Sie sollten wirklich den Link lesen, den ich Ihnen über requestAnimationFrame gegeben habe. –

Verwandte Themen