UnityAPI的学习——Application类

  Application类不含实例属性和实例方法,在脚本通过直接调用Application类的静态属性和静态方法来控制程序的运行时数据,如场景的管理、数据的加载等。
  Application类静态属性
  在Application类中,涉及的静态属性主要有dataPathloadedLevel
  Application类的persistentDataPath属性、streamingAssetsPath属性和temporaryCachePath属性的功能与dataPath属性功能相近。


Application类静态属性
1、dataPath属性:数据文件路径
2、loadedLevel属性:关卡索引
Application类静态方法
1、CaptureScreenshot方法:截屏
2、LoadLevelAdditiveAsync方法:异步加载关卡
3、RegisterLogCallback方法:注册委托


dataPath属性:数据文件路径

基本语法:

 public static string dataPath{ get; }

功能说明:
此属性用于返回程序的数据文件所在文件夹的路径(只读)。返回路径为相对路径,不同的游戏平台的数据文件保存路径不同。

Unity Editor:<工程文件夹所在路径>/Assets
Win player:<包含可执行文件的文件夹路径>/Data
Mac player:<应用程序路径>/<AppName.app>/Data
Flash:播放器数据文件夹的绝对路径(没有实际的数据文件名称)

dataPath功能相近的属性有persistentDataPathstreamingAssetsPathtemporaryCachePath

persistentDataPath:此属性用于返回一个持久化数据存储目录的路径(只读),可以在此路径下存储一下持久化的数据文件。对于同一平台,在不同程序中调用此属性时,其返回值是相同的,但是在不同的运行平台下,其返回值会不一样。

streamingAssetsPath:此属性用于返回流数据的缓存目录,返回路径为相对路径,适合设置一下外部数据文件的路径

temporaryCachePath:此属性用于返回一个临时数据的缓存目录(只读)。对于同一平台,在不同程序中调用此属性时,其返回值是相同的,但是在不同的运行平台下,其返回值是不一样的。

路径特点
1、dataPath和streamingAssetsPath这两个属性的返回值一般是相对于程序安装目录的位置,由于是相对位置适用于在多平台移植中设置要读取外部数据文件的路径
2、persistentDataPath和temporaryCachePath这两个属性的返回值一般是程序所在平台的固定位置,对于不同的平台,其位置是不一样的,适合存放程序运行过程中产生的一些数据文件


LoadedLevel属性:关卡索引

基本语法:

public static int loadedLevel{get;}

功能说明 此属性用于返回当前程序最后加载的关卡(即Scene)的索引值(只读)。

Application.loadedLevel 场景的索引值

Application.loadedLevelName 场景的名字

Application.isLoadingLevel 是否有场景正在被加载,在使用Application类的静态方法LoadLevel或LoadLevelAdditive加载一个新的场景时,当场景加载完毕后,isLoadingLevel返回true,否则返回false。

Application.levelCount 返回游戏中可被加载的场景数量

Application.platform 返回当前游戏的运行平台

Application.isPlaying 当前游戏是否正在运行

Application.isEditor 当前游戏是否处于Unity编辑模式



CaptureScreenshot方法:截屏

public static void CaptureScreenshot(string filename);已被Unity废弃改为
ScreenCapture.CaptureScreenshot(string filename)

public static void CaptureScreenshot(string filename,int superSize);已被Unity废弃改为
ScreenCapture.CaptureScreenshot(string filename,int superSize)

其中参数filename为截屏文件名称,superSize为放大系数,默认为0,即不放大。

功能:此方法用于截取当前游戏画面并将截取的图片保存为PNG格式。截屏后文件会默认保存根目录下,如果根目录下已存放同名文件,将会被替换。当superSize大于1时,截屏文件的宽度和高度将同时将放大superSize倍。

LoadLevelAdditiveAsync方法:异步加载关卡

public static AsyncOperation LoadLevelAdditiveAsync(int index)
其中参数index是被加载关卡的索引值。

public static AsyncOperation LoadLevelAdditiveAsync(string levelName);
其中参数levelName是被加载关卡的名字

此方法用于按照关卡名字在后台异步加载关卡到当前场景中,此方法只是将新关卡加载到当前场景,当前场景的原有内容不会被销毁,不过该方法只能在专业版用。

RegisterLogCallback方法:注册委托

public static void RegisterLogCallback(Application.LogCallback handler);
其中参数handler是委托方法的名字

功能:此方法用于注册一个委托来调用日志信息

与RegisterLogCallbackThreaded方法与此方法的功能相似,不同之处在于RegisterLogCallbackThreaded方法是在一个新的线程中调用委托。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值