• Application(应用程序API)(Legacy)
    • 示例:
      • Application.LoadLevelAsync 异步加载关卡

    Application(应用程序API)(Legacy)

    访问应用程序的运行时数据。

    这个类包含查找信息和控制运行时数据的静态方法。

    静态变量说明
    absoluteURL到web播放器数据文件夹的绝对路径(只读)。
    backgroundLoadingPriority后台装载线程优先级。
    dataPath包含游戏数据文件夹的路径(只读)。
    genuine如果编译后的应用程序被任何方式改变的了,返回假。
    genuineCheckAvailable如果可以确认应用程序的完整性返回真。
    internetReachability返回设备上的网络可达性目前可能的类型。
    isEditor是在Unity编辑器内运行?
    isLoadingLevel是否有一些场景正在被加载(只读)?
    isPlaying当在任何种类的播放器时,返回真(只读)。
    isWebPlayer是否在一个网络播放器中运行?(只读)
    levelCount可用的关卡总数。(只读)
    loadedLevel最后加载的关卡索引(只读),也就是已加载的关卡或上次加载的关卡索引。
    loadedLevelName最后加载的关卡的名字。(只读)也就是已加载的或上次加载的关卡名称。
    persistentDataPath包含一个持久数据目录的路径(只读)。
    platform返回游戏运行的平台(只读)。
    runInBackground应用程序在后台时是否应该被运行?
    srcValue相对于html文件的web播放器数据文件的路径(只读)。
    streamedBytes我们从主Unity网页流中下载了多少字节(只读)
    streamingAssetsPath包含一个到StreamingAssets文件夹的路径。(只读)
    systemLanguage用户操作系统正在运行的语言。
    targetFrameRate命令游戏尝试以一个特定的帧率渲染。
    temporaryCachePath包含一个临时数据/缓存目录的路径(只读)。
    unityVersion用于播放该内容的Unity运行时的版本。
    webSecurityEnabled指示是否webplayer的安全模式是否被启用。
    静态函数说明
    CancelQuit取消退出该应用程序。这可以用来在退出游戏的时候显示一个退出画面。
    CanStreamedLevelBeLoaded可以流数据加载关卡么?
    CaptureScreenshot捕捉屏幕到filename路径,保存为PNG文件。
    ExternalCall调用一个包含在网页中的函数(只用于Web Player)。
    ExternalEval调用包含在网页中的片段脚本函数(只用于Web Player)。
    GetStreamProgressForLevel下载的进度是多少?
    HasProLicense是具有Unity Pro许可证激活?
    HasUserAuthorization检查用户是否有权在网页中使用摄像头和麦克风。
    LoadLevel通过关卡的名字或索引来加载关卡。
    LoadLevelAdditive累加一个关卡,也就是说,加载一个新的场景,当前场景不会被销毁。
    LoadLevelAdditiveAsync在后台异步累加关卡,也就是说在后台非同步加载新的场景,但当前的场景不会被销毁。
    LoadLevelAsync在后台异步加载关卡,也就是说,在后台非同步加载新的场景。
    OpenURL在浏览器中打开url 。
    Quit退出应用程序。在编辑器或者web播放器中退出被忽略。
    RegisterLogCallback在一个日志信息上注册一个委托来被调用。
    RegisterLogCallbackThreaded在一个日志信息上注册一个委托来被调用。
    RequestUserAuthorization在webplayer请求授权使用摄像头或麦克风。

    示例:

    Application.LoadLevelAsync 异步加载关卡

    在后台异步加载关卡,也就是说,在后台非同步加载新的场景。

    Unity将在后台线程完整加载场景所有资源和物体。这允许你加载一个新的关卡,同时当前的关卡仍在播运行,显示进度条或者创建一个完整的流世界,在那里你不断的加载和卸载基于程序位置不同的部分,在游戏中不会有任何的中断。

    isDone变量来自AsyncOperation异步操作的结果,可以用于如果关卡加载完成的查询。

    当编译一个游戏Unity自动优化资源,LoadLevelAsync将从硬盘以线性加载它们避免从磁盘寻道时间。

    注意,背景加载优先级在Unity编辑器远远低于网络播放器或独立版编译。在编辑器你或许也得到比播放器更多的加载中断。

    1. using UnityEngine;
    2. using System.Collections;
    3. public class ExampleClass : MonoBehaviour {
    4. IEnumerator Start() {
    5. AsyncOperation async = Application.LoadLevelAsync("MyBigLevel");
    6. yield return async;
    7. Debug.Log("Loading complete");
    8. }
    9. }