У меня есть ScrollView с множеством кнопок. Мой вопрос в том, как заставить scrollview запомнить последнюю прокрученную позицию даже после перезагрузки сцены. Другими словами, как сделать вид прокрутки, чтобы запомнить последний просматриваемый ребенок, чтобы, если сцена перезагружена, он должен иметь этот конкретный ребенок в центре представления. Пожалуйста, спросите, не можете ли вы задать вопросUnity 3d (NGUI) Как запомнить последнюю прокрученную позицию в прокрутке NGUI?
0
A
ответ
0
Вы хотите сохранить нормализованное значение, scrollView.horizontalScrollBar.value
или scrollView.verticalScrollBar.value
в зависимости от того, что применимо. xml
или просто сделать DontDestroyOnLoad(scrollView.gameObject)
0
Если вы используете UICenterOnChild
, просто сохранить текущий центрированный объект (используя centeredObject
) каким-то образом (по индексу, по имени, этажерки), то сделать что-то вроде CenterOn(latestCenteredObject.transform)
при загрузке.
См. UICenterOnChild
docs для получения дополнительной информации.
http://docs.unity3d.com/ScriptReference/UI.Scrollbar-value.html Сохраните значение и перезагрузите сцену, просто установите GetComponent() .value на это значение. –
buxter
Спасибо .. Но я нашел решение, прежде чем кто-нибудь из вас ответит на него. но большое спасибо за ответ, который действительно ценит это. –