Teclas
Teclas - Explicación de un Juego Simple con JavaScript"
En este post, vamos a desglosar un pequeño código JavaScript que simula un juego simple con personajes que se mueven en un canvas.
🔍 Partes del Código
1. Inicialización del Canvas
var canvas;
var ctx;
var FPS = 50; // Fotogramas por segundocanvas: Referencia al elemento HTML<canvas>.ctx: Contexto de dibujo 2D.FPS: Controla la velocidad de actualización del juego.
2. Carga de Imágenes
var imgMega;
function inicializa() {
canvas = document.getElementById("canvas");
ctx = canvas.getContext("2d");
imgMega = new Image();
imgMega.src = 'img/mega.jpeg'; // Carga una imagen
imgMega.width = 100;
imgMega.height = 100;
setInterval(function () {
principal();
}, 1000 / FPS); // Bucle principal del juego
}Se carga una imagen (
mega.jpeg) que representará al protagonista.setInterval()ejecuta la funciónprincipal()50 veces por segundo (FPS).
3. Clases de Personajes
Protagonista (imagen)
var protagonista = function (x, y) {
this.x = x;
this.y = y;
this.velocidad = 3;
this.dibuja = function () {
ctx.drawImage(imgMega, this.x, this.y); // Dibuja la imagen
};
};Tiene posición (
x,y) y velocidad.dibuja()usadrawImagepara renderizar la imagen en el canvas.
Personaje (cuadrados móviles)
var personaje = function (x, y) {
this.x = x;
this.y = y;
this.derecha = true; // Dirección inicial
this.dibuja = function () {
ctx.fillStyle = "#fff000"; // Color amarillo
ctx.fillRect(this.x, this.y, 50, 50); // Dibuja un cuadrado
};
this.mueve = function (velocidad) {
if (this.derecha) {
if (this.x < 400) this.x += velocidad;
else this.derecha = false;
} else {
if (this.x > 50) this.x -= velocidad;
else this.derecha = true;
}
};
};mueve()hace que el personaje se desplace horizontalmente, rebotando entrex=50yx=400.
4. Creación de Personajes
var per1 = new personaje(10, 50);
var per2 = new personaje(10, 120);
var per3 = new personaje(10, 230);
var prota = new protagonista(200, 200);Tres personajes amarillos (
per1,per2,per3) con diferentes posiciones iniciales.Un protagonista (
prota) que usa la imagen cargada.
5. Bucle Principal del Juego
function borraCanvas() {
canvas.width = 500;
canvas.height = 400;
}
function principal() {
borraCanvas(); // Limpia el canvas en cada frame
per1.dibuja();
per2.dibuja();
per3.dibuja();
per1.mueve(1); // Mueve a diferente velocidad
per2.mueve(3);
per3.mueve(70);
prota.dibuja(); // Dibuja al protagonista
}borraCanvas()limpia el canvas en cada iteración.Los personajes se mueven a distintas velocidades.
🎯 ¿Qué hace el código?
Dibuja tres cuadrados amarillos que se mueven horizontalmente.
Dibuja un personaje principal (usando una imagen) estático en el centro.
El bucle de juego se ejecuta a 50 FPS.
🚀 Posible mejora: Añadir controles de teclado para mover al protagonista.
¿Te gustaría que profundice en alguna parte?
Comentarios
Publicar un comentario