Bonjour, je voudrais effectuer une action JS toutes les 500 ms, sans utiliser setInterval, et j'ai une boucle d'animation pour un jeu que je voudrais faire, et dans la boucle d'animation j'ai mis ce code pour mesurer le temps passé et faire une action toutes les 500 ms.
Je me sers de console.log pour vérifier quand j'arrive à 500ms mais le log me dit que ça ne fait pas ce que je veux.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
		// Enregistre le temps courant quand compteur=0.
		if(compteur==0){
			var Tdebut=Date.now();
			console.log("Temps de début : "+Tdebut);
			compteur=1;
		}
		// Lit le temps courant.
		var Tcourant=Date.now();
		// Calcule le temps passe entre le temps de debut Tdebut et le temps de fin Tfin.
		if (compteur==1){
			var Tpasse=Tcourant - Tdebut;
			console.log("Temps passé : "+Tpasse);
			// Affiche le temps passe seulement s'il vaut 500 millisecondes.
			if(Tpasse>=500){
				console.log("Temps passé : "+Tpasse);
				Tpasse=0;
				compteur=0;
			}
 
		}

Mon log :

Temps de début : 1684344910961
index.js:306 Temps passé : 0
1298index.js:306 Temps passé : NaN