在Unity中,我熟悉使用#if
语句来运行与平台相关的代码。但是,我需要对播放器进行运行时评估。我从解决方案here了解Application.platform
枚举。
但是,您必须实际在实际设备上运行才能运行此设备。在Unity编辑器中,如果您的编辑器设置为构建到Android,#if UNITY_ANDROID
仍会编译。是否存在等同于#if UNITY_ANDROID
的运行时?
使用Application.isEditor || Application.platform == RuntimePlatform.Android
会有效,但如果我在编辑器中构建PC,我不希望这是真的。
谢谢!
答案 0 :(得分:0)
经过多次挖掘后我发现了它。
EditorUserBuildSettings.activeBuildTarget
将此作为服务留给那些有同样问题的人。
*编辑*
程序员的评论是正确的。编辑器库仅在您使用Unity编辑器时编译,而不是为设备构建。我认为等效的是初始化包含在#if UNITY_ANDROID
中的bool,然后在运行时使用该bool。
答案 1 :(得分:0)
是的,有:
#if PLATFORM_ANDROID
// code for android
#endif