本文所實作的UGUI效果需求如下:
- 支援縮放滑動效果
- 支援動态縮放循環加載
- 支援大資料固定Item複用加載
- 支援不用Mask遮罩無限循環加載
- 支援ObjectPool動态加載
- 支援無限不規則子物體動态加載
- 支援拖動并點選和拖拽
- 支援拖動并拖拽
- 支援ScrollRect拖動自動吸附功能(拖動是否超過一半自動進退)
縮放滑動效果

縮放循環展示卡牌效果
大量資料無卡頓動态加載,并且支援拖拽、點選和吸附功能
大量資料循固定Item複用
無限無遮罩動态加載
不規則子物體動态循環加載
有遮罩無卡頓加載
思路:并沒有使用UGUI的ScrollRect元件,擺放幾張卡片,通過移動和縮放來實作
思路:協程加載,先加載螢幕顯示的數量,然後傳回一幀在繼續加載,防止出現數量太大卡頓的現象。
支援ScrollRect拖拽或點選
思路:在卡片的Image上添加一個繼承了IBeginDragHandler,IGradHandler,IEndDragHandler的腳本,重寫接口裡面的Drag事件方法。
如果想要實作拖拽到目标位置的檢測,還要在目标位置放一個Image并且添加上繼承了IDropHandler,IPointerEnterHandler,IPointerExitHanler的元件。
在ScrollRect物體上添加吸附功能元件,工程裡面要使用DoTween插件
歡迎加入U3D開發交流群:159875734
如果代碼建立AnimationCurve預設是曲線,如果想要直線效果,可以在面闆裡面設定,也可以代碼設定,如果代碼設定如下:
這樣的話就是直線了。