Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Come scrivere un "main loop" di un gioco in JavaScript

Link copiato negli appunti

Con l'avvento di HTML5 non passa quasi giorno che non esca una notizia che riguardi l'ambito giochi web. Sia questa a proposito di un evento, un nuovo framework, una nuova libreria. Alla fine non si ha neanche il tempo di approfondire quali siano gli aspetti base della scrittura di un gioco. Ben vengano dunque articoli come quello che propongo oggi che affronta uno degli aspetti più importanti dello sviluppo di un gioco basato su JavaScript: il cosiddetto "main loop".

Il main loop di un gioco è quello all'interno del quale viene aggiornato in maniera continua lo stato del gioco. In pratica la velocità  di aggiornamento, ovvero il frame rate dell'applicazione, è direttamente in funzione all'intervallo di tempo tra un giro e l'altro del main loop. àˆ ovvio come sia necessario porre molta attenzione alla durata intrinseca di ogni giro, al fine di non rendere il gioco poco fluido e "scattoso".

In JavaScript non esiste un unico modo per scrivere il main loop di un gioco e l'articolo mostra un paio di metodi. Il più interessante è quello che prevede l'utilizzo della nuova funzione requestAnimationFrame (nelle sue varie incarnazioni) pensata appositamente per comunicare alla nostra applicazione quando il browser è pronto per disegnare un nuovo frame che andremo a preparare (invece di usare una banale setInterval(), asincrona rispetto al fatto che il browser sia o meno "pronto a disegnare").
L'altro aspetto molto interessante di requestAnimationFrame è che, diversamente dalla setInterval, questa non è eseguita dal browser per i tab che non sono visibili. Risparmio di CPU e batteria!

Ti consigliamo anche