请给一个代码在unity实现人物对话
时间: 2024-02-13 19:01:20 浏览: 179
以下是一个简单的Unity C#脚本,用于实现基本的人物对话功能。该脚本需要挂载在一个游戏对象上,并在该游戏对象上设置一个Collider组件,用于触发对话。
```csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DialogueTrigger : MonoBehaviour
{
public Dialogue dialogue; //对话内容
private bool isTalking = false; //是否正在对话中
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player") && !isTalking)
{
isTalking = true;
StartDialogue();
}
}
private void OnTriggerExit(Collider other)
{
if (other.CompareTag("Player") && isTalking)
{
isTalking = false;
EndDialogue();
}
}
public void StartDialogue()
{
//显示对话框UI,设置对话内容
DialogueManager.instance.StartDialogue(dialogue);
}
public void EndDialogue()
{
//隐藏对话框UI
DialogueManager.instance.EndDialogue();
}
}
```
在上述代码中,Dialogue类用于存储对话内容,包括对话的文本和选项等。DialogueManager类用于管理对话框UI的显示和隐藏,以及对话内容的设置。当玩家进入对话触发器时,调用StartDialogue()方法开始对话,当玩家离开对话触发器时,调用EndDialogue()方法结束对话。
阅读全文