Unity:如何创建自动同步到音频的滚动条?

时间:2019-05-21 04:54:17

标签: c# unity3d

因此存在一个页面,用户可以滚动浏览某些文本,或者当按下按钮时,文本会自动滚动。但是滚动需要与音频文件同步,这是我们面临自动滚动问题的地方。有一个对撞机,将文本更改为绿色以显示正在播放的文本,并且由于音频不同步,因此与音频相比,将文本更改为绿色非常慢。并更改滚动速度将无济于事,因为在不同的时间点,滚动需要快速还是慢速。有什么建议吗?这是自动滚动脚本。

void Scroll()
{
    if (!TouchDetected ())
    {
        _time += Time.deltaTime * _speed;
        _scrollbar.value = Mathf.Lerp (_currentScrollvalue, _toValue, _time);
    }
}

这是对撞脚本:

 void Update()
{
    if (enter) {
        t += Time.smoothDeltaTime * speed;
        ChangeColor ();
    } else if (exit)
    {
        t += Time.smoothDeltaTime * speed;
        ChangeColorBack ();
    }
}
void OnTriggerEnter(Collider col)
{
    enter = true;
    exit = false;
    t = 0;
    //Debug.Log ("Entered ");
}
void OnTriggerExit(Collider col)
{
    enter = false;
    exit = true;
    t = 0;
    //Debug.Log ("Exit ");
}

void ChangeColor()
{
    if (_image != null) {

        _image.color = Color.Lerp (_color1, _color2, t);
    } 
    if (_tmProText != null) {
        _tmProText.color = Color.Lerp (_color1, _color2, t);
    }
}

void ChangeColorBack()
{
    if (_image != null) {

        _image.color = Color.Lerp (_color2, _color1, t);
    }
    if (_tmProText != null) {
        _tmProText.color = Color.Lerp (_color2, _color1, t);
    }
}

0 个答案:

没有答案