【问题标题】:Sprite is missing on scene场景中缺少精灵
【发布时间】:2017-03-04 11:32:59
【问题描述】:

我是 Sprite Kit 的新手,我的 GameScene 有一个奇怪的问题。想不通,是什么原因造成的问题。我以这种方式在 viewWillAppearMethod 中从控制器呈现我的场景:

        let atlas = SKTextureAtlas(named: "Sprites")
        atlas.preload { [unowned self] in
        DispatchQueue.main.async {
            self.gameScene = GameScene(level: self.level, size: self.gameSKView!.bounds.size)
            self.gameScene.scaleMode = .resizeFill
            self.gameSKView?.presentScene(self.gameScene)
            self.gameSKView?.ignoresSiblingOrder = true
            self.gameSKView?.showsNodeCount = true
        }
    }

我的精灵图集内容如下:link

比我创造我的宇宙飞船:

final class SpaceshipSpriteNode: SKSpriteNode {
    required init(size: CGSize) {
        let texture = SKTexture(image: #imageLiteral(resourceName: "Spaceship"))

        super.init(texture: texture, color: .white, size: size)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}

func configureSpaceship() {
    let middleRow = Int(Double(unwrappedMatrix.rowsCount) / 2)
    let middleColumn = Int(Double(unwrappedMatrix.columnsCount) / 2)
    let xOffset = CGFloat(level.startPoint.column - middleColumn)
    let yOffset = CGFloat(level.startPoint.row - middleRow)

    spaceship = SpaceshipSpriteNode(size: spaceshipSize)
    spaceship.position = CGPoint(x: frame.midX + (spaceshipSize.width * xOffset), y: frame.midY + (spaceshipSize.height * yOffset))
    spaceshipObject.addChild(spaceship)
    addChild(spaceshipObject)
}

configureSpaceship 方法在didMove(to view: SKView) 中被调用 问题是有时(每 3/4/5/6 个案例 1 个)我的宇宙飞船从现场丢失。可见性、位置、大小始终相同,场景中的节点数也相同。这里有一些图片link

【问题讨论】:

  • 看来你的宇宙飞船躲在一块蓝色瓷砖后面。您是否尝试过为每个节点指定zPosition
  • Go 我有一个高 zPosition - 它可能偶尔会在其他对象后面渲染:spaceship.zPosition = 100
  • @OOPer 谢谢我已将 zPozition 设置为 1,一切正常。
  • @BohdanSavych,请发布您的解决方案作为答案。这可能很简单,但我们无法确认它是否真的有效。

标签: sprite-kit swift3


【解决方案1】:

根据 cmets,我已经更改了我的对象的 zPosition:

tile.zPosition = 0
spaceship.zPosition = 1.0
backgroundSpriteNode.zPosition = -1

一切都开始正常工作了,谢谢大家。

【讨论】:

    猜你喜欢
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多