Scènes
Une scène regroupe les systèmes actifs pour un état de jeu. Changez de scène pour modifier les systèmes en cours d'exécution — menu de pause, gameplay, cinématique.
Définir une scène
Utilisez defineScene() pour créer une scène. Deux formes sont disponibles :
Forme options :
typescript
import { defineScene } from '@gwenjs/core/scene'
import { MovementSystem, RenderSystem } from './systems'
export const GameScene = defineScene({
name: 'game',
systems: [MovementSystem, RenderSystem],
})Forme factory — pour les requêtes inline, les hooks de cycle de vie et la configuration réactive :
typescript
// imports omitted for brevity
export const GameScene = defineScene('game', () => {
const entities = useQuery({ with: [Position, Velocity] })
onUpdate((dt) => {
for (const id of entities) {
Position.x[id] += Velocity.x[id] * dt
}
})
})Pour naviguer entre scènes, voir Scene Router.
Prochaines étapes
- Scene Router — Naviguer entre scènes avec un automate fini.
- Acteurs — Créer des entités nommées basées sur des instances au sein des scènes.
- Systèmes — Écrire des systèmes qui s'exécutent dans les scènes.