Mostrar dialogo de firma
This commit is contained in:
parent
54724864a0
commit
72575b44c6
4 changed files with 21 additions and 2 deletions
|
@ -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
BIN
src/assets/Firmá_2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
|
@ -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>) {
|
||||||
|
|
|
@ -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,
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in a new issue