Unity 简单角色对话UI脚本的编写(新版UI组件)

简单角色对话UI脚本的编写

新建UI,里边有两个文本组件一个按钮组件,一个展示名称,一个展示对话内容,按钮组件负责展示下一句对话。

csharp 复制代码
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中提前设置添加对话内容,将脚本挂载到对话组件上。

相关推荐
ytttr8732 小时前
基于C#的CAN总线数据解析BMS上位机
android·unity·c#
雪下的新火7 小时前
ASE07-魔法药剂炼制效果
经验分享·unity·shader·ase·游戏效果
璞瑜无文11 小时前
Unity 游戏开发之入门
unity·游戏引擎
YANshangqian11 小时前
免Adobe Photoshop 2025
ui·adobe·photoshop
一线灵12 小时前
Axmol 引擎系列教程之 - 如何切换引擎依赖库镜像
游戏引擎
毛甘木13 小时前
Unity ComputeShader 基础语法与使用教程
unity·computeshader
天天进步201513 小时前
【Cradle 源码解析二】由眼入心:LMM 如何“看懂”屏幕与 UI 识别机制
ui
小清兔14 小时前
一个unity中URP的环境下旋转天空盒的脚本(RotationSky)
开发语言·数据库·学习·程序人生·unity·c#·游戏引擎
EQ-雪梨蛋花汤14 小时前
【Unity笔记】 WorldStreamer2指南——针对大世界的流式加载与优化
笔记·unity·游戏引擎
迪普阳光开朗很健康14 小时前
适用Unity的AndroidStudio项目自动修改打包文件名称的方案
unity·游戏引擎