1

在统一设计UI的同时。如果我直接以不同的分辨率附加单个 mdpi 图像和文本,则图像/精灵会根据屏幕尺寸进行缩放。但问题是当图像被缩放时,它会显示为像素化吗?

所以我阅读了资产包变体,并尝试通过为不同的分辨率制作不同的包来使用它们。(捆绑包有 xxxhdpi、xxhdpi、xhdpi、hdpi、mdpi 和 ldpi)。

但是我被困在如何为我的游戏运行的设备选择资产包变体。如何Screen.dpi统一使用来实现这一点?

我假设我也可以对 Android(手机和标签)和 IOS(iPhone 和 iPad)设备做同样的事情。

4

1 回答 1

0

表格如下:

  • MDPI - 160dpi
  • HDPI - 240dpi
  • XHDPI - 320dpi
  • XXHDPI - 480dpi
  • XXXHDPI - 680dpi

所以检查将是:

void Start(){
    if(Screen.dpi <= 160){
        //change your UI textures for mdpi
    }else if(Screen.dpi <= 240){
        //change your UI textures for hdpi
    }else if(Screen.dpi <= 320){
        //change your UI textures for xhdpi
    }else if(Screen.dpi <= 480){
        //change your UI textures for xxhdpi
    }else{
        //change your UI textures for xxxhdpi
    }
}

编辑:请注意,Unity 可能改变了返回值的形状。如果这不正确,请与它一起玩,看看它会返回什么。另外,请参阅thisthis

于 2018-06-04T06:09:47.923 回答