Repository navigation
FR Creer Visible Mais Inaccessible
English · Type : dépannage · Public : auteur · Contexte : dépôt du moteur, projet créé · Statut : prête · S'applique depuis : 4.3.0
Vous voyez une chose dans la salle, mais la toucher ne fait rien, en choisit une autre, ou le héros s'arrête avant
elle. Cette page part de ce que vous voyez pour remonter à la cause, dans la géométrie (layout/<salle>.json) ou dans
le contenu de la salle.
L'un de ceux-ci, dans le jeu ou dans la vue de jeu du Studio :
- Le tap mène au sol. La ligne de phrase affiche le libellé de marche (« Walk to » dans le modèle) sans aucun nom (à la souris, le survol n'affiche pas de nom non plus), et le héros marche là où vous avez touché, comme sur un sol vide.
- Le tap nomme autre chose. La ligne de phrase affiche un autre nom (le placard au lieu de la clé qu'il contient).
- Le héros s'arrête avant. La chose est nommée, le héros marche, mais s'arrête loin d'elle, ou de l'autre côté d'un mur, puis agit ou parle de là.
- Le héros s'arrête et dit une réplique comme « Le portail est fermé. » en chemin : un lien de marche fermé.
- La chose est au-delà du bord : dans une salle large, la caméra ne la montre jamais, ou le héros ne peut pas aller aussi loin.
Ce n'est pas une cible. Un tap n'atteint que les zones cliquables de la salle, ses accessoires qui ont un name,
ses acteurs sans interactive: false, et les autres personnages jouables qui s'y trouvent, chacun seulement tant
qu'il est visible (ce que touche un tap). Donc :
- La chose est peinte dans le décor et aucune zone cliquable ne la couvre. Une peinture ne se clique pas.
- C'est un accessoire sans
name: du décor, voulu comme tel. - C'est une zone cliquable sans forme : ni
rectnipolydans le layout (validateditno zone in the layout (rect or poly)), ou la salle n'a pas de layout du tout (no layout: nothing will be clickable). - Sa condition
visibleest fausse : une zone ou un accessoire caché n'est pas une cible. Une zone cliquable n'est dessinée par rien, si bien que le décor montre toujours la chose pendant que la zone est cachée. - C'est un acteur en
interactive: false(un décor vivant), ou un personnage mobile qui est maintenant dans une autre salle (moveActor) : son acteur ne se montre que dans la salle où il est.
Une cible plus petite l'emporte. Quand plusieurs cibles contiennent le tap, la plus petite boîte gagne. Une petite zone dessinée dans l'image d'un accessoire, ou un petit accessoire sur un grand, prend le tap à cet endroit.
Le point d'approche est hors d'atteinte. Avant d'agir, le héros marche jusqu'au point d'approche de la chose (points d'approche) :
- Le point d'approche est hors de la zone de marche ou dans un trou : la marche va au point le plus proche à l'intérieur, et l'action continue de là (de loin, ou du mauvais côté d'un comptoir).
- Il n'y a pas de point d'approche, et celui qui est calculé tombe mal : pour un accessoire, 12 unités sous ses
pieds (jamais sous
floor, 395 par défaut) ; pour une zone cliquable, sous le milieu de sa forme. Une zone haute sur un mur reçoit un point dans le vide, ramené ensuite au bord du sol. - Un accessoire ou un acteur a bougé de plus de 150 unités par rapport à son point d'approche enregistré
(
NEAR) : l'ancien point est ignoré et un nouveau calculé.
Un sol est fermé ou manquant (salles à walkZones) :
- La chose se trouve dans une zone derrière un lien de marche fermé (
stage.links.<id>.iffaux) : le héros va au pied du lien et dit sa répliquelocked. Si la règle de la salle sur cette chose ne teste pas la même condition, l'action s'exécute ensuite du mauvais côté. - Aucun lien ne rejoint sa zone, ou un lien à sens unique va dans le mauvais sens (
validaterefuse une zone à laquelle rien ne mène).
La salle est plus large que dessinée :
- La chose, sa forme ou une entrée est au-delà de la
widthdu layout (validateprévient… is beyond the room's width), ou la salle fait plus de 640 de large mais son layout n'a pas dewidth.
Limite ·
not-presentationUn calque dessiné devant une chose (foreground) ou un masque n'empêche jamais de la toucher : ils ne changent que ce que l'on voit. Si le tap atteint la chose et que la règle ne répond toujours pas, la cause n'est pas ici : voir les cas voisins plus bas.
- Ouvrez la salle avec la géométrie dessinée par-dessus :
/?dev&at=<point>sur le serveur de développement (dans le projet créé ou dans le dépôt du moteur :npm run dev). La zone de marche est en vert, ses trous en rouge, les zones cliquables en bleu, les accessoires en violet, les acteurs en vert, les liens de marche en jaune ; un point d'approche est une pastille, pleine quand le layout le donne, creuse quand le moteur le calcule. Une zone ou un accessoire caché n'est pas dessiné. La touche D affiche ou masque la couche.- Pas de zone bleue ni de boîte violette sur la chose : causes 1 à 5.
- Une zone plus petite à l'intérieur : la plus petite gagne.
- La pastille d'approche hors de la zone verte, dans le rouge, ou loin de la chose : causes 6 à 8.
- Touchez la chose sans verbe choisi (ou survolez-la à la souris) : la ligne de phrase affiche le libellé de marche et le nom de la cible atteinte, ou aucun nom.
-
Lancez les vérifications :
# dans le dépôt du moteur npm run validate npm run lint# dans le projet créé npx quest-n-click validate npx quest-n-click lintCherchez
no zone in the layout,no position in the layout,no layout,is beyond the room's width,walk zone "…" cannot be reached,no walk link (portal) joins walk zone, et le code de lintwalk-link-gate.
- Dans
rooms/<salle>.ts, relisez la déclaration de la chose : est-ce une zone cliquable ou un accessoire avec unname, que vaut sonvisible, l'acteur est-il eninteractive: false? Pour un personnage mobile, le panneau DEV montre où il se trouve.
-
Pas une cible : donnez une zone cliquable à la chose peinte (déclarez-la dans la salle avec un
name, puis tracez sa forme dans/?edit=<salle>ou dans l'onglet Rooms du Studio, et enregistrez) ; donnez unnameà l'accessoire ; corrigez sa conditionvisible; retirezinteractive: false.
-
Approche : dans
/?edit=<salle>, faites glisser le point d'approche de la chose dans la zone verte, hors des trous rouges, à côté de la chose. Le point devient une pastille pleine et s'écrit danslayout/<salle>.json. Élargissez la zone de marche si la chose doit pouvoir être atteinte d'où elle se trouve.
-
Une plus petite l'emporte : réduisez ou déplacez la zone intérieure, ou faites de la chose intérieure une cible
à part, avec sa propre règle ; un polygone (
poly) épouse mieux une forme qu'un rectangle.
-
Lien fermé : quand c'est l'énigme, ajoutez la condition du lien au
ifde la règle sur la chose qui est derrière (ce que demandewalk-link-gate). Quand la zone n'est simplement reliée à rien, ajoutez un lien de marche dans l'éditeur.
-
Largeur : posez la
widthdu layout à la largeur logique du décor, ou ramenez la chose à l'intérieur.
Ne corrigez jamais une position en tapant des coordonnées dans le fichier de layout : l'éditeur l'écrit, et une retouche à la main est perdue au prochain enregistrement (géométrie).
- Dans
/?dev, la chose a sa forme ou sa boîte, et sa pastille d'approche est dans la zone verte. - Un tap la nomme sur la ligne de phrase ; le héros marche jusqu'à elle, se tourne vers elle, et la règle répond.
-
validateetlintn'affichent plus aucun des messages ci-dessus.
-
Le héros l'atteint mais la réponse est une réponse de repli (« Je ne peux pas faire ça ») : le tap et la marche
fonctionnent ; aucune règle écrite ne correspond. Vérifiez le verbe de la règle, ses
a/bet sa condition (réactions, conditions) ;npm run lintsignale une règle qui ne peut jamais s'exécuter (rule-never-run) ou qu'une règle précédente masque (rule-shadowed). -
C'est la salle elle-même qu'on ne peut pas atteindre :
validateprévientno exit, goto or map place leads to this room from the start(sorties, carte du monde). -
L'objet ne peut plus être utilisé : un objet d'inventaire grisé a été marqué
used(objets). -
Le héros traverse les meubles en ligne droite : la salle n'a pas de zone
walk, ou il manque des trous (la zone de marche).
Generated publication · publication générée — current documentation · documentation courante: quest'n'click 4.4.0 r1, documentation revision · révision de la documentation 8dc717c69acb62c4742b69c54a7e7dfb620f75d8.
Earlier versions and permalinks · versions précédentes et liens permanents: https://wanoo.github.io/quest-n-click/docs/
An edit made in this wiki is overwritten at the next publication · une modification faite dans ce wiki est écrasée à la publication suivante.
Edit the source · Modifier la source · Report an error · Signaler une erreur
Index (6)
Démarrer (6)
Jouer (9)
Installer (17)
- Prérequis
- Installer depuis l'archive de la release
- Installer depuis npm, une fois publié
- Installer depuis le dépôt pour travailler sur le moteur
- doctor : vérifier sa machine
- Outils pour les images
- Outils audio : ffmpeg, fluidsynth, Furnace, uv
- Mettre à jour
- Notes de mise à jour : 4.4
- Notes de mise à jour : 4.3
- Notes de mise à jour : 4.2
- Notes de mise à jour : 4.1
- Notes de mise à jour : v3
- Notes de mise à jour : v2 vers v3
- Venir de web-scumm
- Référence du paquet
- Dépannage de l'installation
Créer un jeu (55)
- Votre premier jeu
- Organisation d'un projet créé et du dépôt du moteur
- La boucle de travail
- Principes du contenu et contrat d'identité
- Salles
- Géométrie : placement, zones de marche, masques, calques, caméra
- Un objet est visible mais inaccessible
- Réactions
- Commandes du jeu
- Conditions
- Drapeaux, variables et événements : lequel choisir
- Code sur mesure
- Personnages
- Objets et inventaire
- Carte du monde
- Dialogues
- Scripts et événements
- Faire bouger les personnages : patrouilles et marches
- Sorties
- Chapitres et objectifs
- État et sauvegardes : persistant ou temporaire, renommer un id, migrations
- Mise en scène : salles larges et animations
- La scène : lumières, particules, sols
- Habillage et polices
- Titre et générique
- Héros : plusieurs personnages et choix du héros
- Mini-jeux intégrés
- Un mini-jeu sur mesure
- Traductions
- Musique en stems
- Bruitages
- Voix : par langue et par héros
- Images : prompts, découpe des planches, transparence, échelle
- Provenance des assets
- Le storyboard, source de vérité
- Concevoir des énigmes
- Mécaniques classiques
- Pages de relecture
- Référence du DSL
- Vérifier son jeu
- Ce que prouve le solveur
- Options du solveur
- Playtests
- Remix
- Speedrun pour les auteurs
- La fin scellée
- Modèle de production
- Jeux d'exemple
- Travailler avec une IA
- Construire et publier un jeu
- Publier sur GitHub Pages
- Le jeu statique sur Clever Cloud
- Autres hébergeurs statiques
- Sous-chemin, cache et service worker, déploiement incomplet, retour arrière
- Tester sur un téléphone en réseau local
Studio local (24)
- Le Studio local : présentation et lancement
- Modifier une salle
- Placement et scène
- Aperçu, application, annulation
- Storyboard
- Assets et découpe
- Vérifier : validateur, solveur, chemin critique, chaleur, santé, couverture
- Captures avant et après
- Diff sémantique
- Jouer et rejouer une session
- Explication des règles
- Langue et objectifs
- Voix et matrice héros × langues
- Carte
- Notes
- Remix dans le Studio
- Musique
- L'Assistant : votre propre clé
- Mode démo et studio-apply
- Sécurité en local et en réseau local
- API du Studio
- MCP local : configurer chaque client
- Outils MCP
- Dépannage du Studio
Studio d'équipe (21)
- Ce qui tourne où
- Concepts : révision, transaction, pan, bail, aperçu, build
- Débuter comme dev invité
- Travailler ensemble au quotidien
- Rôles et actions : la matrice complète
- Invitations
- Gérer les membres
- Écriture refusée sur le Studio hébergé : révision de base périmée (409)
- Écriture refusée sur le Studio hébergé : pan verrouillé (423)
- Reprendre après un bail perdu, une déconnexion ou un aperçu périmé
- Commentaires
- Carte et diff sémantique
- Publier des builds
- MCP distant
- Le jeu dans Git
- Mettre à jour le moteur d'un jeu hébergé
- Assets hébergés
- La ligne de commande du serveur
- Routes de santé et de métriques
- L'essayer en local avec compose.yml
- Limites connues
Clever Cloud (23)
- Clever Cloud : vue d'ensemble, coût et prérequis
- Applications et add-ons
- Domaines et TLS
- Keycloak
- OIDC générique et GitLab
- Configuration
- Premier déploiement
- Sauvegardes
- RPO et RTO
- Exercice de restauration sur une installation vierge
- Redéploiements
- Mettre à jour le serveur et vérifier l'état après une migration
- Limites du retour arrière
- Supervision
- Sécurité
- Renouveler les clés
- Récupérer l'accès administrateur
- Changer de domaine ou de fournisseur OIDC
- Worker, PostgreSQL ou Cellar en panne
- Exporter le jeu et quitter l'installation
- Rétention
- Dépannage sur Clever Cloud
- Coûts et démontage
Reality Bridge et connecteurs (16)
- Le Reality Bridge : ce que c'est
- Démarrage rapide
- Garanties
- Installer et lancer le Bridge
- Sauvegarde et restauration
- Plusieurs tenants
- Signaux et manifeste
- La ligne de commande du Bridge
- Vue d'ensemble des connecteurs
- Connecteur email
- Connecteur Telnet
- Connecteur SSH
- Connecteur Open Badges
- Le SDK des connecteurs
- Sécurité : Biscuit et signatures
- Dépannage du Bridge et des connecteurs
Contribuer (25)
- Bienvenue
- Préparer son poste de développement
- La boucle de développement
- Avant une pull request
- Conventions
- Écrire la documentation
- Architecture
- Visite du code
- Frontières d'import
- Quels tests tournent quand
- Tests de mutation
- Le cliquet de couverture
- La référence de qualité
- La CI expliquée
- Passes de terrain
- Mesures de performance
- Publier une release
- Paquets npm
- Décisions et ADR
- Gouvernance
- Pull requests des bots
- Contribuer avec des agents IA
- Politique de sécurité
- Code de conduite
- Licences et crédits