【问题标题】:How to obtain physical screen size in iOS simulator with Unity?如何使用 Unity 在 iOS 模拟器中获取物理屏幕尺寸?
【发布时间】:2017-12-06 09:56:08
【问题描述】:

我想根据设备的实际尺寸在游戏中显示不同数量的元素。不只是缩放输出并在宽度和高度上使用相同的逻辑像素。连续 20 个元素在 iPad 上看起来很大,而在 iPhone 上连续 30 个元素太小了。

我将 Screen.dpi 与 Screen.width 和 Screen.height 一起使用来计算物理屏幕尺寸。然后我决定一个小型、中型或大型方案。

但 iOS 模拟器给了我 0 的 Screen.dpi。不幸的是,我没有所有可用的 iPad 和 iPhone。它在物理 iPhone 6S+ 和 iPad Air 2 上运行良好。

这是 Unity 中的错误还是模拟器的正常行为?

有没有更好的方法?还是我真的需要为每个现有的 iPhone 和 iPad 型号维护一个设备 DPI 列表?

Unity 2017.2.0p3; XCode 9.1

【问题讨论】:

    标签: ios unity3d ios-simulator


    【解决方案1】:

    如果您阅读 Screen.dpi 文档:

    这是附加屏幕或物理设备的实际 DPI 运行应用程序。如果无法确定,可能返回 0 当前 DPI。

    由于模拟器不是物理设备,它会返回 0,这是正常行为,因为模拟器缺少许多其他物理属性。

    您可以使用Device.generation 来检测目标设备类型。查看DeviceGeneration 的可能值并通过检查dpi for each device 相应地设置您的元素。

    您可以创建自己的扩展来获取适用于模拟器的 dpi。

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-05
      • 2020-04-29
      • 2017-04-22
      • 1970-01-01
      • 2012-09-17
      • 2019-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多