Bonjour, je suis actuellement un tuto en ligne et dans un des codes d'exemples mais j'ai un problème de variable non définie.
Output pour le console.log(this)
Output pour le console.log(this.largeur)
Voila si vous avez une petite idée du problème.
Site de l'exemple fonctionnel ou le code est le même : Exemple
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function Tileset(url) {
// Chargement de l'image dans l'attribut image
this.image = new Image();
this.image.referenceDuTileset = this;
this.image.onload = function() {
if(!this.complete)
throw new Error("Erreur de chargement du tileset nommé \"" + url + "\".");
// Largeur du tileset en tiles
this.referenceDuTileset.largeur = this.width / 32;
}
this.image.src = "tilesets/" + url;
}
// Méthode de dessin du tile numéro "numero" dans le contexte 2D "context" aux coordonnées xDestination et yDestination
Tileset.prototype.dessinerTile = function(numero, context, xDestination, yDestination) {
var xSourceEnTiles = numero % this.largeur;
console.log(this);
console.log(this.largeur);
if(xSourceEnTiles == 0) xSourceEnTiles = this.largeur;
var ySourceEnTiles = Math.ceil(numero / this.largeur);
var xSource = (xSourceEnTiles - 1) * 32;
var ySource = (ySourceEnTiles - 1) * 32;
context.drawImage(this.image, xSource, ySource, 32, 32, xDestination, yDestination, 32, 32);
}
Code:
1
2
3
4
Tileset
image: img
largeur: 6
__proto__: Tileset
Code:
undefinedSite de l'exemple fonctionnel ou le code est le même : Exemple
Aucun commentaire:
Enregistrer un commentaire