標籤:
Application類不含執行個體屬性和執行個體方法,在指令碼中通過直接調用Application類的靜態屬性和靜態方法來控製程序的運行時資料.
Application靜態屬性:dataPath屬性 : 資料檔案路徑 public static string dataPath{ get; }
Application.dataPath 返回程式的資料檔案所在檔案夾的路徑(唯讀).返迴路徑為相對路徑,不同遊戲平台的資料檔案儲存路徑不同.Application.persistentDataPath 返回一個持久化資料存放區目錄的路徑(唯讀),可以在此路徑下儲存一些持久化的資料檔案.同一平台,不同程式中調用此屬性,傳回值相同.Application.streamingAassetsPath 此屬性用於返迴流資料的緩衝目錄,返迴路徑為相對路徑,適合設定一些外部資料檔案的路徑.Application.temporaryCachePath 此屬性用於返回一個臨時資料的緩衝目錄(唯讀).對於同一平台,不同程式調用此屬性,傳回值相同. loadedLevel屬性 : 關卡索引public static int loadedLevel{ get; }Application.loadedLevel 返回當前情境的索引值Application.loadedLevelName 返回當前情境的名字Application.isLoadingLevel 是否有情境被載入Application.LevelCount 遊戲中可被載入的情境數量Application.platform 當前遊戲的運行平台,傳回值為枚舉類型Application.isPlaying 當前遊戲是否正在運行Application.isEditor 遊戲是否處於Unity編輯模式 Application類靜態方法:CaptureScreenshot方法 : 截屏public static void CaptureScreenshot(string filename);public static void CaptureScreenshot(string filename, int superSize);參數filename 截屏檔案名稱 superSize放大係數,預設為0,即不放大此方法截取當前遊戲畫面並儲存為PNG格式,檔案預設儲存在根目錄下,若有重名檔案則替換. LoadLevelAdditiveAsync方法 : 非同步載入關卡public static AsynvOperation LoadLevelAdditiveAsync(int index);//參數關卡索引值public static AsynvOperation LoadLevelAdditiveAsync(string levelName);//參數關卡名稱此方法用於按照關卡名字在後台非同步載入關卡到當前情境中,此方法只是將新關卡載入到當前情境,當前情境的原有內容不會被銷毀.AsynvOperation colve = public static AsynvOperation LoadLevelAdditiveAsync(int index);colve.isDone 是否載入完成colve.progress 載入進度 RegisterLogCallback方法 :註冊委託public static void RegisterLogCallback(Application.LogCallback handler);參數是委託的名字此方法用於註冊一個委託來調用日誌資訊 前面的都比較簡單 仔細的研究了一下註冊委託 先上兩個測試指令碼代碼ColveTast指令碼中的Callback方法 三個參數類型不能改變。要滿足Application.LogCallback的參數 兩個指令碼掛在了一個物體下。第一個What是Colve_Tast1指令碼中Start中輸出的。而第二個該輸出空的colveStr 輸出的值變成了上一個輸出的值。第三個colveInt 點擊可以在左下角看到colveStr的位置第四個自然就是輸出類型了。 為了測試colveStr輸出的值是不是上一個log輸出的值 修改第二個指令碼如下 可以看到colveStr的值變成了新的Log 可以確定輸出的就是上一個Log輸出的值
《Unity_API解析》 第一章 Application類