Unity 简单角色对话UI脚本的编写(新版UI组件)
2024-01-03 18:23:07
简单角色对话UI脚本的编写
新建UI,里边有两个文本组件一个按钮组件,一个展示名称,一个展示对话内容,按钮组件负责展示下一句对话。
public class DialogueUI : MonoBehaviour
{
private TextMeshProUGUI nameTexe;//获取名称的Text组件
private TextMeshProUGUI descriptionTexe; //获取内容的Text组件
private Button resumeButton;//继续对话的按钮
public List<string> contentlist;//对话列表
private int contentIndex = 0;//对话数组
private void Start()
{
//获取组件
nameTexe = transform.Find("NameText").GetComponent<TextMeshProUGUI>();
descriptionTexe= transform.Find("ContentText").GetComponent<TextMeshProUGUI>();
resumeButton = transform.Find("ResumeButton").GetComponent<Button>();
resumeButton.onClick.AddListener(this.OnContinueButtonClick);
descriptionTexe.text = contentlist[0];
}
public void Show()
{
gameObject.SetActive(true);//显示对话框
}
public void Show(string name, string[] content)//调用方法获得对话
{
nameTexe.text = name;
contentlist=new List<string>();
contentlist.AddRange(content);
descriptionTexe.text = contentlist[0];
}
public void Hide() //关闭对话
{
gameObject.SetActive(false);
}
private void OnContinueButtonClick()
{
//调用对话列表,如果没有对话,窗口关闭
contentIndex++;
if (contentIndex >= contentlist.Count)
{
Hide();return;
}
descriptionTexe.text = contentlist[contentIndex];
}
}
需要在U3D中提前设置添加对话内容,将脚本挂载到对话组件上。
文章来源:https://blog.csdn.net/u010158191/article/details/135367178
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!