下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第Unity實(shí)現(xiàn)滑動(dòng)更換界面效果在做2048這個(gè)游戲時(shí),因?yàn)椴藛雾撁孢€能查看游戲規(guī)則,而這些規(guī)則又不在同一個(gè)頁上,所以需要滑動(dòng)頁面實(shí)現(xiàn)頁面切換,但是僅僅使用unity提供的組件做出的效果僅有一個(gè)切換的意思,交互感很差,所以在組件的基礎(chǔ)上又寫了一個(gè)控制頁面切換的類。而界面切換就是實(shí)現(xiàn)一個(gè)滾動(dòng)的視圖。
在unity編輯器中實(shí)現(xiàn)滾動(dòng)視圖的基本操作:需要用ScrollRect組件
首先可以看看官方用戶手冊中關(guān)于ScrollRect組件的講解,說的很明白。最精辟的描述就是用于使子RectTransform滾動(dòng)的組件。
滾動(dòng)視圖中的重要元素包括視口、滾動(dòng)內(nèi)容以及可選的一個(gè)或兩個(gè)滾動(dòng)條。
ScrollView是滾動(dòng)視圖,Viewport是視口,Content是滾動(dòng)內(nèi)容的集合(在其他地方可能就是一張大圖),這些都是panel。Viewport會顯示Content的一部分內(nèi)容。
注意ScrollView、Viewport的大小都是和畫布一樣的,而Content大小應(yīng)該是其下所有內(nèi)容大小的和,如下圖。
下面是Content中對應(yīng)的內(nèi)容??吹綀D也應(yīng)該知道實(shí)現(xiàn)滑動(dòng)更換界面功能的原理了,正是把該顯示的放在視口下。
ScrollRect組件的配置:
為ScrollView添加ScrollRect組件,并把Viewport拖給ScrollRect組件的Viewport屬性,再把Content拖給ScrollRect組件的Content屬性,滾動(dòng)條看需要加吧,我加了一個(gè)水平滾動(dòng)條,滾動(dòng)條并不用加以過多的控制,unity已經(jīng)把滾動(dòng)條和ScrollRect的組合使用做的很好了。其他屬性的配置在官方手冊中講的很清楚。
有一個(gè)節(jié)省Content性能的組件——Mask:
因?yàn)槲覀冎荒芸吹揭暱谙碌膬?nèi)容,由于Content可能有很多界面組成,所以我們可以采取遮罩的方式來不渲染我們看不到的東西,也就是只渲染視口,來提高效率,unity給我們提供了這樣一個(gè)組件幫助我們實(shí)現(xiàn)這個(gè)功能:
這個(gè)組件當(dāng)然要給到視口上,可以看到除了一開始在視口上的菜單界面,其余規(guī)則界面都沒有渲染。
這個(gè)組件在全屏的切換時(shí)確實(shí)只能節(jié)省性能,但是在某一部分實(shí)現(xiàn)滑動(dòng)更換界面時(shí)卻可以遮住Content中不應(yīng)該顯示的部分,很方便,也很必要。
到此,unity中可以幫我們的最大限度就到這了,現(xiàn)在運(yùn)行會發(fā)現(xiàn)確實(shí)可以移動(dòng),但是到達(dá)邊界是會出現(xiàn)瑕疵、卡動(dòng),并且滑到一半不滑了也不會自動(dòng)彈回,所以我們?nèi)孕枰约壕帉懩_本給與更好的控制。
用代碼控制靈敏度、彈回速度。。。:
需要了解的:
當(dāng)然少不了用到ScrollRect組件對應(yīng)的API:ScrollRect,此外,因?yàn)橐约簩懘a控制滑動(dòng)界面,必須要用到Event事件的實(shí)現(xiàn)接口,這里我用的是拖拽類的IBeginDragHandler,IEndDragHandler。
基本的原理:
就是記錄每一次開始拖拽到結(jié)束拖拽的距離,求出現(xiàn)在的位置,和每個(gè)界面的位置比較,顯示最近的界面即可。雖然這看起來很簡單,但是將交互的效果提升了1000000000000000000000000個(gè)檔次。
值得注意的是,盡管在代碼中注釋了很多次,但是還是提一下,就是在ScrollRect中有horizontalNormalizedPosition屬性,用來記錄水平滾動(dòng)位置,以0到1之間的值表示,0表示位于左側(cè)。所以我們在記錄每個(gè)界面的位置時(shí),應(yīng)當(dāng)記錄每個(gè)界面的臨界比例,且在0-1之間,比如一共有四頁,那么第一頁和第二頁之間的臨界應(yīng)在0.333333.
代碼實(shí)現(xiàn):
代碼中用到的API均可在ScrollRect找到,不難理解。并且基本所有地方都加了注釋。
usingUnityEngine;
usingSystem.Collections;
usingUnityEngine.UI;
usingSystem.Collections.Generic;
usingUnityEngine.EventSystems;
usingSystem;
publicclassPageView:MonoBehaviour,IBeginDragHandler,IEndDragHandler
//1)Smooting表示停止滑動(dòng)后,當(dāng)前頁碼歸正的速率
//2)sensitivity滑動(dòng)的敏感度,如果數(shù)值過大會導(dǎo)致翻多頁
//3)OnPageChanged當(dāng)前頁碼改變時(shí)回調(diào)
//4)方法pageTo直接跳轉(zhuǎn)到某一頁
//注意點(diǎn):ScrollView下的Content的長度是每頁的寬度*頁數(shù),每頁的寬度與ScrollView的寬度相同
privateScrollRectrect;//滑動(dòng)組件
privatefloattargethorizontal=0;//滑動(dòng)的起始坐標(biāo)
privateboolisDrag=false;//是否拖拽結(jié)束
privateListfloatposList=newListfloat//求出每頁的臨界值(0-1)
//privateintcurrentPageIndex=-1;//記錄當(dāng)前是第幾頁,頁索引從0開始,這里不需要顯示,有需求可以自己顯示
//publicActionintOnPageChanged;
privateboolstopMove=true;//是否停止移動(dòng)
publicfloatsmooting=4;//滑動(dòng)速度
publi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧省2025秋九年級英語全冊Unit7Teenagersshouldbeallowedtochoosetheirownclothes易錯(cuò)考點(diǎn)專練課件新版人教新目標(biāo)版
- 2025年秘魯瑪卡項(xiàng)目建議書
- PPH術(shù)后活動(dòng)量控制
- 女性運(yùn)動(dòng)與健身指導(dǎo)
- 急診PCI術(shù)后患者康復(fù)護(hù)理措施
- 吸煙危害的課件
- 產(chǎn)后抑郁的飲食調(diào)理與營養(yǎng)支持
- 聽課件浪費(fèi)時(shí)間
- 大腦隱球菌病的護(hù)理
- 胃癌患者的臨終關(guān)懷與護(hù)理
- 危重患者的容量管理
- 2025秋四年級上冊勞動(dòng)技術(shù)期末測試卷(人教版)及答案(三套)
- 2025年應(yīng)急物資準(zhǔn)備安全培訓(xùn)試卷及答案:物資管理人員應(yīng)急物資使用測試
- 電商售后客服主管述職報(bào)告
- 2025昆明市呈貢區(qū)城市投資集團(tuán)有限公司及下屬子公司第一批招聘(12人)筆試考試參考試題及答案解析
- 受控文件管理流程
- GB/T 30341-2025機(jī)動(dòng)車駕駛員培訓(xùn)教練場技術(shù)要求
- 2025年黑龍江省哈爾濱市中考數(shù)學(xué)真題含解析
- 2026年湖南現(xiàn)代物流職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫附答案
- 河北省2025年職業(yè)院校嵌入式系統(tǒng)應(yīng)用開發(fā)賽項(xiàng)(高職組)技能大賽參考試題庫(含答案)
- 2025譯林版新教材初中英語八年級上冊單詞表(復(fù)習(xí)必背)
評論
0/150
提交評論