【问题标题】:SpriteKit zPosition BackgroundSpriteKit zPosition 背景
【发布时间】:2017-08-25 05:12:27
【问题描述】:

我想为GameScene.sks 中的场景制作背景。我在那里有Tile Map Node,但是当我在GameScene.swift 中设置背景时,图片在我的纹理上。我想要它在场景的背面。

这里是GameScene.swift的代码:

import SpriteKit

class GameScene: SKScene {
    var background = SKSpriteNode(imageNamed: "BackGround")`
    override func didMove (to view: SKView) {
        background.zPosition = 1
        background.position = CGPoint(x: frame.size.width / 2, y: frame.size.height / 2)
        addChild(background)
    }
}

这里是 GameViewController.swift 的代码:

import UIKit
import SpriteKit

class GameViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    if let view = self.view as! SKView? {
        // Load the SKScene from 'GameScene.sks'
        if let scene = SKScene(fileNamed: "GameScene") {
            // Set the scale mode to scale to fit the window
            scene.scaleMode = .aspectFill
            // Present the scene
            view.presentScene(scene)
        }
        view.ignoresSiblingOrder = true

        view.showsFPS = true
        view.showsNodeCount = true
    }
}

override var prefersStatusBarHidden: Bool {
    return true
}

【问题讨论】:

  • 我知道我可以在 GameScene.sks 中制作背景。但我希望它在代码中,所以我可以设置背景滚动的速度。

标签: ios swift xcode sprite-kit


【解决方案1】:

1 在您的场景中是最小的 z 位置吗?如果是这样,请尝试将您的SKViewignoresSiblingOrder 属性设置为false。另外我建议您至少阅读SKSceneSKNode 文档。还有SpriteKit documentation

【讨论】:

  • 我添加了一些信息。我是 SpriteKit 的初学者。你能解释一下我需要在哪里以及如何放置它吗?
  • 而且我没有设置所有的 z 位置。我做这个是因为我认为它会帮助我)
  • 节点在SpriteKit中的z位置决定了节点在SpriteKit渲染循环的渲染顺序中的位置。如果您只是设置背景节点的zPosition,则它必须是负值(即-1)才能将其置于其他节点“后面”。
猜你喜欢
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多