Kun je lussen gebruiken voor Javascript animatie?

Ik probeer een spelletje te maken in javascript. Het enige werkende voorbeeld van animatie dat ik tot nu toe tegen ben gekomen, is met recursie.

De bedoeling is natuurlijk dat een plaatje een pixel wordt opgeschoven, dit wordt afgebeeld, het plaatje weer wordt opgeschoven, dit weer wordt afgebeeld etcetera.
Wat de lus lijkt te doen is een plaatje opschuiven, opschuiven, opschuiven, enzovoort, en daarna pas afbeelden dat het plaatje tien pixels verder staat. Hoe los ik dit op? Ik vind recursie niet handig.

Weet jij het antwoord?

/2500

Het beste antwoord

Met setinterval() en clearinterval() heb je meer sturing over het proces dan met recursie. Timeout() zal niet werken, omdat dit alleen maar de uitvoering van 1 funktie uitsteld, intussen loopt rest van het script gewoon door, ook al zitten er meerdere timeouts in, ze "wachten niet op elkaar".

Ik zou je aanraden in jQuery te duiken. Hierin zitten animatie-oplossingen die je niet zelf from scratch hoeft te gaan zitten uitdenken.

Bronnen:
http://jquery.com

Animatie in een for or while lus gaat niet werken. De browser krijgt dan niet de tijd de veranderingen weer te geven en alles lijkt stil te staan. Wat wel werkt is in een timer loop; google op setTimeout() hiervoor. Toegevoegd na 1 minuut: Of Google op requestAnimFrame(); is de wat modernere timer loop voor animatie.

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100