运行时相当于#if UNITY_ANDROID

时间:2018-02-22 19:28:36

标签: android unity3d

在Unity中,我熟悉使用#if语句来运行与平台相关的代码。但是,我需要对播放器进行运行时评估。我从解决方案here了解Application.platform枚举。

但是,您必须实际在实际设备上运行才能运行此设备。在Unity编辑器中,如果您的编辑器设置为构建到Android,#if UNITY_ANDROID仍会编译。是否存在等同于#if UNITY_ANDROID的运行时?

使用Application.isEditor || Application.platform == RuntimePlatform.Android会有效,但如果我在编辑器中构建PC,我不希望这是真的。

谢谢!

2 个答案:

答案 0 :(得分:0)

经过多次挖掘后我发现了它。

EditorUserBuildSettings.activeBuildTarget

将此作为服务留给那些有同样问题的人。

*编辑*

程序员的评论是正确的。编辑器库仅在您使用Unity编辑器时编译,而不是为设备构建。我认为等效的是初始化包含在#if UNITY_ANDROID中的bool,然后在运行时使用该bool。

答案 1 :(得分:0)

是的,有:

#if PLATFORM_ANDROID
    // code for android
#endif