God dag, gott folk!
Jag sitter och försöker att skapa ett litet spel i JavaScript, komplett med animeringar i gif-formar, och har nu stött på ett litet problem. Rubriken till den här tråden representerar min egen tolkning av vad det är som behöver göras för att få ordning på det hela, men det är möjligt att jag är ute och cyklar. Jag ska förklara.
Jag vill åstadkomma följande:
När sidan laddas vill jag att en viss bild, start.gif, ska visas. Sedan vill jag köra ett JavaScript som under en viss tidsperiod loopar, och i varje looprunda ändrar på gif-bilden. Jag vill även att dessa förändringar av bilder ska ske med olika randomiserade tidsintervall.
Detta implementerar jag på följande sätt:
<HEAD>
function runGame() {
LITE KOD. ELLER OKEJ. RÄTT MYCKET KOD.
}
</HEAD>
<BODY>
<IMG scr="start.gif">
<SCRIPT>
runGame();
</SCRIPT>
</BODY>
Vad som händer nu, när jag kör det hela är följande:
Ingenting händer, ingenting händer, ingenting händer, den sista bilden av alla de bilder som mitt JavaScript har valt ut visas.
Nu är jag inte så erfaren med JavaScript men jag antar att följande händer under huven så att säga. Browsern ritar inte upp något innehåll förrän all javascriptkod har körts. Javascript skickar inte ut den nya bildadressen förrän hela scriptet har körts färdigt.
Är detta korrekt?
Vad jag skulle önska är att på något sätt tvinga javascriptet att skicka adressen till den nya bilden till img-taggen och sedan rita om sidan innan den fortsätter att köra scriptet.
Är detta möjligt på något sätt? Eller har jag fått allt om bakfoten?
Input tages tacksamt emot!