自制游戏 (Unknown Mssing Game)五

接下来得封装对话才行,不封装不好用。接下来要大量使用的。
首先,让nextStr作为所有句子的集合。
有一个过程计数m_i,作为游戏进行标志,通过if的判断,来了解已经进行到哪里了。
还有一点是,如果你中途点击后,它能立即显示所有的文字,中断动画才行。
这里有一个注意点就是,尽量把所有参数设置成private,如果设置成public,那么就会在unity的控制面板中显示,那么在更新脚本的时候控制面板中的参数不会改变,就以为是unity没有更新脚本,其实是不对的。
人的点击进度呢,用OnClick+m_i控制

   void OnClick()
    {
        if (m_i < 6)
        { // 前6个都是对话
            if(isActive){
                OnFinish();
            }
            else{
                m_dialog.text = "";
                isActive = true;
            }
        }
        else // 切换场景
        {
        }
    }

简单修改了一下说话场景,大概能用了,只是不容易理解:

    void Update()
    {
        if (isActive)
        {
            timer += Time.deltaTime;
            if (timer >= 0.05)
            {
                timer = 0;
                currentPos++;
                m_dialog.text = strs[m_i].Substring(0, currentPos);//刷新文本显示内容
                if (currentPos >= strs[m_i].Length)
                {
                    OnFinish();
                }
            }
        }
    }
    void OnFinish()
    {
        isActive = false;
        timer = 0;
        currentPos = 0;
        m_dialog.text = strs[m_i];
        m_i++;
    }

发布了163 篇原创文章 · 获赞 20 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/HeroIsUseless/article/details/104493061
今日推荐