Unity無(wú)限循環(huán)列表教程
(不是Unity新手教程,有一定難度?。┤缬袉栴},請(qǐng)?jiān)谙路浇o我留言。
基于UnityUGUI實(shí)現(xiàn)的可通用無(wú)限循環(huán)列表,用于解決什么問題呢?請(qǐng)看下圖

? ? ? ? 想象一下,如果背包里面的物品有上萬(wàn)個(gè),手機(jī)肯定會(huì)卡頓的,注意一點(diǎn),我們真的需要同時(shí)把上萬(wàn)個(gè)物品同時(shí)加載出來(lái)嗎?大多數(shù)游戲里,屏幕中一般就出現(xiàn)幾行幾列的物品就差不多了,等我們滑動(dòng)背包的時(shí)候,再去加載新的物品,刪除掉舊的物品,始終保持N個(gè)物品存在場(chǎng)景中就夠了,比如上圖,從下往上拖拽時(shí),刪除第一行的物品,從下面新增一行物品,刪除和新增物品時(shí),請(qǐng)記得使用對(duì)象池?。ㄈ绻粫?huì)對(duì)象池,請(qǐng)看我的對(duì)象池文章)
? ? ? ? 我這個(gè)無(wú)限循環(huán)列表就是基于這個(gè)思想實(shí)現(xiàn)的。
? ? ? ? ?UGUI中有個(gè)組件叫ScrollRect,里面有個(gè)物體叫Content,我們上下拖拽時(shí),Content的Y值會(huì)改變,我們就是基于這一點(diǎn)來(lái)具體實(shí)現(xiàn)該無(wú)限循環(huán)列表。我在代碼中寫好了詳細(xì)的注釋,不足之處大家多多批評(píng)。