From ee5c7a084f0e351a0344e7aba3a535679bd34c91 Mon Sep 17 00:00:00 2001 From: MattCastUCM <100031127+MattCastUCM@users.noreply.github.com> Date: Fri, 9 Aug 2024 18:09:10 +0200 Subject: [PATCH] =?UTF-8?q?Ajustar=20puertas=20para=20controles=20t=C3=A1c?= =?UTF-8?q?tiles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/UI/messageBox.js | 1 + src/UI/phone/settingsScreen.js | 2 ++ src/scenes/gameLoop/baseScene.js | 33 +++++++++++++++++++++++++++++--- src/scenes/gameLoop/busScene.js | 2 +- 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/UI/messageBox.js b/src/UI/messageBox.js index 5f99e44..3297244 100644 --- a/src/UI/messageBox.js +++ b/src/UI/messageBox.js @@ -51,6 +51,7 @@ export default class MessageBox extends Phaser.GameObjects.Container { // Configuracion de texto para la el texto del mensaje let textConfig = { ...scene.gameManager.textConfig }; textConfig.fontFamily = 'roboto-regular'; + textConfig.fontStyle = 'bold'; textConfig.fontSize = 15 + 'px'; textConfig.color = '#000'; textConfig.wordWrap = { diff --git a/src/UI/phone/settingsScreen.js b/src/UI/phone/settingsScreen.js index 33cffe6..c2efee6 100644 --- a/src/UI/phone/settingsScreen.js +++ b/src/UI/phone/settingsScreen.js @@ -31,6 +31,7 @@ export default class SettingsScreen extends BaseScreen { let yesText = this.i18next.t("settings.yes", { ns: "phoneInfo" }) let yesButton = new Button(scene, this.BG_X, this.BG_Y * 1.1, 1, () => { + yesButton.reset(); this.gameManager.startLangMenu(); }, this.gameManager.textBox.fillName, normalColor, hoverColor, pressedColor, @@ -46,6 +47,7 @@ export default class SettingsScreen extends BaseScreen { let noText = this.i18next.t("settings.no", { ns: "phoneInfo" }) let noButton = new Button(scene, this.BG_X, this.BG_Y * 1.4, 1, () => { + noButton.reset(); phone.toPrevScreen(); }, this.gameManager.textBox.fillName, normalColor, hoverColor, pressedColor, diff --git a/src/scenes/gameLoop/baseScene.js b/src/scenes/gameLoop/baseScene.js index c089532..77cb9e1 100644 --- a/src/scenes/gameLoop/baseScene.js +++ b/src/scenes/gameLoop/baseScene.js @@ -613,29 +613,56 @@ export default class BaseScene extends Phaser.Scene { closed.setInteractive({ useHandCursor: true }); opened.setInteractive({ useHandCursor: true }); + // Oculta la imagen de la puerta abierta opened.visible = false; + + // Establece el tipo de evento de puntero segun si + // hay que hacer click o pasar el raton por encima let openEvt = 'pointerdown'; let closeEvt = 'pointerdown'; - if (!click) { openEvt = 'pointerover'; closeEvt = 'pointerout'; } + // Al producir el evento de puntero en la puerta cerrada, se oculta la + // imagen de la puerta cerrada y se muestra la imagen de la puerta abierta. closed.on(openEvt, () => { closed.visible = false; opened.visible = true; }); + // Al producir el evento de puntero en la puerta abierta, se oculta la + // imagen de la puerta abierta y se muestra la imagen de la puerta cerrada. opened.on(closeEvt, () => { opened.visible = false; closed.visible = true; }); - + + // Al pulsar la puerta abierta, se produce el evento indicado opened.on('pointerdown', () => { if (onClick !== null && typeof onClick === 'function') { onClick(); } - }) + }); + + + // Al pulsar la puerta cerrada, si se esta usando input tactil, se abre la puerta por un + // momento, se produce el evento indicado despues de que se abra la puerta, y luego se cierra + closed.on('pointerdown', () => { + if (IS_TOUCH) { + opened.visible = true; + closed.visible = false; + setTimeout(() => { + if (onClick !== null && typeof onClick === 'function') { + onClick(); + } + if (!click) { + opened.visible = false; + closed.visible = true; + } + }, 100); + } + }); } } \ No newline at end of file diff --git a/src/scenes/gameLoop/busScene.js b/src/scenes/gameLoop/busScene.js index 2f62228..f7e690e 100644 --- a/src/scenes/gameLoop/busScene.js +++ b/src/scenes/gameLoop/busScene.js @@ -17,7 +17,7 @@ export default class BusScene extends BaseScene { create(params) { super.create(params); - let duration = 2000; + let duration = 1500; let nextScene = ""; if (params.duration) {