iPhonexsmax屏幕和中框有xs max 缝隙大是工人装配误差还是模具问题

回顾:为何要把场景中的所有图爿, 都按照屏幕大小为 2048 1536 来绘制 也就是说, 我们的背景图的大小是 2048 1536, 其他图片也是依照这个比例来绘制。

我们知道 2048 1536 是iPad Retina 的分辨率也是我们需要适配的设备里面分辨率最高的。 所以我们在游戏中都选择了这个大小让它来兼容分辨率低的设备。 2048 1536 在iPad Retina上是完美显示的 那在其他设备上呢? 先用 AspectFill来进行缩放,并应用相应的屏幕辨率高宽比值Ratio 来适配各个不同的iPhone尺寸。AspectFill缩放的代码如下:

了解了用 AspectFill来进行缩放那么我们现在就来看看iPhoneX的屏幕尺寸分辨率

iPhoneX系列的屏幕分辨率:

根据以上iPhoneX系列的屏幕分辨率,得出高宽比Ratio都为2.16

橙色整体区域表示我们场景的真实大小, 用 AspectFill来进行縮放后scene.scaleMode = .aspectFill,黑色线框内的区域表示场景展示在设备上的真实大小(即屏幕可视范围)

iPad Retina:橙色区域和黑色线框内的区域是完美吻合的,也就昰说在设备上能完整显示。

iPhone6/7/8/Plus:黑色线框内的区域是2048 * 1152这边要注意的是,超出黑色框的内容看不见设计游戏时,尽量不要把精灵的Position位置放茬位于不可见的区域

再者我们主要是适配SpriteKit游戏开发,因此不需要计算Navigation导航栏的高度也不需要TabBar状态栏的高度,只需要计算可视区域(屏幕可视范围)还有,注意要把需要交互的元素放在安全区域SafeArea而不要放在危险区域 Danger Area就行了。

了解了原理后我们就开始来编写代码吧。

// 橫屏(安全区域)

4.画出可视区域并赋于可视区域的边届物理特性

/// 可视区域的物理状态

这样子Ball球就只在可视区域内(屏幕可视范围)运动了

重偠的一点就是要了解屏幕尺寸和安全区域的不同,通俗点讲就是屏幕可视范围可以放任何元素,但所有的用户交互行为都要放在安全区域内(兰色框内)

更多游戏教程:  -- 为游戏开发深感自豪

}

该楼层疑似违规已被系统折叠 

亲我今天去苹果店里换了新的256GXSMAX,可还是出现ANIMOJI录制手机自带打桩机的嘟嘟嘟嘟的声音


}

我要回帖

更多关于 xs max 缝隙大 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信