第71節 - Unity: Game Menu Screen & ScreenManager
這一節我會介紹Unity: Game Menu Screen & ScreenManager,我在第22節 - LibGDX: Game Menu Screen介紹過LibGDX的Menu Screen,與LibGDX相比,運用Unity製作Menu Screen比較簡單,主要用拖放(Drag & Drop)就可以完成大部分的Menu Screen,程式部分只有一個簡單的Unity ScreenManager類別,本節的Menu Screen如下:
1) Result (執行結果):
以下是本節第71節 - Unity: Game Menu Screen & ScreenManager的執行結果:
2) Step By Step Tutorial
首先,我會用第22節 - LibGDX: Game Menu Screen介紹過的Texture Packer軟件製作合併圖片,如圖片太大,Texture Packer軟件會自動產生幾個.png檔案,例如:mainmenu.png,mainmenu2.png和mainmenu3.png。
- 選擇Main Camera。
- 把這三張圖片拖放到Assets區域內。
- 選擇Main Camera,設定Orthographic Size = 700/2 = 350。
- 選擇mainmenu圖片。
- 選擇Multiple。
- 設定Pixels Per Unit = 1。
- 選擇Sprite Editor。
- 設定每一張圖片的位置(X,Y)和大小(W,H)。
- 選擇Apply。
- 設定每一張圖片的位置(X,Y)和大小(W,H)。
- 選擇Apply。
- 設定每一張圖片的位置(X,Y)和大小(W,H)。
- 選擇Apply。
- 每一張圖片就會獨立產生。
- 建立一個Empty GameObject - Controller。
- 建立一個C# Script - MyScript1,再把MyScript1拖放到Controller內。
- 建立一個SceneManager.LoadScene()方法。
- 建立一個Canvas。
- 選擇Main Camera,把Main Camera拖放到Render Camera內。
- 設定Canvas的不同值。
- 建立一個Canvas - Image - BgImage。
- 設定Canvas的不同值。
- 選擇BgImage,把以上圖片拖放到Source Image內。
- 建立一個Canvas - Button - StartButton。
- 設定Canvas的不同值。
- 選擇StartButton,把以上圖片拖放到Source Image內。
- 再把Controller GameObject拖放到OnClick()方法內,選擇MyScript1.MySwitchScene()方法,最後輸入下一頁名稱 - startscene。
- 建立一個Canvas - Button - OptionsButton。
- 設定Canvas的不同值。
- 選擇OptionsButton,把以上圖片拖放到Source Image內。
- 再把Controller GameObject拖放到OnClick()方法內,選擇MyScript1.MySwitchScene()方法,最後輸入下一頁名稱 - optionsscene。
- 建立一個Canvas - Button - OptionsButton。
- 設定Canvas的不同值。
- 選擇OptionsButton,把以上圖片拖放到Source Image內。
- 再把Controller GameObject拖放到OnClick()方法內,選擇MyScript1.MySwitchScene()方法,最後輸入下一頁名稱 - optionsscene。
- 建立一個Canvas - Button - CreditsButton。
- 設定Canvas的不同值。
- 選擇CreditsButton,把以上圖片拖放到Source Image內。
- 再把Controller GameObject拖放到OnClick()方法內,選擇MyScript1.MySwitchScene()方法,最後輸入下一頁名稱 - creditsscene。
- mainscene場景的結果,如上。
- 建立一個新場景startscene。
- 建立一個Canvas - Image - Image。
- 選擇Image,把以上圖片拖放到Source Image內。
- 建立一個Canvas - Button - Button。
- 設定Canvas的不同值。
- 選擇Button,把以上圖片拖放到Source Image內。
- 再把Controller GameObject拖放到OnClick()方法內,選擇MyScript1.MySwitchScene()方法,最後輸入下一頁名稱 - mainscene。
- startscene場景的結果,如上。
- 用相同方法建立optionsscene、creditsscene和平facebookscene場景,如上。
- 選舉File>Build Settings,把所有場景拖放到Sences In Build區域,如上。
- 選擇Close。
執行結果
- 執行結果,如上。