From 973c8da5777d75c403221f673ef6f6a97f6ca45a Mon Sep 17 00:00:00 2001 From: Nulo Date: Thu, 1 Jul 2021 20:45:37 +0000 Subject: [PATCH] Agregar Larreta --- src/assets.ts | 4 +++- src/assets/Larreta.png | Bin 0 -> 6128 bytes src/jugando.ts | 18 ++++++++++-------- src/main.ts | 7 +++++++ 4 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 src/assets/Larreta.png diff --git a/src/assets.ts b/src/assets.ts index d591c6b..0a4f886 100644 --- a/src/assets.ts +++ b/src/assets.ts @@ -1,5 +1,6 @@ import botonJugarImg from "./assets/boton_jugar.png"; -import larretaImg from "./assets/Millonario Malo.png"; +import larretaImg from "./assets/Larreta.png"; +import millonarioMaloPng from "./assets/Millonario Malo.png"; import fondoImg from "./assets/CieloRioCalle.png"; import edificiosImg from "./assets/Edificios.png"; import jugadorxImg from "./assets/ProtagonistaCorriendo_1.png"; @@ -20,6 +21,7 @@ function loadImage(url: string): Promise { export const assetUrls = { botonJugar: botonJugarImg, larreta: larretaImg, + millonarioMalo: millonarioMaloPng, fondo: fondoImg, edificios: edificiosImg, jugadorx: jugadorxImg, diff --git a/src/assets/Larreta.png b/src/assets/Larreta.png new file mode 100644 index 0000000000000000000000000000000000000000..470deb80ef70475212218a638d215e790532e7ab GIT binary patch literal 6128 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 p{, dt: number) { const x = Math.random() * MAP_SIZE + MAP_MIN; // Don't spawn enemies too close if (Math.abs(juego.state.pos.x - x) < 300) continue; - juego.state.enemies.push({ x }); + juego.state.enemies.push({ + x, + sprite: randomFromArray([ + juego.sprites.larreta, + juego.sprites.millonarioMalo, + ]), + }); } for (const enemy of juego.state.enemies) { @@ -148,14 +154,10 @@ function drawTrees(juego: Juego) { } } function drawEnemies(juego: Juego) { - const height = juego.sprites.larreta.getHeight(juego); const floorY = getFloorY(juego); for (const enemy of juego.state.enemies) { - juego.sprites.larreta.draw( - juego, - enemy.x + juego.state.view.x, - floorY - height - ); + const height = enemy.sprite.getHeight(juego); + enemy.sprite.draw(juego, enemy.x + juego.state.view.x, floorY - height); } } diff --git a/src/main.ts b/src/main.ts index 7fa4cde..492230e 100644 --- a/src/main.ts +++ b/src/main.ts @@ -18,6 +18,7 @@ export type Juego = { | "jugadorx" | "baldosa" | "larreta" + | "millonarioMalo" | "semilla" | "arbol1" | "arbol2"]: Sprite; @@ -98,6 +99,12 @@ async function initJuego() { ), larreta: loadSprite( assets.larreta, + 83, + 131, + (juego) => juego.canvas.height / 4 + ), + millonarioMalo: loadSprite( + assets.millonarioMalo, 50, 71, (juego) => juego.canvas.height / 4