【问题标题】:SpriteNode/Shapes change size and disappear after returning to GameScene (Swift SpriteKit)返回 GameScene (Swift SpriteKit) 后,SpriteNode/Shapes 改变大小并消失
【发布时间】:2015-07-15 22:20:08
【问题描述】:

实际问题的 GIF: http://i.imgur.com/hiF5lyw.gifv

如你所见,主玩家是一个 SKSpriteNode,当你碰到一个落下的方块时,它是一个 SKShapeNode,游戏切换到 GameOver 场景。当您在 GameOver 场景中单击重新启动并返回到 GameScene 时,下落的方块消失并且玩家精灵的尺寸随着它的 y 位置而改变。

所有代码都包含非常详细的 cmets,但如果您对此有任何疑问,请随时提出。

由于我的 Player sprite 的大小是基于屏幕大小的,因此可能与切换场景时屏幕大小的变化有关。此外,奇怪的是下落的方块敌人在几秒钟内没有出现,但随后节点数急剧增加,并触发了另一个 GameOver 场景转换。

也许我必须对 GameViewController 进行一些更改?

任何帮助都将不胜感激,我已经为此工作了几个小时,但我似乎无法弄清楚为什么它会搞砸。

【问题讨论】:

    标签: ios xcode swift debugging sprite-kit


    【解决方案1】:

    想通了。 我创建了两个新变量:

    var 过渡:SKTransition = SKTransition.fadeWithDuration(0.5)

    var gameOver:SKScene = GameOver(size: self.size)

    然后在调用场景切换时都实现了:

    self.view?.presentScene(gameOver, transition: transition)

    我认为 size: self.size 是修复它的原因。

    【讨论】:

      【解决方案2】:

      如果您在进行转换时无法更改节点大小,则应使用size: self.size 而不是fileNamed: nameOfYourScene。这对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-06
        • 1970-01-01
        • 2015-01-25
        相关资源
        最近更新 更多