Agregar Larreta
This commit is contained in:
parent
080513daf6
commit
973c8da577
4 changed files with 20 additions and 9 deletions
|
@ -1,5 +1,6 @@
|
||||||
import botonJugarImg from "./assets/boton_jugar.png";
|
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 fondoImg from "./assets/CieloRioCalle.png";
|
||||||
import edificiosImg from "./assets/Edificios.png";
|
import edificiosImg from "./assets/Edificios.png";
|
||||||
import jugadorxImg from "./assets/ProtagonistaCorriendo_1.png";
|
import jugadorxImg from "./assets/ProtagonistaCorriendo_1.png";
|
||||||
|
@ -20,6 +21,7 @@ function loadImage(url: string): Promise<HTMLImageElement> {
|
||||||
export const assetUrls = {
|
export const assetUrls = {
|
||||||
botonJugar: botonJugarImg,
|
botonJugar: botonJugarImg,
|
||||||
larreta: larretaImg,
|
larreta: larretaImg,
|
||||||
|
millonarioMalo: millonarioMaloPng,
|
||||||
fondo: fondoImg,
|
fondo: fondoImg,
|
||||||
edificios: edificiosImg,
|
edificios: edificiosImg,
|
||||||
jugadorx: jugadorxImg,
|
jugadorx: jugadorxImg,
|
||||||
|
|
BIN
src/assets/Larreta.png
Normal file
BIN
src/assets/Larreta.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6 KiB |
|
@ -15,7 +15,7 @@ export type State = {
|
||||||
pos: { x: number };
|
pos: { x: number };
|
||||||
view: { x: number };
|
view: { x: number };
|
||||||
side: "left" | "right";
|
side: "left" | "right";
|
||||||
enemies: { x: number }[];
|
enemies: { x: number; sprite: Sprite }[];
|
||||||
seeds: { x: number; velocity: { x: number } }[];
|
seeds: { x: number; velocity: { x: number } }[];
|
||||||
trees: { x: number; sprite: Sprite }[];
|
trees: { x: number; sprite: Sprite }[];
|
||||||
time: number;
|
time: number;
|
||||||
|
@ -111,7 +111,13 @@ export function update(juego: Juego<State>, dt: number) {
|
||||||
const x = Math.random() * MAP_SIZE + MAP_MIN;
|
const x = Math.random() * MAP_SIZE + MAP_MIN;
|
||||||
// Don't spawn enemies too close
|
// Don't spawn enemies too close
|
||||||
if (Math.abs(juego.state.pos.x - x) < 300) continue;
|
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) {
|
for (const enemy of juego.state.enemies) {
|
||||||
|
@ -148,14 +154,10 @@ function drawTrees(juego: Juego<State>) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function drawEnemies(juego: Juego<State>) {
|
function drawEnemies(juego: Juego<State>) {
|
||||||
const height = juego.sprites.larreta.getHeight(juego);
|
|
||||||
const floorY = getFloorY(juego);
|
const floorY = getFloorY(juego);
|
||||||
for (const enemy of juego.state.enemies) {
|
for (const enemy of juego.state.enemies) {
|
||||||
juego.sprites.larreta.draw(
|
const height = enemy.sprite.getHeight(juego);
|
||||||
juego,
|
enemy.sprite.draw(juego, enemy.x + juego.state.view.x, floorY - height);
|
||||||
enemy.x + juego.state.view.x,
|
|
||||||
floorY - height
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ export type Juego<T extends State> = {
|
||||||
| "jugadorx"
|
| "jugadorx"
|
||||||
| "baldosa"
|
| "baldosa"
|
||||||
| "larreta"
|
| "larreta"
|
||||||
|
| "millonarioMalo"
|
||||||
| "semilla"
|
| "semilla"
|
||||||
| "arbol1"
|
| "arbol1"
|
||||||
| "arbol2"]: Sprite;
|
| "arbol2"]: Sprite;
|
||||||
|
@ -98,6 +99,12 @@ async function initJuego() {
|
||||||
),
|
),
|
||||||
larreta: loadSprite(
|
larreta: loadSprite(
|
||||||
assets.larreta,
|
assets.larreta,
|
||||||
|
83,
|
||||||
|
131,
|
||||||
|
(juego) => juego.canvas.height / 4
|
||||||
|
),
|
||||||
|
millonarioMalo: loadSprite(
|
||||||
|
assets.millonarioMalo,
|
||||||
50,
|
50,
|
||||||
71,
|
71,
|
||||||
(juego) => juego.canvas.height / 4
|
(juego) => juego.canvas.height / 4
|
||||||
|
|
Loading…
Reference in a new issue