ScrollView提供了相当好的滑动功能,滑动的多少是基于用户触摸,其没有提供方向键的控制,常常无法居中或者高亮一个物体。那如何可以居中某个物体呢?
其实NGUI提供了一个脚本,UICenterOnChild,故名思义,其应该就是讲Scrollview上的Item居中的,其思想和算法也很简单,详见其函数
/// <summary>
/// Center the panel on the specified target.
/// </summary>
public void CenterOn (Transform target)
{
if (mScrollView != null && mScrollView.panel != null)
{
Vector3[] corners = mScrollView.panel.worldCorners;
// 获取Panel的中心位置
Vector3 panelCenter = (corners[2] + corners[0]) * 0.5f;
//将需要居中的物体放在Pancel的中心位置
CenterOn(target, panelCenter);
}
}
如果我们需要居中ScrollView中的某个物体,只需要调用该函数就可以了。 如果需要增加方向键的支持,我们自己需要维护item子物体的位置信息, 然后调用该函数就可以了。
本文介绍了一个用于在Unity中使用ScrollView时,将某个物体居中的实用脚本UICenterOnChild。通过调用此脚本中的函数,可以轻松实现物体的居中效果,而无需直接操作ScrollView组件。此外,文章还讨论了如何增加方向键控制以进一步增强交互性。
703

被折叠的 条评论
为什么被折叠?



