2016-11-18 21 views
-2

有人可以爲我代碼請如何添加一個覆蓋開始場景在迅速?如何在swift中添加疊加開始場景?

我想在Flappy Bird中添加一個startMenu,然後當你點擊play時,它只是移動/消失,遊戲開始。 有人可以幫助我達到這個效果嗎?

想要實現this

我會更感激!

+0

請參閱http://stackoverflow.com/help/dont-ask與http://stackoverflow.com/help/on-topic沿 – Knight0fDragon

+0

具有諷刺意味的是@ Knight0fDragon深,在對我的一個問題的回答他幾乎回答了這個問題。從這裏開始:Yannai先生,http://stackoverflow.com/a/40640973/2109038。 – Confused

+1

這裏沒有任何諷刺,@Confused,你至少提供了代碼,並正在尋求解決一個問題。 Yannai Harel正在要求人們解決問題。 – Knight0fDragon

回答

1

嘗試發佈一些你在嘗試堆棧溢出問題時試過的代碼,人們往往不會爲你編寫代碼。

你基本上可以做到這兩點。

1)

可以創建一個StartScene並過渡到GameScene與您的首選SKTransition按下播放按鈕時,如SKTransition.crossFade

2)

如果你想這樣做的同樣的場景,你可以創建一個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) 
    } 
} 

}

比你GameScene場景,你可以添加菜單,像這樣與你的首選尺寸,在這個例子中,場景的大小。

class GameScene: SKScene { 

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

    override func didMove(to view: SKView) { 

      addChild(menu) 
    } 
} 

您可以添加UI的其他節點,包括按鈕等精靈,該菜單類。

比GameScene在觸摸開始,你可以尋找被觸摸節點,例如播放按鈕,比做你的事例如動畫在菜單

let action1 = SKAction.fadeAlpha(to: 0, duration: 0.5) 
let action2 = SKAction.removeFromParent() 
let sequence = SKAction.sequence([action1, action2]) 
menu.run(sequence) 

如果你被困在那裏,並希望更多的編碼樣本你應該谷歌如何做到這一點,是基本的SpriteKit你需要知道的東西,並有大量的教程可用。這包括如何使用SKSpriteNodes製作按鈕子類的示例。

希望這有助於