【问题标题】:How to set the scroll view position so as to display the new instantiated ui panel in the ui scroll view in ngui如何设置滚动视图位置,以便在 ngui 的 ui 滚动视图中显示新实例化的 ui 面板
【发布时间】:2015-06-30 06:40:07
【问题描述】:

我的问题与 ngui 中的 ui 滚动视图有关 我在水平移动的滚动视图中有一组面板。 我使用 NGUITools.AddChild 添加一个新面板。 我将这个新面板放在滚动视图的末尾。

问题是我想移动到创建并放置在滚动视图末尾的新面板,但我无法找到解决此问题的适当解决方案。

我试图手动移动整个网格,但是当我手动移动网格时,由于偏移值发生了变化,因此滚动视图会移动到其他位置,从而离开相机的视图。

我试图移动相机,但出现了同样的问题。

我尝试使用 UIScrollView.ResetPosition() 但这实际上将滚动视图的位置更改为左上角,即滚动视图中的第一个 ui 面板子项。

但我想移动到滚动视图中的最后一个 ui 面板子项。

是否有任何可用的类将滚动视图的位置设置为特定面板。 我想移动面板或相机以显示我想要的面板而不影响任何偏移值和拖动值。

感谢您的阅读。

【问题讨论】:

  • 您要立即移动到新面板,还是要补间到新面板?在滚动视图中添加许多 UIPanel 可能是个坏主意,因为它们会导致每个面板有 1 个额外的绘制调用。通过修改将滚动视图的视图调整为其中心子项的 NGUI 脚本,我做了与您想要的类似的事情。您也许可以做同样的事情,我相信该文件类似于 UICenterOnChild。老实说,您最好直接访问 NGUI 的支持论坛。他们将能够为您提供比 SO 更多的帮助。
  • 我不介意它是否立即移动到那个新面板。感谢回复。我将再次查看该脚本和 NGUI 的支持论坛。

标签: unity3d ngui


【解决方案1】:

您可以使用 UICenterOnChild.CenterOn(transform target) 将面板居中到特定目标:http://www.tasharen.com/ngui/docs/class_u_i_center_on_child.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多