Swift SKSpiteNode position iPhone V iPad



>我使用以下代码在我的应用程序中视图的左上角放置了一个节点:

health = SKSpriteNode(color: .green, size: CGSize(width: progressValue, height: 50))
health.position = CGPoint(x: -self.frame.width / 2, y: self.frame.height / 2)

这在所有iPhone模拟器中都正确定位,范围从5到7 Plus。

但是,它不会出现在任何iPad模拟器中。我已将位置设置为 midX 和 midY,它看起来很好,只是上面显示的代码不适用于所有 iPhone。

我错过了什么?

有没有不同的方法可以在iPhone v iPad的视图上定位节点,而不是使用视图的倍数?

已求解:

问题是场景缩放模式设置为.aspectFill,这对iPhone非常有效,但不适用于iPad。

但是.resizeFill运行良好,所以这就是我所做的。

if UIDevice.current.userInterfaceIdiom == .pad {
                scene.scaleMode = .resizeFill
            }else{
                scene.scaleMode = .aspectFill

            }

相关内容

  • 没有找到相关文章

最新更新