我做了一个简单的游戏,你必须躲避障碍并收集硬币。每枚硬币将给您1分。在玩游戏时,有一个得分标签。如何创建高分标签,即使他们退出游戏也会记住高分。我也想知道如何将高分与游戏中心联系起来。
任何帮助将非常感激。
到目前为止,这是我确定获胜者何时赢得比赛的方式。
func didBeginContact(contact: SKPhysicsContact) { var firstBody = SKPhysicsBody() var secondBody = SKPhysicsBody() if contact.bodyA.categoryBitMask < contact.bodyB.categoryBitMask { firstBody = contact.bodyA secondBody = contact.bodyB } else { firstBody = contact.bodyB secondBody = contact.bodyA } if (firstBody.categoryBitMask & UInt32(shipCategory)) != 0 && (secondBody.categoryBitMask & UInt32(obstacleCategory)) != 0 { ship.removeFromParent() let reveal = SKTransition.flipHorizontalWithDuration(0.5) let scene = GameOverScene(size: self.size) self.view?.presentScene(scene, transition: reveal) } if (firstBody.categoryBitMask & UInt32(shipCategory)) != 0 && (secondBody.categoryBitMask & UInt32(coinCategory)) != 0 { coin.removeFromParent() playerScore = playerScore + 1 playerScoreUpdate() } //CHANGE TO YOU WON SCENE //CHECK TO SEE IF COINS ARE 10, THEN YOU WON if playerScore == 10 { let reveal = SKTransition.flipHorizontalWithDuration(0.5) let scene = GameWonScene(size: self.size) self.view?.presentScene(scene, transition: reveal) } }
编辑
saveHighScore(100) var score = 99 if score > highScore() { saveHighScore(score) println("New Highscore = " + highScore().description) } else { println("HighScore = " + highScore().description ) // "HighScore = 100" } score = 127 if score > highScore() { saveHighScore(score) println("New Highscore = " + highScore().description) // "New Highscore = 127" } else { println("HighScore = " + highScore().description ) }
编辑2
func playerScoreUpdate() { playerScorelabel.text = "Score: \(playerScore)" }
编辑3
func addHighScoreLabel() { // Player Score highScoreLabel.fontName = "DIN Condensed" highScoreLabel.fontSize = 28 highScoreLabel.fontColor = SKColor.whiteColor() highScoreLabel.position = CGPoint(x: 500, y: size.height/1.09) highScoreLabel.text = "HighScore: \(highScore)" addChild(highScoreLabel) }
?
var playerScore = 0 func playerScoreUpdate() { let highScore = NSUserDefaults().integerForKey("highscore") if playerScore > highScore { NSUserDefaults().setInteger(playerScore, forKey: "highscore") } playerScorelabel.text = "Score: \(playerScore)" } playerScore = 200 playerScoreUpdate() println( NSUserDefaults().integerForKey("highscore") ) // 200 playerScore = 180 playerScoreUpdate() println( NSUserDefaults().integerForKey("highscore") ) // 200 playerScore = 250 playerScoreUpdate() println( NSUserDefaults().integerForKey("highscore") ) // 250 highScoreLabel.text = "HighScore: " + NSUserDefaults().integerForKey("highscore").description