我通过c#代码实现了统一中的许多游戏对象...然后使滚动条值为0以便滚动到最后一个对象...但滚动将我放在中间。因此,在unity和c#代码之间存在延迟。所以在显示所有对象之前滚动条会发生变化。
我怎么知道Unity中的用户界面完全改变了,我现在可以使用一个监听器滚动到最后,或者告诉我你现在可以在用户界面中制作滚动和所有对象的东西?
MakeMessages();
Scrollbar.value = 0;
在所有消息以单位形式出现之前,滚动条值为0,因此它将更改为0.5。
答案 0 :(得分:1)
您可以使用Scrollbar.onValueChanged
检测滚动条值的变化。在OnEnable
函数中注册事件,并取消注册OnDisable
函数。
public Scrollbar sb;
void OnEnable()
{
//Register Scrollbar Event
sb.onValueChanged.AddListener(scollBarChanged);
}
//Called when Scrollbar value changes
private void scollBarChanged(float value)
{
Debug.Log("Input Changed");
}
void OnDisable()
{
//Un-Register Scrollbar Event
sb.onValueChanged.RemoveAllListeners();
}