У меня есть scroll view, в котором имеется текст. Этот текст нужно медленно скроллить выше, чтобы видеть текст дальше, а текст очень большой. Ещё нужно предварительно подождать несколько секунд. Как это всё можно сделать, да так, чтобы текст перестал пытаться скроллить в самом конце текста? Я попытался это сделать сам, но этот скрипт работает немного не так, как нужно. Да, проходит несколько секунд, но сначала скорость скролла довольно высокая, а потом она понижается, что плохо, мне нужно сделать ровный скролл. И ещё он не останавливается ровно в конце(в скрипте я указал методом проб и ошибок это число 5600)
Синтаксис:
Используется csharp
public float movementSpeed = 5f, waitTime = 10.0f;
public bool waited = false;
public Transform text;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void FixedUpdate()
{
print(text.transform.position.y);
if (text.position.y <= 5600)
{
StartCoroutine(moveToBottom());
}
}
IEnumerator moveToBottom()
{
if (waited == false)
{
yield return new WaitForSeconds(waitTime);
waited = true;
}
yield return new WaitForFixedUpdate();
text.position = text.position + new Vector3(0, movementSpeed * Time.fixedDeltaTime);
}
public bool waited = false;
public Transform text;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void FixedUpdate()
{
print(text.transform.position.y);
if (text.position.y <= 5600)
{
StartCoroutine(moveToBottom());
}
}
IEnumerator moveToBottom()
{
if (waited == false)
{
yield return new WaitForSeconds(waitTime);
waited = true;
}
yield return new WaitForFixedUpdate();
text.position = text.position + new Vector3(0, movementSpeed * Time.fixedDeltaTime);
}