Description
Erreur indiquant que l’attribut “x” n’a pas été annoncé préalablement avec un const / var / ou let. Ce message varie selon que vous soyez sur Safari, ou sur Firefox / Chrome.
Causes possibles
- Il vous manque un var x; let x; ou const x;
- il y a une erreur de portée : la variable a été définie dans un endroit, et n’est pas accessible depuis un autre endroit où l’erreur a été générée
Résolutions
- var / let / const se résout facilement en ajoutant our chaque collider / overlap, vérifier que les 2 objets paramètres impliqués sont bien déclarés avant le collider / overlap, et non après
- Une erreur de portée est plus complexe. Si vous avez déclaré var x; à l’intérieur de create(), il est normal par exemple qu’on ne puisse pas y avoir accès à l’intérieur de update(), qui sont deux fonctions isolées. Il faut donc :
- soit extraire le var x; de create() et le positionner en tant que variable globale à l’extérieur de la fonction,
- soit transformer x en attribut de classe, en remplaçant x par this.x. De cette façon x est désormais attribut de la scène et est accessible dans la méthode create() ou update() de la même scène.
Plus d’infos
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Not_defined