Dotween 文本对话

本文介绍如何在Unity中利用Dotween实现游戏暂停时仍然进行对话文本动画。通过设置tweener.SetUpdate(true)使动画忽略TimeScale,解决对话间的停顿问题。在游戏暂停(Time.timeScale = 0)时,由于Invoke和协程延时无法使用,故使用Dotween的to函数添加延迟。当所有对话完成后,恢复游戏时间(Time.timeScale = 1)。文章还探讨了Time.timeScale对Update、LateUpdate和FixedUpdate的影响,并推荐了雨松Moe的技术博客作为学习资源。
摘要由CSDN通过智能技术生成

游戏中有对话情节,需求是:游戏暂停 界面所有UI隐藏  npc与玩家对话

这里复制上项目的涉及到此功能的一小段代码。

    private List<string> content;//对话内容
    private int tempid = 0; //第几句话
    public Text txt_Task;  //文本
    
    private void PlayTaskContent(List<string> _content) {
        //界面隐藏
       
        //停止活动
        Time.timeScale = 0;
        //播放对话
        txt_Task.text = "";
        tempid = -1;
        content = _content;
        PlayNextText();
        
    }
    private int timeCount =0;
    private void PlayNextText() {
        Debug.Log("播放一句话");
        tempid++;
        if (tempid< content.Count) {
            txt_Task.text = "";
            float _time = content[tempid].Length / 10;
            Tweener tweener = txt_Task.DOText(content[tempid], _time);
            tweener.SetUpdate(true);
            Tween t = DOTween.To(() => timeCount, a => timeCount = a, 1, 2).OnStepComp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值