Таким образом, есть страница, на которой пользователь может либо прокрутить текст, либо при нажатии кнопки текст прокручивается автоматически. но прокрутка должна синхронизироваться с аудиофайлом, и именно здесь мы сталкиваемся с проблемой автоматической прокрутки. Есть коллайдер, который меняет текст на зеленый, чтобы показать, что это воспроизводимый текст, и поскольку звук не синхронизируется, изменение текста на зеленый происходит очень медленно по сравнению со звуком. и изменение скорости прокрутки не поможет, потому что в разные моменты времени прокрутка должна быть быстрой или медленной. какие-либо предложения по этому поводу? Это скрипт автоматической прокрутки.
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);
}
}