Il titolo compare sotto il cartello mentre sfuma: niente piazza nel mezzo
Il cartello sfumava a 4,3 s ma il titolo arrivava solo a 5 s: per mezzo secondo si vedeva la scena di gioco. Ora il titolo si mostra all'inizio della dissolvenza, sotto il cartello; il test nel browser controlla che compaia quando il cartello è ancora visibile. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UdeKd62opy9PKgpQXtVctF
This commit is contained in:
+8
-3
@@ -222,15 +222,20 @@ $('restart').addEventListener('click', () => { if (storage) clearSave(storage);
|
|||||||
|
|
||||||
// Dietro il titolo si vede già la piazza.
|
// Dietro il titolo si vede già la piazza.
|
||||||
// --- Cartello d'apertura «Manzolo (Poca) Art Presents»: 5 secondi (un clic o un tasto lo salta), poi il titolo.
|
// --- Cartello d'apertura «Manzolo (Poca) Art Presents»: 5 secondi (un clic o un tasto lo salta), poi il titolo.
|
||||||
|
// Il titolo compare sotto il cartello quando questo comincia a sfumare (style.css, 4,3 s): dissolvenza incrociata,
|
||||||
|
// senza intravedere la piazza nel mezzo.
|
||||||
|
const SPLASH_FADE = 4300, SPLASH_END = 5000;
|
||||||
function showSplash() {
|
function showSplash() {
|
||||||
let done = false;
|
let done = false, revealed = false;
|
||||||
|
const reveal = () => { if (!revealed) { revealed = true; showTitle(); } };
|
||||||
const end = () => {
|
const end = () => {
|
||||||
if (done) return;
|
if (done) return;
|
||||||
done = true;
|
done = true;
|
||||||
$('splash').hidden = true;
|
$('splash').hidden = true;
|
||||||
showTitle();
|
reveal();
|
||||||
};
|
};
|
||||||
setTimeout(end, 5000);
|
setTimeout(reveal, SPLASH_FADE);
|
||||||
|
setTimeout(end, SPLASH_END);
|
||||||
$('splash').addEventListener('click', end);
|
$('splash').addEventListener('click', end);
|
||||||
addEventListener('keydown', end, { once: true });
|
addEventListener('keydown', end, { once: true });
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -49,8 +49,12 @@ try {
|
|||||||
assert.ok(await page.isHidden('#title'), 'il titolo aspetta la fine del cartello');
|
assert.ok(await page.isHidden('#title'), 'il titolo aspetta la fine del cartello');
|
||||||
await page.waitForTimeout(2800);
|
await page.waitForTimeout(2800);
|
||||||
await page.screenshot({ path: `${OUT}/00-cartello.png` });
|
await page.screenshot({ path: `${OUT}/00-cartello.png` });
|
||||||
|
// Il titolo arriva sotto il cartello mentre sfuma: in nessun momento si vede la scena nuda.
|
||||||
await page.waitForSelector('#title:not([hidden])', { timeout: 8000 });
|
await page.waitForSelector('#title:not([hidden])', { timeout: 8000 });
|
||||||
assert.ok(await page.isHidden('#splash'), 'il cartello sparisce');
|
assert.ok(await page.isVisible('#splash'), 'il titolo compare quando il cartello è ancora sopra');
|
||||||
|
await page.waitForTimeout(350);
|
||||||
|
await page.screenshot({ path: `${OUT}/00b-dissolvenza.png` });
|
||||||
|
await page.waitForSelector('#splash', { state: 'hidden', timeout: 3000 });
|
||||||
await page.screenshot({ path: `${OUT}/01-titolo.png` });
|
await page.screenshot({ path: `${OUT}/01-titolo.png` });
|
||||||
await page.click('#new-game');
|
await page.click('#new-game');
|
||||||
// L'introduzione: una riga per clic, poi comincia la partita.
|
// L'introduzione: una riga per clic, poi comincia la partita.
|
||||||
|
|||||||
Reference in New Issue
Block a user