如何使用c#知道Unity中的文本句子何时结束
How to know when sentence of text end in Unity using c#
我在 C# 中使用 Unity3D。好吧,我有一个带有 foreach 的对话文本脚本,运行 句子列表,我需要知道如何知道第一句话何时结束。
这是我的代码:
public void StartDialogue(Dialogue dialogue)
{
//Debug.Log("Start conversation with " + dialogue.name);
cameradialogue.SetActive(true);
FindObjectOfType<ThirdPersonCharacter> ().isStop = true;
DialogueBox.SetActive (true);
NameText.text = dialogue.name;
sentences.Clear();
foreach (string sentence in dialogue.sentences)
sentences.Enqueue (sentence);
DisplayNextSentence();
}
这里是我显示设置的方法:
IEnumerator TypeSentence (string sentence){
dialogueText.text = "";
foreach (char letter in sentence.ToCharArray()) {
dialogueText.text += letter;
yield return null;
}
}
当 TypeSentence 方法中的 foreach 循环完成时,这意味着完整的句子已经显示在对话框文本中。
我在 C# 中使用 Unity3D。好吧,我有一个带有 foreach 的对话文本脚本,运行 句子列表,我需要知道如何知道第一句话何时结束。
这是我的代码:
public void StartDialogue(Dialogue dialogue)
{
//Debug.Log("Start conversation with " + dialogue.name);
cameradialogue.SetActive(true);
FindObjectOfType<ThirdPersonCharacter> ().isStop = true;
DialogueBox.SetActive (true);
NameText.text = dialogue.name;
sentences.Clear();
foreach (string sentence in dialogue.sentences)
sentences.Enqueue (sentence);
DisplayNextSentence();
}
这里是我显示设置的方法:
IEnumerator TypeSentence (string sentence){
dialogueText.text = "";
foreach (char letter in sentence.ToCharArray()) {
dialogueText.text += letter;
yield return null;
}
}
当 TypeSentence 方法中的 foreach 循环完成时,这意味着完整的句子已经显示在对话框文本中。