Unity NGUI 系统使用 ScrollRects 将可滚动元素添加到您的游戏中,但是这个 scrollrect 缺乏限制向上滚动超过某个点的能力,这是我决定实现的。
我有一个想法:让我们检查是否ScrollRect.verticalNormalizedPosition
为 1,如果是,将其设置为 1(1 是 ScrollRect 的顶部。)
public class scrollrectclamper: MonoBehaviour {
ScrollRect SR;
void Start () {
SR= gameObject.GetComponent<ScrollRect> ();
}
void Update(){
if (SR.verticalNormalizedPosition == 1) {
SR.verticalNormalizedPosition = 1; // WHY
}
}
}
这限制了滚动,即使我什至不希望== 1
使用 a float
,这是一种因其不精确而臭名昭著的类型。
的描述verticalNormalizedPosition
说:
垂直滚动位置为 0 到 1 之间的值,0 位于底部。
但是该函数仅在滚动矩形位于顶部或上方时才返回浮点数 1.0,如果在其他任何地方则返回 0.0。