Je cherche à faire un système de dialogue. J'ai trouvé un bon tuto qui reprend le style de dialogue que je souhaite faire. Par contre, il y a des choses que je dois modifier. Mais vu que je débute en programmation, je n'arrive pas à avoir le résultat que je souhaite. J'y ai passé mon après midi en tentant le plus de choses possibles, mais rien à faire. Tout d'abord, je souhaite qu'en utilisant la barre espace, le dialogue continue. Dans les commentaires du tuto, ils conseillent d'utiliser Debug.Log mais quelle méthode dois-je utiliser, que dois je mettre entre parenthèses ? Ensuite, je souhaite utiliser la fonction OnTriggerEnter2D. Mais lorsque mon personne s'approche du PNJ, le dialogue ne se déclenche pas. Pourtant j'ai bien attaché à ce PNJ un box collider 2D. Voici le code :
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class Dialog : MonoBehaviour
{
public TextMeshProUGUI textDisplay;
public string[] sentences;
private int index;
public float typingSpeed;
public GameObject continueButton;
private void OnTriggerEnter2D(Collider2D)
{
StartCoroutine(Type());
}
void Update()
{
if(textDisplay.text == sentences[index])
{
continueButton.SetActive(true);
}
if (Input.GetKey(KeyCode.Space))
{
Debug.Log();
}
}
IEnumerator Type()
{
foreach (char letter in sentences[index].ToCharArray())
{
textDisplay.text += letter;
yield return new WaitForSeconds(typingSpeed);
}
}
public void NextSentence()
{
continueButton.SetActive(false);
if (index < sentences.Length - 1)
{
index++;
textDisplay.text = "";
StartCoroutine(Type());
}else{
textDisplay.text = "";
}
}
}