1. 程式人生 > >遊戲製作之路-unity捕魚達人(一 開始以及載入介面的製作)

遊戲製作之路-unity捕魚達人(一 開始以及載入介面的製作)

Unity捕魚達人的製作
一、建立開始介面
根據上一篇我們所講的,很容易就能把開始介面做出來。
在這裡插入圖片描述
二、遊戲載入場景
在這裡插入圖片描述
遊戲載入條的製作,我是用到了unity中的slider UI元件,如圖
在這裡插入圖片描述
slider元件包括背景和填充區域,在這裡我把背景設為白色,填充區域為藍色。我們把fill下的fillType設為設為filled,fillMethod設為horizontal(水平填充),利用指令碼來控制fillAmount實現進度條的變化。
這樣我們就實現了藍色的進度條在白色的背景上不斷前進,當然我們不要fill部件,直接將background的type設為filled,再通過指令碼控制fillAmount,就可以實現白色的進度條橫空出世,開始前進的畫面了。
下面我們來說下控制指令碼:
有兩種方法:
第一種,如果只是一個小遊戲的載入畫面,載入事件肯定不會很長,我們預留出足夠的時間,利用協程將fillAmount每幀的變化量寫死,也可以得到很好的效果。
第二種,我們將實際程式載入的進度賦予fillAmount,再新增計時器以及lerp函式實現效果。

IEnumerator change()
    {
        yield return new WaitForEndOfFrame();   //等待幀結束
        AsyncOperation asyncOperation =  SceneManager.LoadSceneAsync(1);   //非同步載入場景API,返回非同步引數
        asyncOperation.allowSceneActivation = false;   //設定不允許載入完成後自動跳轉介面
        while (!asyncOperation.isDone)       //是否載入完成
        { 
            target = asyncOperation.progress;          //  載入進度
            fill = Mathf.Lerp(fill, target, 0.1f);					//fill均勻增加
            yield return new WaitForEndOfFrame();

            timer += Time.deltaTime;               //計時器
            if (timer > 4f)
            {
                asyncOperation.allowSceneActivation = true;           //四秒後進入場景
            }
                

        }
    }