Попробуйте опубликовать некоторый код того, что вы пробовали до сих пор, задавая вопрос о переполнении стека, люди склонны не писать код для вас.
Вы можете в основном сделать это двумя способами.
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 Scene вы можете добавить меню как и с выбранным размером, в данном примере размер сцены.
class GameScene: SKScene {
lazy var menu: Menu = Menu(size: self.size)
override func didMove(to view: SKView) {
addChild(menu)
}
}
К этому классу меню вы можете добавить другие узлы для пользовательского интерфейса, включая спрайты для кнопок и т. Д.
чем в GameScene в касаниях Стали вы можете посмотреть на узлы, которые коснулись, например, кнопка воспроизведения, и чем делать свое дело, например, для анимации из меню
let action1 = SKAction.fadeAlpha(to: 0, duration: 0.5)
let action2 = SKAction.removeFromParent()
let sequence = SKAction.sequence([action1, action2])
menu.run(sequence)
Если вы застряли там и хотят больше кодирования образцов вы должны Google, как это сделать, это базовый материал SpriteKit, который вам нужно знать, и есть много доступных учебных пособий. Сюда входят примеры создания подклассов кнопок с использованием SKSpriteNodes.
Надеется, что это помогает
Пожалуйста, смотрите http://stackoverflow.com/help/dont-ask вместе с http://stackoverflow.com/help/on-topic – Knight0fDragon
ирония глубоко в @ Knight0fDragon, в отвечая на один из моих вопросов, он очень близко отвечает на этот вопрос. Начните здесь: http://stackoverflow.com/a/40640973/2109038, г-н Яннай. – Confused
Здесь нет иронии, @Confused, вы хотя бы предоставили код и искали решение проблемы. Yannai Harel просит людей, чтобы этот код разрешил проблему. – Knight0fDragon