如何在swift中添加叠加开始场景?

如何在swift中添加叠加开始场景?,swift,xcode,sprite-kit,flappy-bird-clone,Swift,Xcode,Sprite Kit,Flappy Bird Clone,有人能为我编码,请如何添加一个覆盖开始场景在swift 我想添加一个类似Flappy Bird中的startMenu,然后当您单击play时,它会移动/消失,游戏开始。 有人能帮我达到这个效果吗 希望实现 我会非常感激的 在询问堆栈溢出问题时,尝试发布一些您迄今为止尝试过的代码,人们往往不会为您编写代码 基本上可以用两种方法来实现 (一) 当按下播放按钮时,创建StartScene并使用首选的SKTransition切换到游戏场景,例如SKTransition.crossFade (二) 如果要

有人能为我编码,请如何添加一个覆盖开始场景在swift

我想添加一个类似Flappy Bird中的startMenu,然后当您单击play时,它会移动/消失,游戏开始。 有人能帮我达到这个效果吗

希望实现


我会非常感激的

在询问堆栈溢出问题时,尝试发布一些您迄今为止尝试过的代码,人们往往不会为您编写代码

基本上可以用两种方法来实现

(一)

当按下播放按钮时,创建StartScene并使用首选的SKTransition切换到游戏场景,例如SKTransition.crossFade

(二)

如果要在同一场景中执行此操作,只需创建一个SKNode/SKSpriteNode类用作菜单

class Menu: SKSpriteNode {

     lazy var playLabel: SKLabelNode = {
        let label = SKLabelNode(fontNamed: "HelveticaNeue")
        label.text = "Play"
        label.fontSize = 22
        label.fontColor = .yellow
        label.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
        return label
     }()

     /// Init with size
     init(size: CGSize) {
          super.init(texture: nil, color: .red, size: size)

          addChild(playLabel)
     }
}
}

而在游戏场景中,您可以添加这样的菜单和您喜欢的大小,在本例中是场景的大小

 class GameScene: SKScene {

     lazy var menu: Menu = Menu(size: self.size)

     override func didMove(to view: SKView) {

           addChild(menu)
     }
 }
您可以将UI的其他节点(包括按钮的精灵等)添加到该菜单类

在游戏场景中,在触摸开始时,您可以查找被触摸的节点,例如播放按钮,然后执行操作,例如设置菜单的动画

 let action1 = SKAction.fadeAlpha(to: 0, duration: 0.5)
 let action2 = SKAction.removeFromParent()
 let sequence = SKAction.sequence([action1, action2])
 menu.run(sequence)
如果你停留在那里,想要更多的编码样本,你应该谷歌如何做到这一点,是基本的SpriteKit的东西,你需要知道,有大量的教程可用。这包括如何使用SKSpriteNodes创建按钮子类的示例


希望这有帮助

请看@Knight0fDragon的讽刺,在回答我的一个问题时,他几乎回答了这个问题。从这里开始:,Yannai先生。这里没有讽刺,@迷惑,你至少提供了代码,并且正在寻找解决问题的方法。Yannai Harel要求人们提供解决问题的代码。我知道。我在开玩笑。他是新来的。让他放松一下。“足够的绳子……”等等;)公平地说,我是在节俭。这是我要努力解决的问题。我已经在独立项目中完成了我的菜单,现在需要将它们合并到游戏项目中,以指导模式、级别和难度设置。我不想使用场景,我将尝试制作一个带有选项的覆盖,然后跳回游戏中,等等。