0

Scene/View に UIButton を設定すると、ViewController によって Scene が呼び出されたときに Button が表示されます。問題は、ボタンをクリックすると GameScene が呼び出され、ボタンがまだそこにあることです。ボタンの付け方を間違えたようです。問題は、関数内のボタン 1で関数を
呼び出せないことだと思います。removeFromSuperview()startGame

どうすればこれを修正できますか? どんな助けでも大歓迎です!

import Foundation
import SpriteKit
import UIKit

class MenuScene: SKScene {


    override init(size: CGSize) {

        super.init(size: size)

        backgroundColor = SKColor.grayColor()

        let label = SKLabelNode(fontNamed: "CourierNewPS-BoldMT")
        label.text = "Start Game"
        label.fontSize = 40
        label.fontColor = SKColor.blackColor()
        label.position = CGPoint(x: size.width/2, y: size.height/2)
        addChild(label)
    }


    override func didMoveToView(view: SKView) {

        let button1=UIButton(frame: CGRectMake(size.width/2, size.height/2, 300, 100))
        button1.backgroundColor = UIColor.greenColor()
        button1.setTitleColor(UIColor.blackColor(), forState: .Normal)
        button1.setTitle("Unfocused", forState: .Normal)
        button1.setTitle("Start", forState: .Focused)
        button1.addTarget(self, action: "startGame:", forControlEvents: UIControlEvents.PrimaryActionTriggered)

        self.view?.addSubview(button1)
    }



    func startGame(sender:UIButton) {
        let gameView = view! as SKView
        gameView.ignoresSiblingOrder = true

        let reveal = SKTransition.flipHorizontalWithDuration(0.2)
        let scene = GameScene(size: self.size)
        gameView.presentScene(scene, transition:reveal)

    }


    required init(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}
4

1 に答える 1