【问题标题】:Why my play again button isnt working SpriteKit为什么我的再次播放按钮不起作用 SpriteKit
【发布时间】:2021-10-16 04:32:58
【问题描述】:

我的再次播放按钮有问题。我从 touchBegan func 内部的图像创建它,我让它改变了场景,但它不起作用

    class GameScene: SKScene {
 
    var playagain = SKSpriteNode(imageNamed: "unnamed")  
  
    override func didMove(to view: SKView) {

        playagain.position = CGPoint(x: frame.midX, y: frame.minY + 40)
        playagain.size = CGSize(width: 250, height: 120)
        self.addChild(playagain)
}
       override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        super.touchesBegan(touches, with: event)
        for touch in touches {
            let location = touch.location(in: self)
            let node : SKNode = self.atPoint(location)
            if (node.name == "unnamed"){
                let gamescene = GameScene(fileNamed: "GameScene")
                gamescene!.scaleMode = SKSceneScaleMode.resizeFill
                self.view?.presentScene(gamescene!, transition: SKTransition.fade(with: UIColor.black, duration: 1.5))
 }}}    

【问题讨论】:

  • 您为什么要尝试从 GameScene 访问 GameScene?这没有意义。为什么是“再次播放按钮”?它来自哪里?
  • @ElTomato 没有其他游戏场景。在游戏的场景中,下半部分是得分,我很想添加一些重置/重新加载/再次播放按钮来重置场景/得分/所有内容,这样你就可以重新开始玩了。这是一个你匹配球的游戏,如果没有其他球可以匹配,现在你需要 RR 所有游戏。 (P.S 我正在学习所以这是一个无用的小游戏)
  • 提示:回到游戏最初开始的地方
  • @ElTomato 你这是什么意思?
  • 提示 2:SKScene 不是视图控制器

标签: swift xcode button sprite-kit skspritenode


【解决方案1】:

在添加播放按钮之前添加它。

playagain.name = “未命名”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多