Cartello d'apertura «Manzolo (Poca) Art Presents»; il primo fotogramma non congela più il gioco
Il cartello dura 5 secondi prima del titolo e si salta con un clic o un tasto; il test nel browser lo controlla. Il primo timestamp di requestAnimationFrame può precedere quello del caricamento: il dt negativo dava alla musica un volume sotto zero, il browser lanciava un errore e il ciclo dei fotogrammi si fermava (una volta su tre nella prova in orizzontale). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UdeKd62opy9PKgpQXtVctF
This commit is contained in:
+9
-1
@@ -44,7 +44,13 @@ const hotspotCenter = (page, id) => page.evaluate(id => { const h = game.hotspot
|
||||
|
||||
try {
|
||||
const page = await open({ width: 1280, height: 860 });
|
||||
await page.waitForSelector('#title:not([hidden])');
|
||||
// Il cartello d'apertura, poi da solo il titolo.
|
||||
assert.match(await page.textContent('#splash'), /Manzolo\s*\(Poca\)\s*Art\s*Presents/);
|
||||
assert.ok(await page.isHidden('#title'), 'il titolo aspetta la fine del cartello');
|
||||
await page.waitForTimeout(2800);
|
||||
await page.screenshot({ path: `${OUT}/00-cartello.png` });
|
||||
await page.waitForSelector('#title:not([hidden])', { timeout: 8000 });
|
||||
assert.ok(await page.isHidden('#splash'), 'il cartello sparisce');
|
||||
await page.screenshot({ path: `${OUT}/01-titolo.png` });
|
||||
await page.click('#new-game');
|
||||
// L'introduzione: una riga per clic, poi comincia la partita.
|
||||
@@ -108,6 +114,8 @@ try {
|
||||
assert.equal(await page.evaluate(() => game.state.scene), 'trebbio');
|
||||
|
||||
const phone = await open({ width: 390, height: 844 });
|
||||
await phone.click('#splash'); // un clic salta il cartello
|
||||
assert.ok(await phone.isVisible('#title'), 'il clic sul cartello porta al titolo');
|
||||
await phone.click('#new-game');
|
||||
await phone.click('#skip-intro');
|
||||
await settle(phone);
|
||||
|
||||
Reference in New Issue
Block a user