🚪 Passer d’une scène à l’autre
Pour créer plusieurs scènes dans votre jeu, appelez simplement createGame()
plusieurs fois. Chaque appel remplace complètement la scène précédente.
Principe
function openMenu() {
createGame({
// Configuration du menu
templates: [
{
sprite: '1',
onCollide() {
openGame() // Aller au jeu
}
}
]
})
}
function openGame() {
createGame({
// Configuration du jeu
templates: [
{
sprite: '2',
onCollide() {
openMenu() // Retour au menu
}
}
]
})
}
openMenu() // Démarrer
💾 Conserver des données
Les variables déclarées en dehors de createGame()
sont conservées entre les scènes :
let score = 0
let level = 1
function nextLevel() {
level++
createGame({
onStart() {
showMessage(`Niveau ${level} - Score: ${score}`)
}
//...
})
}
Note
Chaque createGame()
recrée entièrement le jeu. Seules les variables globales persistent.
🚫 Effacer l’écran
La méthode game.clear()
permet de stopper le jeu et remplacer l’affichage par une couleur unie :
const game = createGame({
templates: [
{
sprite: '1',
async onCollide() {
await game.openMessage('...')
game.clear('0') // Efface avec une couleur spécifique
// Puis créer une nouvelle scène
createGame({
//...
})
}
}
]
})
Paramètre :
color
(string|number, optionnel) : Couleur d’effacement. Si non spécifiée, utilise la couleur de fond du jeu.
Note
Généralement pas nécessaire, mais utile pour éviter un flash entre une scène avec un message et une nouvelle scène.