Mostrar dialogo de firma

This commit is contained in:
Nulo 2021-07-06 17:58:08 +00:00
parent 54724864a0
commit 72575b44c6
4 changed files with 21 additions and 2 deletions

View File

@ -11,6 +11,7 @@ import instrucciones3 from "./assets/Instrucciones 3.png";
import placaPerdiste from "./assets/Perdiste_2.png"; import placaPerdiste from "./assets/Perdiste_2.png";
import placaFelicitaciones from "./assets/Felicitaciones_2.png"; import placaFelicitaciones from "./assets/Felicitaciones_2.png";
import flecha from "./assets/flecha.png"; import flecha from "./assets/flecha.png";
import dialogoFirma from "./assets/Firmá_2.png";
import larreta from "./assets/Larreta.png"; import larreta from "./assets/Larreta.png";
import millonarioMalo from "./assets/Millonario Malo.png"; import millonarioMalo from "./assets/Millonario Malo.png";
import cieloRioCalle from "./assets/CieloRioCalle.png"; import cieloRioCalle from "./assets/CieloRioCalle.png";
@ -52,6 +53,7 @@ export const assetUrls = {
placaPerdiste, placaPerdiste,
placaFelicitaciones, placaFelicitaciones,
flecha, flecha,
dialogoFirma,
larreta, larreta,
millonarioMalo, millonarioMalo,
cieloRioCalle, cieloRioCalle,

BIN
src/assets/Firmá_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -35,6 +35,7 @@ export type State = {
trees: { x: number; sprite: Sprite }[]; trees: { x: number; sprite: Sprite }[];
citizens: Citizen[]; citizens: Citizen[];
signatures: number; signatures: number;
justSigned: number;
time: number; time: number;
seedCooldown: number; seedCooldown: number;
}; };
@ -62,6 +63,7 @@ export function createJugandoState(juego: Juego<any>): State {
trees: [], trees: [],
signatures: 0, signatures: 0,
citizens, citizens,
justSigned: 0,
time: TIME, time: TIME,
seedCooldown: 0, seedCooldown: 0,
}; };
@ -159,6 +161,7 @@ export function update(juego: Juego<State>, dt: number) {
if (juego.state.pos.x > MAP_MAX) juego.state.pos.x = MAP_MAX; if (juego.state.pos.x > MAP_MAX) juego.state.pos.x = MAP_MAX;
juego.state.seedCooldown -= dt; juego.state.seedCooldown -= dt;
juego.state.justSigned -= dt;
const citizen = detectCitizen(juego); const citizen = detectCitizen(juego);
@ -166,6 +169,7 @@ export function update(juego: Juego<State>, dt: number) {
if (citizen) { if (citizen) {
juego.state.signatures += 1000; juego.state.signatures += 1000;
juego.state.citizens = juego.state.citizens.filter((c) => c != citizen); juego.state.citizens = juego.state.citizens.filter((c) => c != citizen);
juego.state.justSigned = 2000;
} else { } else {
if (juego.state.seedCooldown < 0) { if (juego.state.seedCooldown < 0) {
const seedSpeed = juego.canvas.width * 0.7; const seedSpeed = juego.canvas.width * 0.7;
@ -270,13 +274,22 @@ function detectCitizen(juego: Juego<State>): Citizen | undefined {
function drawJugadorx(juego: Juego<State>) { function drawJugadorx(juego: Juego<State>) {
const floorY = getFloorY(juego); const floorY = getFloorY(juego);
const width = juego.sprites.jugadorx.getWidth(juego);
const height = juego.sprites.jugadorx.getHeight(juego);
juego.sprites.jugadorx.draw( juego.sprites.jugadorx.draw(
juego, juego,
juego.state.pos.x + juego.state.view.x, juego.state.pos.x + juego.state.view.x,
floorY - juego.sprites.jugadorx.getHeight(juego), floorY - height,
0, 0,
juego.state.side === "left" juego.state.side === "left"
); );
if (juego.state.justSigned > 0) {
juego.sprites.dialogoFirma.draw(
juego,
juego.state.pos.x + juego.state.view.x + width,
floorY - height - juego.sprites.dialogoFirma.getHeight(juego)
);
}
} }
function drawTrees(juego: Juego<State>) { function drawTrees(juego: Juego<State>) {

View File

@ -27,6 +27,7 @@ export type Juego<T extends State> = {
| "instrucciones3" | "instrucciones3"
| "placaPerdiste" | "placaPerdiste"
| "placaFelicitaciones" | "placaFelicitaciones"
| "dialogoFirma"
| "flecha" | "flecha"
| "jugadorx" | "jugadorx"
| "jugadorxPresentando" | "jugadorxPresentando"
@ -159,6 +160,9 @@ async function initJuego() {
placaFelicitaciones: loadSprite(assets.placaFelicitaciones, { placaFelicitaciones: loadSprite(assets.placaFelicitaciones, {
height: (juego) => juego.canvas.height * 0.6, height: (juego) => juego.canvas.height * 0.6,
}), }),
dialogoFirma: loadSprite(assets.dialogoFirma, {
height: (juego) => juego.canvas.height / 8,
}),
flecha: loadSprite(assets.flecha, { flecha: loadSprite(assets.flecha, {
height: (juego) => juego.canvas.height / 6, height: (juego) => juego.canvas.height / 6,
}), }),
@ -166,7 +170,7 @@ async function initJuego() {
assets.jugadorx, assets.jugadorx,
{ height: (juego) => juego.canvas.height / 4 }, { height: (juego) => juego.canvas.height / 4 },
{ {
width: 65, width: 56,
height: 94, height: 94,
} }
), ),