筆記17 Application類、場景

Application類常用API

在這裏插入圖片描述

 void Start () {
        //後臺運行
        Application.runInBackground = true;
        //資源文件夾路徑
        //Debug.Log(Application.dataPath);
        //持久化文件夾路徑
        Debug.Log(Application.persistentDataPath);
        /*截圖。括號內填的是截圖保存到的文件夾路徑(此方法,高版本已停用)。
        運行完後,刷新即可見。*/
        Application.CaptureScreenshot(Application.dataPath + "/1.png");
        //截圖。高版本適應。直接給了一個管理截圖的類
        //ScreenCapture.CaptureScreenshot(Application.dataPath + "/1.png");
        //打開網頁。用於註冊賬號網頁的打開,充值網頁的打開。
        Application.OpenURL("http://www.baidu.com");
        //退出(只有生成遊戲後,才能使用)。全屏時的退出
        Application.Quit();
	}

Scene場景

導入名稱空間

using UnityEngine.SceneManagement;

利用代碼創建一個新場景(一般不用)

一般不用代碼創建,直接在unity裏創建,只用代碼切換。

 void Start () {
        //導入名稱空間,可以使用場景管理器SceneManager了。
        //創建一個新場景(動態場景)叫"tmp"。
        Scene scene = SceneManager.CreateScene("tmp");
        //激活場景
        SceneManager.SetActiveScene(scene);
    }

切換場景

在這裏插入圖片描述
位置: void Start ()
參數1:填場景名字(“game”)、或者序號(0),都是可以的。
參數2:模式1:LoadSceneMode.Additive疊加。模式2:LoadSceneMode.Single不疊加。

同步加載一個場景

同時只能做一件事。用於加載時間短的情況下,例如2d遊戲、小型3d遊戲。

        //同步加載一個場景
        //SceneManager.LoadScene(0,LoadSceneMode.Single);

異步加載一個場景

同時可做兩件事。用於加載費時間的大型3d遊戲,讓它邊加載,邊顯示進度條。

        //異步加載一個場景
        SceneManager.LoadSceneAsync(1, LoadSceneMode.Single);

進度條

public class SceneTest : MonoBehaviour {
    //進度條返回一個操作值
    AsyncOperation oper;

	void Start () {
        /*導入名稱空間using UnityEngine.SceneManagement;
        可以使用場景管理器SceneManager了。*/
       
        //異步加載一個場景
        SceneManager.LoadSceneAsync(1, LoadSceneMode.Single);
    }

    void Update () {
        //progress加載進度沒加載完
        if (oper.progress < 1)
        {
            //打印進度
            Debug.Log(oper.progress);
        }
	}
}

卸載一個場景

        //卸載場景。括號裏填場景名字("game")、或者序號(0)
        //SceneManager.UnloadScene(0);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章