Dialogues

Permets des petits dialogues automatiques et simples

Tu as deux options disponibles :

La première consiste à écrire du code qui fait apparaître le dialogue du PNJ (Personnage Non Joueur) lorsque le Héros s’approche de lui, et à faire disparaître le dialogue lorsque le Héros s’en éloigne.

La seconde option implique de coder le dialogue du PNJ pour qu’il apparaisse et se désactive automatiquement après quelques secondes. À toi de décider quelle méthode tu préfères utiliser.

PNJ qui parle quand tu t'approches et se Tait quand tu t'Éloignes

Crée d’abord un personnage pour ton PNJ en ajoutant au  sprite. Clique droit  « Origine » pour ajouter un point d’image et choisis

Crée ensuite un objet texte et ajoute-lui le comportement « Épingler« .

Nomme cet objet texte, comme « TexteDialogue », et configure-le pour qu’il soit centré et en gras. Assure-toi de décocher « Visible Initialement ».

Dans la feuille d’événements, crée un nouvel événement : lorsque Heros chevauche un autre objet > le PNJ.

Ajoute une action pour faire apparaître un autre objet. Sélectionne le texte et choisis le point d’image 1.

Ajoute une autre action pour rendre Définir la visible du Texte.

Ajoute une autre action sélectionner le TEXTE et  Epinglé à l’Objet PNJ.

Ajoute une autre action pour Définir le texte. Attention il faut garder les guillemets au début et à la fin du texte !

Créer un nouvel événement pour détecter quand le Héros n’est plus en train de chevaucher le PNJ, puis rends le texte invisible.

Et voilà, tu as créé un dialogue de PNJ !

PNJ qui parle quand tu t'approches et se Tait Automatiquement après Quelques Secondes

Pré-requis :  réserve cette méthode à des dialogues courts car elle va prendre beaucoup d’événements, prépare un texte pour chaque “bulle de dialogue”.

Le concept : Faire apparaître des bulles de dialogues qui s’enchaînent et disparaissent automatiquement

Ajoute le comportement épingle à tes textes.
Ajoute une variable d’instance pour chaque texte (tu peux l’appeler “Durée”). Elle va servir à compter le temps pendant lequel la bulle sera visible. Mets 5 pour qu’elle reste 5 secondes, par exemple. 

Pense à bien renommer tous tes textes. 

Rends chaque texte non visible initialement. Ce paramètre est tout en bas des propriétés du texte. 

Edite les sprites qui vont parler. Dans l’éditeur de sprite, choisi l’outil d’édition des points d’image. Ajoute un nouveau point d’image (clic droit ). Renomme le “Dialogue” (clic droit renommer)

Ces points d’images vont servir de point d’apparition des bulles de dialogues. Place les bien au-dessus du sprite.

Dans les évènements :

Choisis ce qui va déclencher ton dialogue. Cela peut être le début de la scène, ou alors en arrivant à un point précis. Dans le second cas, tu auras peut-être besoin d’un sprite qui servira à détecter si le joueur est au bon endroit. Et tu feras un événement “quand mon joueur est en collision avec ce sprite”.
Ton sprite détecteur pourra être rendu invisible quand tu auras testé ton code et que tout fonctionne.

Dans ton événement déclencheur du dialogue, ajoute une action. Le premier personnage qui parle va faire apparaître son texte. 

Dans la fenêtre de paramètre pour faire apparaître un autre objet, regarde bien le paramètre “Point d’image”. Par défaut, il est sur 0. Inscris le nom du point d’image que tu as créé entre guillemets.

Ajoute une deuxième action pour définir la visibilité du texte sur “visible”.

Puis, ajoute une dernière action pour “épingler à l’objet” et choisis comme cible le personnage qui parle.

Tu devrais avoir quelque chose de similaire à ceci :

On va maintenant s’occuper de la durée d’affichage de la bulle de dialogue.
Crée un nouvel événement. Dans système => Toutes les X secondes. Règle ta condition pour avoir “ toutes les 1 secondes”. Ajoute une seconde condition : vérifie que ton dialogue est visible. Puis ajoute une action pour soustraire 1 à la variable d’instance de durée de ta bulle de texte.

Crée un nouvel événement. Compare la variable d’instance de ta bulle de dialogue pour savoir si sa durée est à 0. 

Ajoute une action. Détruis la bulle de dialogue dont la variable d’instance est arrivée à 0.

Ajoute les mêmes actions qu’à l’étape 2 et 3 mais pour ta nouvelle bulle et en choisissant comme cible d’épinglage le nouveau personnage qui parle. 

Tu devrais avoir quelque chose comme ceci :

Répète ces étapes autant de fois que tu as de bulles de texte  : faire apparaître sa bulle de dialogue, diminuer sa durée toutes les 1 secondes tant qu’elle est visible, quand sa durée atteint 0 détruire la bulle et faire apparaître la suivante.

Retour en haut