Unity NGUI系統使用ScrollRects將可滾動元素添加到您的遊戲中,但此滾動功能無法限制向上滾動某個點的能力,這是我決定實施的。爲什麼檢查然後設置verticalNormalizedPosition限制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
與float
一起工作,這種類型的不精確性是臭名昭着的。
的verticalNormalizedPosition
的描述說:
垂直滾動位置爲0和1之間的值,其中0是在底部。
但是,函數被打破,只有當scrollrect在頂部或上面時纔會返回浮點數1.0,如果是在其他地方,則爲0.0。
'== 1'可能會導致隱式轉換爲整數。 –
如何發佈幾行代碼,我們可以用來重現您的問題,而不是發佈一個長篇故事? – Eser
幫助我們幫助你。考慮向我們展示你的代碼片段和你得到的結果,而不是用自然語言描述它們。 –