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编辑器远远低于网络播放器或独立版编译。在编辑器你或许也得到比播放器更多的加载中断。

    using UnityEngine;
    using System.Collections;

    public class ExampleClass : MonoBehaviour {
        IEnumerator Start() {
            AsyncOperation async = Application.LoadLevelAsync("MyBigLevel");
            yield return async;
            Debug.Log("Loading complete");
        }
    }