andevengine
O mini motor 2D em TypeScript que roda os jogos deste site. É pequeno de propósito: o suficiente para entender cada peça.
O que explorei
- Loop com requestAnimationFrame e delta time em segundos
- Entrada de teclado e mouse como um conjunto de teclas pressionadas
- Vetores 2D e, em cada jogo, colisões AABB, círculo–retângulo e resposta com restituição
- Câmera com interpolação linear no 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);
};