Ich versuche, die gesamte Szene nach dem Spiel durch erneutes Laden der gleichen Szene zurücksetzen. Aber nachdem es geladen wurde, registriert der Bildschirm keine Berührungen. Nicht einmal touchesBegan
funktionieren. Alles andere ist geladen, Sprites, Animationen usw. aber Berührungen werden nicht registriert.Sprite Kit: Keine Touch-Antwort nach Laden neuer Szene
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
player.physicsBody?.dynamic = true
player.physicsBody?.velocity.dy = CGFloat(500)
createLeftButton()
createRightButton()
createRightButtonFirst()
createLeftButtonFirst()
}
func endGame() {
gameOver = true
scoreboardSetup()
playButton()
highscoreButton()
label!.hidden = true
timer2.invalidate()
timer1.invalidate()
player.physicsBody?.dynamic = false
}
func playButton() {
let image = UIImage(named: "playButton") as UIImage?
playbtn = UIButton();
playbtn.setImage(image, forState: .Normal)
playbtn.frame = CGRectMake(CGRectGetMidX(self.frame) - 152, CGRectGetMidY(self.frame) + 65, 133, 76) // X, Y, width, height
playbtn.addTarget(self, action: #selector(GameScene.playBtn), forControlEvents: .TouchUpInside)
self.view!.addSubview(playbtn)
}
func playBtn() {
playbtn.removeFromSuperview()
highscorebutton.removeFromSuperview()
self.removeAllChildren()
self.removeAllActions()
self.scene?.removeFromParent()
let gameScene:GameScene = GameScene(size: self.size) // create your new scene
let transition = SKTransition.fadeWithDuration(1.0) // create type of transition (you can check in documentation for more transtions)
self.view!.presentScene(gameScene, transition: transition)
}
Die zweite Anweisung nicht benötigt wird, und es gibt einen Array, das nicht geeignet ist. – 0x141E