Métodos de Clases en JavaScript para Juegos Interactivos
Clase 66 de 84 • Curso Gratis de Programación Básica
Resumen
¿Cómo pintamos a los enemigos en nuestro juego?
Integrar enemigos en tu juego aporta no sólo emoción, sino también un mayor desafío y dinamismo. En esta clase, aprenderemos a modificar nuestra implementación actual para lograr que nuestros enemigos se pinten correctamente en el mapa. Esto implica comprender las funciones de nuestra clase y cómo podemos utilizarlas para optimizar el código.
¿Cómo modificamos nuestra clase Mokepon
?
Inicialmente, nuestra clase Mokepon
tenía atributos básicos como X
, Y
, ancho
, y alto
. Vamos a necesitar cambiar el enfoque para que los atributos X
e Y
sean argumentos que se pasan al constructor, permitiendo una mayor flexibilidad al posicionar nuestros personajes en el mapa.
class Mokepon {
constructor(fotoMapa, x = 10, y = 10) {
this.fotoMapa = fotoMapa;
this.x = x;
this.y = y;
this.ancho = 40; // Actualizado a 40 para menor tamaño
this.alto = 40; // Actualizado a 40 para menor tamaño
// Otros atributos relevantes...
}
// Métodos adicionales...
}
Utilizamos la imagen del avatar para cada Mokepon usando un directorio de recursos y aplicamos un parámetro por defecto para X
e Y
.
¿Cómo creamos un array de enemigos y los pintamos?
Para representar enemigos en nuestro mapa, crearemos un array y añadiremos los Mokepones con posiciones específicas para diferenciarlos en el plano.
const enemigos = [];
enemigos.push(new Mokepon('assets/hipodoge.png', 80, 120));
enemigos.push(new Mokepon('assets/capipepo.png', 150, 95));
enemigos.push(new Mokepon('assets/ratigueya.png', 200, 190));
Luego, definimos un método pintarMokepon
dentro de nuestra clase para encargarse de la representación gráfica de cada enemigo en pantalla.
pintarMokepon() {
lienzo.drawImage(
this.fotoMapa,
this.x,
this.y,
this.ancho,
this.alto
);
}
¿Cómo utilizamos los métodos de las clases para pintar los Mokepones?
La implementación dentro de las clases nos permite reutilizar código y mantenerlo más limpio. Al implementar métodos como pintarMokepon
, simplificamos la representación visual de objetos en el mapa. Reformulamos la función que manipulaba el Canvas
para integrar estas capacidades.
function pintarCanvas() {
// Pintamos el Mokepon del jugador
mascotaJugadorObjeto.pintarMokepon();
// Pintamos los enemigos
enemigos.forEach(enemigo => enemigo.pintarMokepon());
}
Esta metodología garantiza que todos los elementos se presentan adecuadamente en diferentes posiciones. El método interno pintarMokepon
utiliza this
para acceder a las propiedades del objeto respectivo.
Sorprendentemente, ahora cada Mokepon se despliega correctamente en el mapa y podemos abordar el reto de enfrentar a nuestro personaje contra estos enemigos en las siguientes lecciones.
Al dominar estas técnicas, mejoramos nuestra aplicación de JavaScript para crear dinámicas más ricas y envolventes en juegos interactivos. Sigue adelante y no te detengas, ¡estás a un paso más cerca de convertirte en un desarrollador maestro!