Donc, j'utilise toutes les options orientées objet pour essayer de créer une classe d'image statique soignée, tout ce que j'ai à faire est d'ajouter cette classe à Canvas, et ça va se dessiner! Pour tester si tout fonctionnait, j'ai ajouté quelques alertes. Maintenant, ma fonction commence à cracher 'indéfini' à la troisième alerte.D'une certaine manière, ma classe ne parvient pas à définir certaines variables
function StaticImage(imgsource, cancontext, ex, wy) {
this.x = ex;
this.y = wy;
this.context = cancontext;
alert("Image class instantiated! " + imgsource);
this.draw = function() {
this.image = new Image();
this.image.src = imgsource;
alert("Draw function called!");
this.image.onload = function() {
alert(this.image + " loaded! drawing on: " + this.context + " at: " + this.x + ":" + this.py);
};
this.cancontext.drawImage(this.image, this.x, this.y);
}
}
donc, ce serait la classe, ce qui est le bit de Javascript utilisé sur la page HTML qui maintient la toile. D'abord, il crée l'bla.jpg d'image, et il fait la même chose, seulement avec la classe ...
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var bla = new Image();
bla.src = "bla.jpg";
bla.onload = function() {
context.drawImage(bla, 50, 50);
};
var lol = new StaticImage("bla.jpg", context, 200, 200);
lol.draw();