課程重點
項目資源的整理
制作賬號系統的所有頁面
完成頁面的切換及數據傳遞
串接組件實現功能
賬號系統頁面及簡單交互
課程知識點
資源整理
目錄建立
資源目錄
字體目錄
預制體目錄
場景預制體目錄
UI預制體目錄
UI圖片切片目錄
場景目錄
腳本目錄
第三方庫目錄
導入插件
把所有第三方庫,移入ThirdParty中
搭建場景
建立Canvas
建立UICamera,去掉音頻監聽器
修改Canvas的渲染模式為相機模式,將UICamera拖給Canvas
UI相機清除填充改為深度優先,渲染層改為唯一UI,相機層改為UI
將Canvas到相機的距離,改為10米,將UI相機可視最遠距離,調整為20米
將主相機不顯示UI層的內容
注意保持UI相機的深度比主相機的深度高
Canvas子元素拉伸,設置參考分辨率,屏幕匹配方式修改為高度或寬度自適應
單元測試:UI元素和3D物體疊加正常顯示
導入資源
將UI切片,放入Resources/UI目錄下
將字體,放入Resources/Fonts目錄下
注意不需要打包到用戶手機的資源,不要放在Resources目錄下,這樣會導致
包體大小上升
資源的分類
根據系統,建立目錄
UI切片轉換為Sprite格式后再移動(首頁移動后的效果)
建立圖集(一般一個系統一個圖集)
開啟項目精靈圖集生成功能
拖入精靈,調整質量(注意半透明漸變),並預覽
資源命名及圖集移動
按鈕:btn_名稱
背景:bg_名稱
圖標:icon_名稱
單選按鈕:tg_名稱
頭像:av_名稱
進度條:pg_名稱
頁面制作
在場景中建立Panel並生成預制體
在UI最后方,放頁面參考圖
頁面制作
功能需求
顯示登錄頁
- 輸入用戶名和密碼(選服信息頁)
- 點擊注冊按鈕(注冊頁)
注冊頁
- 輸入用戶名,密碼,重復密碼(登錄頁)
- 點擊返回按鈕(登錄頁)
選服信息頁
- 點擊選服按鈕(選服頁)
- 進入按鈕(主頁)
開發部分
DOTween的按鈕動畫
頁面跳轉
創建引導腳本(單入口的思想,場景中只有一個腳本,所以引導腳本中Start
會在程序一開始執行時運行,類似Main函數)
Login頁面加載
- 通過Resources.Load()加載預制體
- 實例化預制體對象(Object.Instantiate())
- 讓頁面在場景中出現(將Object類型轉化為GameObject類型)
- 將頁面放置在Canvas物體下(transform.SetParent())
第一個頁面的加載
由於Bootstrap是第一個運行的腳本,所以Login頁面的加載寫在Bootstrap
中
UI系統的腳本管理(1個Panel界面,1個控制腳本)
登錄頁面的腳本
- 需要交互的組件,公開成員變量或回調函數
- 編輯器配置成員變量,或回調函數
- 處理,注冊按鈕的事件響應
登錄頁面中注冊按鈕,實現的是注冊頁面的加載
其他頁面切換邏輯以此類推
分析注冊頁面需要編寫的代碼邏輯
- 點擊注冊時需要編寫邏輯代碼
用戶名,密碼,重復密碼,不為空
兩次密碼是否一致
用戶名規則校驗
密碼規則校驗
注冊成功后,需要修改登錄頁的用戶名及密碼(跨頁面傳遞數據)
因為所有頁面都在Canvas下,所以獲取登錄頁,只需要獲取父物體,
在獲取Login頁面下的UILogin控制腳本即可獲得UILogin
- 獲取父物體
- 查找父物體下的Login對象
- 獲取Login對象下UILogin控制腳本
- 對成員變量操作(輸入框),修改輸入框的值
按鈕事件中添加數據
編寫回調函數腳本,編寫帶有參數的回調函數
編輯器中選中按鈕,添加事件,事件回調中,可以配置數值(因為回調函數有參數)