Unity判断当前处于什么平台系统
如题。我们需要用到Unity中的预编译。如下图
这些是系统的预编译。通过这个。我们可以判断我们当前处于什么系统。或者对相应的系统做相应的操作。如下
using UnityEngine; using System.Collections; public class Recompile : MonoBehaviour { private string platform = string.Empty; void Start() { DebugPlatformMesaage(); } void DebugPlatformMesaage() { #if UNITY_EDITOR platform = "unity编辑模式"; #elif UNITY_IPHONE platform="IPHONE平台"; #elif UNITY_ANDROID platform="ANDROID平台"; #elif UNITY_STANDALONE_WIN platform="Windows平台"; #endif Debug.Log("Current Platform:" + platform); } }
我们只要在预编译中执行我们需要的操作即可。
但是。在日常使用中。我们可以不仅仅需要判断是什么平台。比如。我们一个手游包。接入的不同的sdk。就有很多不同的包。比如当乐,appstore,同步推,360等等。
这时问题就来了。。。。
我们可以自定义预编译。在生包的时候。只需要改下自定义预编译。就能实现我们所需要的结果了。如下
如上图我们给安卓平台设置了两个预编译。一个为标识为360SDK环境。一个标记为安卓标记。这样我们就可以在不同的环境下。做不同的事了。用法和系统预编译一样。