Bonjour, je suis actuellement un tuto en ligne mais j'ai un soucis avec le code d'exemple

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
21
22
23
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);
}
Output pour le console.log(this)

Tileset
image: img
largeur: 6
__proto__: Tileset
Output pour le console.log(this.largeur)
undefined
Voila si vous avez une petite idée du problème.

Site de l'exemple fonctionnel ou le code est le même : Exemple