我在Swift工作,并使用SpriteKit创建了一个基本游戏,其中方块在屏幕上反复移动,精灵节点在敲击时“跳跃”。比较简单。 除了iPad 2之外,游戏在每台设备上运行并且看起来都应该如此,包括iPad air和iPad Retina。
当我在iPad 2模拟器上运行游戏时,方块太大,它们之间没有空间,节点也太大了,并且在点击时只能在屏幕上跳半厘米。游戏很乱。
为什么会这样?有没有办法在代码中指定:if
设备是iPad 2,以这种方式格式化和调整大小?或者还有另一种解决方法吗?
答案 0 :(得分:1)
iPad 2具有与原始iPad(第1代)相同的分辨率,因此其分辨率等级为1.0。您需要做的就是检查iPad的分辨率,并根据需要对结果进行依赖。只需添加此扩展程序,使用非常简单:
extension UIDevice{
var iPad2:Bool {
return UIDevice.currentDevice().userInterfaceIdiom == .Pad && UIScreen.mainScreen().scale == 1.0
}
var iPadRetina:Bool {
return UIDevice.currentDevice().userInterfaceIdiom == .Pad && UIScreen.mainScreen().scale == 2.0
}
}
使用
if UIDevice().iPadRetina {
// do whatever you need for the iPad with Retina Screens (2x)
}
if UIDevice().iPad2 {
// do whatever you need for the iPad 2 without Retina (1x)
}