SpriteKit 主菜单按钮问题

SpriteKit Main Menu button issue

想知道您是否可以提供帮助,我创建了一个带有背景和按钮节点的主菜单。当我点击 PLAY 按钮时,游戏不会导航到我的 GameScene 而是调用我的打印语句。这是下面的代码:

import Foundation
import SpriteKit
import GameplayKit

class MainMenu: SKScene, SKPhysicsContactDelegate {
    override func didMove(to view: SKView) {

        background()
        playButton()

    }

    func background()
    {
        let back = SKSpriteNode(imageNamed: "MainMenu")
        back.anchorPoint = CGPoint(x: 0, y: 0)
        back.zPosition = 1
        back.size = CGSize(width: frame.width,height: frame.height)
        back.name = "Background"

        addChild(back)

    }

    func playButton()
    {
        let button = SKSpriteNode(imageNamed: "button")
        button.zPosition = 2
        button.name = "Play Button"
        button.position = CGPoint(x: frame.width/2, y: frame.height/2)
        button.setScale(0.3)

        addChild(button)
    }

    func loadGame(){

        guard let skView = self.view as SKView? else{
            print("Could not get Skview")
            return
        }
        guard let scene = GameScene(fileNamed: "GameScene") else {
            print("Error Getting GameScene")
            return
        }
        //let skView = view as! SKView
        skView.showsFPS = true
        skView.showsNodeCount = true
        skView.ignoresSiblingOrder = true
        skView.showsPhysics = true

        scene.scaleMode = .aspectFill

        skView.presentScene(scene)
    }


    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        guard let touch = touches.first else{
            return
        }

        let touchLoation = touch.location(in: self)
        let touchNodes = nodes(at: touchLoation)
        let firstTouchedNode = atPoint(touchLoation).name
        print(firstTouchedNode)

        if firstTouchedNode == "Play Button"{
        loadGame()

            }

        }
}
func loadGame(){

guard let skView = self.view as SKView? else{
    print("Could not get Skview")
    return
}
var scene:SKScene = GameScene(size: self.size)
}
//let skView = view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
skView.showsPhysics = true

scene.scaleMode = .aspectFill

var transition:SKTransition = SKTransition.fadeWithDuration(1)
self.view?.presentScene(scene, transition: transition)

}



override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

for touch in touches {
        let location = touch.location(in: self)
        let node = self.atPoint(location)

        if node.name == "Play Button"{
          //when playbutton is pressed execute code here
          loadGame()

     }
 }