Unity: Как создать автоматическую полосу прокрутки, синхронизированную с аудио? - PullRequest
1 голос
/ 21 мая 2019

Таким образом, есть страница, на которой пользователь может либо прокрутить текст, либо при нажатии кнопки текст прокручивается автоматически. но прокрутка должна синхронизироваться с аудиофайлом, и именно здесь мы сталкиваемся с проблемой автоматической прокрутки. Есть коллайдер, который меняет текст на зеленый, чтобы показать, что это воспроизводимый текст, и поскольку звук не синхронизируется, изменение текста на зеленый происходит очень медленно по сравнению со звуком. и изменение скорости прокрутки не поможет, потому что в разные моменты времени прокрутка должна быть быстрой или медленной. какие-либо предложения по этому поводу? Это скрипт автоматической прокрутки.

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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...