Unity Scrollview не прокручивает внизуC#

Место общения программистов C#
Ответить
Anonymous
 Unity Scrollview не прокручивает внизу

Сообщение Anonymous »

Я сейчас работаю с Unity и Chatgpt. Я задаю GPT вопрос, и ответ отображается в поле текста (TMP). Однако я не могу прокрутить всю дорогу до дна, ручка скрулларика достигает своего дна, но текст даже не близок к концу. Иерархия выглядит примерно так: < /p>

Код: Выделить всё

-Canvas
--Scroll View
---Viewport
----Content
-----Text(TMP) (has a content size fitter)
----Scrollbar Vertical
--Input Field (working as intended)
--scrollbarcontroller (empty gameobject with script to handle the scrolling)< /code>
< /div>
< /div>
< /p>
текущий код: < /p>
< div class = "Snippet">

using UnityEngine;
using UnityEngine.UI;

public class DynamicScrollbar : MonoBehaviour
{
public ScrollRect scrollRect;
public RectTransform content;
private float lastContentHeight = 0f;
private float lastScrollbarSize = 1f; // Keep track of the correct size

private void Start()
{
lastContentHeight = content.rect.height;
UpdateScrollbarSize();
}

private void LateUpdate()
{
if (content.rect.height != lastContentHeight)
{
lastContentHeight = content.rect.height;
UpdateScrollbarSize();
}
else if (scrollRect.verticalScrollbar.size != lastScrollbarSize)
{
// If Unity tries to reset it, override it with the correct value
scrollRect.verticalScrollbar.size = lastScrollbarSize;
}
}

private void UpdateScrollbarSize()
{
if (scrollRect.verticalScrollbar != null)
{
float newSize = (content.rect.height > scrollRect.viewport.rect.height) ?
Mathf.Clamp(scrollRect.viewport.rect.height / content.rect.height, 0.1f, 1f) : 1f;

lastScrollbarSize = newSize; // Store the correct size
scrollRect.verticalScrollbar.size = newSize;
}
}
}


Любая справка будет оценена как я сильно застрял на этом

Подробнее здесь: https://stackoverflow.com/questions/794 ... the-bottom
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»