主要用到的类:
Input(输入类,里面包括陀螺仪,加速度计等输入信息)
SystemInfo(设备,系统信息,包括设备名字,显卡,图形处理器,操作系统的名字,大部分是判断该系统支不支持该操作)
Scene(场景信息,场景的名字,路径,所包含的游戏物体等)
SceneManager
Handheld(手持设备的信息,比如开启震动、更改app的上面标头的大小)
TouchScreenKeyboard(用来显示输出键盘)
DeviceOrientation(设备方向)
Touch(触屏)
Application(应用类,包括在应用中打开网址,打开app存在的本地地址)
Application.backgroundLoadingPriority
后台异步加载的时间的优先级,资源加载((Resources.LoadAsync, AssetBundle.LoadAssetAsync, AssetBundle.LoadAllAssetAsync)、场景(SceneManager.LoadSceneAsync))异步加载是在一个后台线程中把这些资源反序列化,然后在主线程中集成这些资源,分类型准备好,所以为了避免在主线程中集成的时候出现断断续续的情况,为每一次集成都设置了时间
根据ThreadPriority来设置:
- ThreadPriority.Low - 2ms
- ThreadPriority.BelowNormal - 4ms
- ThreadPriority.Normal - 10ms
- ThreadPriority.High - 50ms这个时间就代表主线程上每一帧集成的时间,时间越高,集成的资源就越高,加载的资源也越多,这样帧速率就会下降,适合在一开始加载场景的时候,把优先级调到最高
在场景运行的时候,把优先级调低,这样有更好的性能
Application.targetFrameRate
更改帧速率,默认值是-1,Windows平台上默认的是电脑能够达到最大帧速率,手机平台上会比能到达的小一点,一般是30,因为要省电,这个值也不一定是最终的决定值,如果设置了QualitySettings.vSyncCount属性,比如:如果平台的默认渲染速率是每秒60帧,而vSyncCount被设置为2,那么游戏的目标是每秒30帧。
Application.OpenURL
Android: 在 Android 7.0 (More information)中, Application.OpenURL 不能再打开本地app的地址了,需要使用FileProvider 和其它app共享文件
iOS: Application.OpenURL 不能用于打开本地文件。
focus更改的事件,webcam,mircphone的权限
Permission
using UnityEngine;
using UnityEngine.Android;//安卓命名空间
public class RequestPermissionScript : MonoBehaviour
{
void Start()
{
if (Permission.HasUserAuthorizedPermission(Permission.Microphone))
{
// The user authorized use of the microphone.
}
else
{
// We do not have permission to use the microphone.
// Ask for permission or proceed without the functionality enabled.
Permission.RequestUserPermission(Permission.Microphone);
}
}
}