- Application(应用程序API)(Legacy)
- 示例:
- Application.LoadLevelAsync 异步加载关卡
- 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编辑器远远低于网络播放器或独立版编译。在编辑器你或许也得到比播放器更多的加载中断。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
IEnumerator Start() {
AsyncOperation async = Application.LoadLevelAsync("MyBigLevel");
yield return async;
Debug.Log("Loading complete");
}
}