2015-05-21 29 views
1

我試圖讓我的分數在遊戲結束後進入新的場景,當這種情況發生時,分數出現在0.分數設置爲0 PlayScene作爲默認值,但我需要它在PlayScene結束時讀取ScoreScene中的分數。請幫助!!更新來自不同類別的分數變量

import SpriteKit 

import AVFoundation 

class PlayScene: SKScene, SKPhysicsContactDelegate { 

    let scoreText = SKLabelNode(fontNamed: "System-Bold") 
    var score = 0 

    override func didMoveToView(view: SKView) { 

      self.scoreText.text = "0" 
      self.scoreText.fontSize = 42 
      self.scoreText.position = CGPointMake(CGRectGetMidX(self.frame),   CGRectGetMaxY(self.frame)/1.075) 


func didBeginContact(contact:SKPhysicsContact) { 

    var scene = ScoreScene(size: self.size) 
    let skView = self.view as SKView! 
    skView.ignoresSiblingOrder = true 
    scene.scaleMode = .ResizeFill 

    scene.size = skView.bounds.size 
    skView.presentScene(scene) 

func blockRunner() { 

      for(block, blockStatus) in self.blockStatuses { 
      var thisBlock = self.childNodeWithName(block) 
      if blockStatus.shouldRunBlock() { 
      blockStatus.timeGapForNextRun = random() 
      blockStatus.currentInterval = 0 
      blockStatus.isRunning = true 
     } 

     if blockStatus.isRunning { 
      if thisBlock!.position.x > blockMaxX { 
       thisBlock!.position.x -= CGFloat(self.groundSpeed) 

      }else { 
       thisBlock!.position.x = self.origBlockPositionX 
       blockStatus.isRunning = false 
       self.score++ 
       if ((self.score % 10) == 0) { 
        self.groundSpeed++ 
       } 
       self.scoreText.text = String(self.score) 

      } 
     }else { 
      blockStatus.currentInterval++ 
     } 
    } 
} 

,現在當遊戲結束切換到得分場面低於

 class ScoreScene: SKScene { 
     var playScene = PlayScene() 
     let scoreText = SKLabelNode(fontNamed: "System-Bold") 

    override func didMoveToView(view: SKView) { 

     self.scoreText.text = "score: \(playScene.score)" 
     self.scoreText.fontSize = 42 
     self.scoreText.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMaxY(self.frame)/1.075) 

回答

1

你需要創建一個單獨的模型來保存數據,因此可以從不同部分進行訪問應用程序,我通常使用單例方法,所以我只能創建一次類,並在需要時隨時訪問它的值。我會做什麼:

  • 創建一個新類播放器,保持對玩家喜歡
  • 得分的細節使這個類單身使用這個類通過的所有場景來填充
  • 分值遊戲
  • 關於迅速 here(包括單身)的設計模式

    您將在0找到很多的代碼演示了單

更多細節