我想使用 swift 在我的游戏中添加一个按钮
I want to add a button in my game using swift
所以在我的代码中,我想添加一个 SKSpriteNode,我可以将其用作转换到另一个场景的按钮,所以你能不能告诉我如何在不使用 gameScene.sks
的情况下做到这一点
一般需要先创建一个sub-node
override init(size: CGSize){
let playButton = SKLabelNode()
playButton.fontSize = 40
playButton.text = NA_MENU_BTN_PLAY
playButton.position = CGPoint(x: self.frame.midX, y: 300)
//give it an unique name
playButton.name = "Play"
playButton.zPosition = 3
addChild(playButton)
}
然后使用func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
处理触摸事件
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in (touches ){
let location = touch.location(in: self)
let touchNode = atPoint(location)
if !((touchNode.name) != nil) { return }
switch touchNode.name! {
case "Play" :
//your logic here!!
let trialScene = TrialScene(size: self.size)
self.view! .presentScene(trialScene, transition: transition)
}
}
}
所以在我的代码中,我想添加一个 SKSpriteNode,我可以将其用作转换到另一个场景的按钮,所以你能不能告诉我如何在不使用 gameScene.sks
的情况下做到这一点一般需要先创建一个sub-node
override init(size: CGSize){
let playButton = SKLabelNode()
playButton.fontSize = 40
playButton.text = NA_MENU_BTN_PLAY
playButton.position = CGPoint(x: self.frame.midX, y: 300)
//give it an unique name
playButton.name = "Play"
playButton.zPosition = 3
addChild(playButton)
}
然后使用func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
处理触摸事件
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in (touches ){
let location = touch.location(in: self)
let touchNode = atPoint(location)
if !((touchNode.name) != nil) { return }
switch touchNode.name! {
case "Play" :
//your logic here!!
let trialScene = TrialScene(size: self.size)
self.view! .presentScene(trialScene, transition: transition)
}
}
}