本文介绍: 新建UI,里边有两个文本组件一个按钮组件,一个展示名称,一个展示对话内容,按钮组件负责展示下一句对话。需要在U3D中提前设置添加对话内容,将脚本挂载到对话组件上。
简单角色对话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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_51678.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。