Cómo cargar imágenes en lienzo
var Persona = function(canvas){
this.ctx = document.querySelector("canvas").getContext("2d");
this.canvasWidth = this.ctx.canvas.width;
this.canvasHeight = this.ctx.canvas.height;
this.src = "image/04. png";
this.init();
? }
? Persona.prototype.init = función(){
var that = this;
this.loadImage(function(image){
? // Obtener el ancho y alto de la imagen
? that.imageWidth = image .width;
? that.imageHeight = image.height;
? // Obtener el ancho y alto de un área de gárgola única
? .positionWidth = that.imageWidth / 4;
? that.positionHeight = that.imageHeight
// Se muestra desde la esquina superior izquierda
? ese.x0 = ese.canvasWidth / 2 - ese.positionWidth / 2;
? ese.y0 = ese.canvasHeight / 2 - ese.positionHeight
? // Dibujar la imagen
? that.ctx.drawImage(imagen, 0, 0, that.positionWidth, that.positionHeight, that.x0,
that.y0, that .positionWidth, that.positionHeight) ;
})
}
? Persona.prototype.loadImage = función(devolución de llamada){
var image = new Image ();
// Ejecutado al cargar la imagen
image.onload = function(){
? amp; callback(imagen);
}
image.src = this.src;
}
var persona = nuevo Person();
lt;/scriptgt;
En tercer lugar, dibuja la animación del cuadro del villano caminando
lt;slt;scriptgt;
var Persona = función (lienzo){
?
ument.querySelector("canvas").this.canvasWidth = this.ctx.canvas.width;
? this.canvasHeight = this.ctx.canvas.height; .src = "imagen/04.png";
? this.init()
}
Persona.prototype.init = función();
?var that = this;
? this.loadImage(function(image){
// Obtener el ancho y alto de la imagen
that.imageWidth = image.width;
that.imageHeight = image.height;
// Obtener el ancho y alto de un área de gárgola única
that..x0 = that.canvasWidth / 2 - that.positionWidth / 2;
that.y0 = that.canvasHeight / 2 - that.positionHeight / 2; // Dibuja la imagen
that.ctx.that.ctx.drawImage(imagen, 0, 0, that.positionWidth, that.positionHeight, that.x0,
? that. y0 , that.positionWidth, that.positionHeight);
var index = 0;
setInterval(function(){
?that.ctx.clearRect( 0, 0, that.canvasWidth, that.canvasHeight);
índice
? , esa.posiciónHeight, esa.positionHeight
if (index gt; = 3){
índice = 0;
?}
}, 100
?})
}
Persona .prototype.loadImage = function(callback){
? var image = new Image();
?// Ejecutado al cargar la imagen
? imagen .onload = function(){
devolución de llamada amp;
>
? imagen.src = this.src;
}
var persona = nueva Persona(); /p>
IV. Dibuja un monstruo corriendo
Puedes usar las teclas arriba, abajo, izquierda y derecha del teclado para controlar al villano para que camine por cualquier lugar del lienzo.
nction (lienzo){
this.ctx = document.querySelector("canvas ").getContext("2d");
this.canvasWidth = this.ctx.getContext ("2d ");
This.canvasWidth = this.ctx.getContext("2d"); }
})
? p>
? Person.prototype.loadImage = function(callback){
var image = new Image();
// Ejecutado al cargar la imagen
image.onload = function(){
? devolución de llamada amp; src;
? }
? Persona.prototype.showImage = función(imagen){
this.index; log(este .index);
? this.ctx.drawImage(imagen, this.index * this.positionWidth, this.direction * this.this.x0 this.stepX * this.stepSize, this. y0 this.stepY * this.stepSize, this.positionWidth, this.positionHeight);
if (this.index gt; = 3){
this.index = 0;
?}
}
? var persona = nueva persona();
Sitio web de Shenzhen www.sz886.com