andevengine
El pequeño motor 2D en TypeScript detrás de los juegos de este sitio. Es pequeño a propósito: lo justo para entender cada pieza.
Qué exploré
- Bucle con requestAnimationFrame y delta time en segundos
- Entrada de teclado y mouse como un conjunto de teclas presionadas
- Vectores 2D y, en cada juego, colisiones AABB, círculo–rectángulo y respuesta con restitución
- Cámara con interpolación lineal en Angry Blocks
private readonly loop = (currentTime: number): void => {
const deltaTime = (currentTime - this.previousTime) / 1000;
this.previousTime = currentTime;
this.update(deltaTime);
this.render();
this.animationFrameId = requestAnimationFrame(this.loop);
};