2

Xcode 8 beta 4 で Sprite Kit Level editor を使用してユニバーサル ゲームを開発しています。

レベル エディタでの私のシーンは 750x3334 です。私のシーンには背景画像があり、背景画像はシーンのサイズに合わせて調整されています。

  • シーンのアンカー ポイント = (0,1) 左上

  • 背景のアンカー ポイント = (0,1) 左上。

シーン内にカメラが必要です。

スケール (1,1) で SKCameraNode を設定しました。カメラの位置はシーンの中心です。

カメラ

シーンを作成するには:

 if let scene = GKScene(fileNamed: "GameScene") {

        if let sceneNode = scene.rootNode as! GameScene? {

            // Copy gameplay related content over to the scene
            sceneNode.entities = scene.entities
            sceneNode.graphs = scene.graphs
            sceneNode.scaleMode = .aspectFill

            if let view = self.view as! SKView? {

                view.presentScene(sceneNode)
                view.ignoresSiblingOrder = true
                view.showsFPS = true
                view.showsNodeCount = true
            }
        }
    }

ゲームの起動時に、背景の上部がデバイスの上端と同じになるようにカメラを設定する必要があります。

それを行うには:

override func sceneDidLoad() {
    camera?.position.y = -UIScreen.main.nativeBounds.size.height/2
}

iPhone 6の場合、完全に機能します。iPhone 5、6+ の場合、上端に空白の領域 (シーン外) があります。

説明

だから多分私の論理は間違っている...

4

2 に答える 2

-1

このようにユーザーのデバイスのサイズを取得できます

if(UIScreen.mainScreen().bounds.width == 375 && UIScreen.mainScreen().bounds.height == 667).

これはiPhone 6用で、サイズをGoogleで検索してから、カメラのマニュアルの位置を調整できます.

于 2016-08-11T17:12:47.260 に答える