首页 > 解决方案 > Xcode .aspectFill 在 iPad 和 iPhone X 上倾斜代码

问题描述

我已经在Swift 4. GameScene.SKS设置为分辨率750x1334。当我在测试时,代码会一直持续iPad下去iPhone X

例如,当 aSpriteNode击中“ dirt boulder”时,精灵节点必须停止。我已经通过测试在代码中解决了这个问题SKPhysicsContact。当 aspriteNode击中一个“ dirt boulder”时,它SpriteNode的位置正好位于dirt boulder“来自”的方向spriteNode。这是通过校正精灵节点的xy坐标来实现的。

它在 iPhone SE、5、6、7 和 8 上运行良好。但是,在不同的 iPad 和 iPhone X 上,代码会移动,因此当SpriteNode击中“污垢巨石”时,SpriteNode将位于“ dirt Boulder“ - 所以代码的工作方式相反......

GameViewController.swift中,我使用此代码将GameScene.sks自定义到不同的设备:

if let view = self.view as! SKView? {
    if let scene = SKScene (fileNamed: "GameScene") {
        scene.scaleMode = .aspectfill
        view.presentScene (scene)
    }
}

标签: iosswiftxcode

解决方案


推荐阅读