Closed ipante closed 1 year ago
Je vois qu'il y a une tentative de résolution dans player.js ligne 53. Mais le console.log de la ligne 56 n'arrive jamais (ni l'appel à l'animation up). A mon avis, le dazeTimer est réinitialisé ailleurs dans le code.
// the dazeTimer decreases over time, and is clamped at 0
if (player.dazeTimer > 0) {
player.dazeTimer -= dt();
if (player.dazeTimer < 0) {
console.log("ça arrive")
player.dazeTimer = 0;
player.play("up");
}
}
De manière générale, je me demande si un booléen "isDazing = false" qui devient true au contact et redevient false au bout d'un temps calculé avec time (plutôt que dt()) ne serait pas préférable et moins gourmand en performances.
Résolu en testant < 0.18 plutôt que < 0, qui ne se réalise jamais. C'est un quick fix : je pense qu'un booléen serait plus indiqué. Mais je ferme pour le moment.
C'était une erreur de logique ! Comme la condition < 0 était dans un bloc > 0, ça ne pouvait jamais être vrai. Je l'ai remplacé par un bloc else, et un booléen pour éviter de relancer l'animation à chaque frame !
J'ai eu ce bug mais je ne saurais dire exactement pourquoi il a lieu. Est-ce que tu as des pistes ?