quest'n'click 4.5.0 · r1

Construite pour quest'n'click 4.5.0, révision r1. Si elle est publiée, et laquelle est la courante, est dit par publication.json.

Mise en scène : salles larges et animations

English · Type : référence · Public : auteur · Contexte : dépôt du moteur, projet créé · Statut : prête · S'applique depuis : 4.3.0

Comment un lieu bouge : un lieu plus large que l’écran, avec une caméra qui suit le héros ; des animations d’accessoires dont les images déclenchent sons et effets ; et les réglages du joueur, qui changent la façon dont tout cela se joue (animations réduites, vitesse du texte, volumes). Cette page est la référence de layout.width, de la commande camera, de PropDef.anims, de play, de stopAnim, des événements de frame et de settings.

La mise en scène en un coup d’œil

Vous voulezVous écrivezSection
Un lieu qui défilewidth dans le layout du lieu, un décor plus largeLieux larges et caméra
Déplacer la vue{ camera: … }Lieux larges et caméra
Un accessoire animé, avec un son sur la bonne imageanims sur l’accessoire, { play: [accessoire, nom] }Animations d’accessoires
Une entrée Réglages dans le menu pausesettings: true dans game.tsRéglages
Une réplique doubléevoice sur say, audio.voicesVoix
Calques, lumières, particules, plusieurs solsstage dans le lieuLa scène

La sous-partie « Voix » de l’ancien guide du contenu, qui se trouvait dans ce chapitre, est désormais dans Voix.

Lieux larges et caméra

Forme

Un lieu fait 640 × 400 unités logiques. Donnez à son layout une width (960, 1280… : dossier « Room width » de l’éditeur du Studio, ou dans le fichier de layout du lieu, game/layout/<lieu>.json dans un projet créé, games/<id>/layout/<lieu>.json dans le dépôt du moteur) et peignez son décor aussi large, 800 px de haut et la largeur en proportion ; l’outil assets la garde. Le lieu défile alors, et la caméra suit le héros. Les positions restent des coordonnées du monde : un accessoire à x 900 est dans la partie droite du lieu.

Des commandes déplacent la caméra :

CommandeEffet
{ camera: { to: 'etals_lointains', ms: 900 } }Panoramique pour centrer quelque chose (acteur, accessoire, zone), puis reste là.
{ camera: { pan: 320, ms: 600 } }Panoramique vers un bord gauche, en unités logiques (borné au lieu).
{ camera: 'follow' } (ou 'reset')Suivre à nouveau le héros. Entrer dans un lieu suit toujours le héros.

Valeurs et défaut

Contraintes

La caméra est dans l’état (camera : son bord gauche, et si elle suit) : une sauvegarde la restitue. Le solveur l’ignore. « Réduire les animations » (le réglage, ou le prefers-reduced-motion du système) rend chaque panoramique instantané.

Exemple minimal

// in a rule of a room whose layout has width: 1280
{ verb: 'look', a: 'far_stalls', do: [{ camera: { to: 'far_stalls', ms: 900 } }, 'The far stalls.', { camera: 'follow' }] }

Comportement sur un champ inconnu

La commande camera n’accepte que les formes ci-dessus ; TypeScript signale une autre forme dans un lieu typé.

Depuis

Lieux larges et caméra : 1.5.0 « Picture ». Une caméra qui zoome aussi selon la zone de marche et se déplace verticalement : 3.4.0 (voir La scène).

La géométrie (où peut aller la caméra, les zones qui la font zoomer) est aussi décrite dans Géométrie.

Animations d’accessoires et événements de frame

Forme

props: {
  garde_manger: { name: 'garde-manger', states: { ferme: 'home/r1c3', ouvert: 'home/r1c4' }, initial: 'ferme',
    anims: { secoue: { frames: ['home/r1c4', 'home/r1c3', 'home/r1c4', 'home/r1c3'], fps: 12, at: { 1: [{ sfx: 'loquet' }] } },
             halo: { frames: ['home/g1', 'home/g2'], fps: 4, loop: true } } },
},
on: [{ verb: 'open', a: 'garde_manger', do: [{ play: ['garde_manger', 'secoue'] }, 'Fermé.'] }],

Une animation (PropAnim, src/engine/core/types/content.ts) a :

ChampSens
framesDes ids d’images du manifeste, montrées tour à tour.
fpsImages par seconde.
loopTourne toute seule jusqu’à ce qu’on l’arrête.
atNuméro d’image → commandes exécutées quand cette image est atteinte.

Valeurs et comportement

Contraintes

Le validateur refuse un drapeau ou une réplique dans le at d’une animation loop : la boucle ne finit jamais, l’état ne se poserait jamais.

Comportement sur un champ inconnu

TypeScript le signale sur un accessoire typé ; le moteur ne le lit pas.

Depuis

Animations d’accessoires et événements de frame (at) : 1.5.0 « Picture ». L’état d’une animation en boucle n’est que de la présentation et n’est pas sauvegardé : après un chargement, l’accessoire montre l’image de son état jusqu’à ce qu’une commande relance la boucle (voir État et sauvegardes).

Réglages

Forme

settings: true dans game.ts ajoute une entrée Réglages au menu pause.

Valeurs et défaut

Chaque ligne fait défiler sa valeur :

RéglageValeursDéfaut
Vitesse du textelent / normal / rapidenormal
Taille du textenormal / grandnormal
Réduire les animations (pas de tremblement, caméra et fondus instantanés, ni parallaxe, ni particules, ni transition de lieu)oui / nonnon (ou oui quand le système demande des animations réduites)
Police lisible, quand le jeu en fournit une (skin.fonts.readable)oui / nonnon
Volumes musique, sons et voix—au maximum
Sous-titres des sons, proposés seulement quand le jeu sous-titre un sonoui / nonoui
Touches des verbes, proposées seulement quand un verbe a une key (4.3.0)oui / nonoui
Langue, quand le jeu fournit des traductionsles langues du jeu?lang= dans l’URL, sinon le dernier choix, sinon la langue du navigateur si le jeu l’a, sinon la langue dans laquelle le jeu est écrit

Les préférences restent dans le navigateur, hors sauvegarde : localStorage <jeu>.settings, et <jeu>.lang pour la langue. Une nouvelle partie ou un chargement ne les change pas.

Les libellés des lignes sont des textes d’interface de ui : settings, textSpeed, textSize, reduceMotion, readableFont, volumeMusic, volumeSfx, volumeVoice, captions, verbKeys, language, et les valeurs slow, normal, fast, large. Chacun a une valeur anglaise par défaut quand il est absent (la liste complète est dans Habillage et polices).

Contraintes

Sans settings: true, pas d’entrée Réglages ; les animations réduites suivent quand même la préférence du système.

Depuis

settings : 1.5.0 « Picture ». Sous-titres : 3.4.0. Touches des verbes : 4.3.0.

Limite · settings-per-browser Les réglages appartiennent à un navigateur sur un appareil : ils ne voyagent pas avec un fichier de sauvegarde exporté, et une fenêtre privée les oublie.

Ce que le joueur voit de ces réglages, et ce qu’ils apportent à l’accessibilité, est dans Les réglages, côté joueur et Accessibilité.


Modifier la source de cette page · Signaler une erreur