- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 swift 创建一个游戏,得分效果很好。唯一的问题是高分。我创建了一个名为 checkScores() 的函数来检查分数是否大于最高分。但最高分仍为 0。
func checkScores() {
if scoreInt > highScoreInt {
NSUserDefaults.standardUserDefaults().setInteger(scoreInt, forKey: "high")
highScoreInt = NSUserDefaults.standardUserDefaults().integerForKey("high")
NSUserDefaults.standardUserDefaults().synchronize()
highScoreLbl.text = "HIGHSCORE : \(highScoreInt)"
}
我在didMoveToView中调用了它。我在游戏场景中创建了高分标签和整数,并在 initHud() 中设置标签文本
func initHud() {
scoreLbl = SKLabelNode(fontNamed: "Geneva")
scoreLbl.position = CGPointMake(self.frame.size.width / 2, self.frame.size.height / 2)
scoreLbl.text = "0"
scoreLbl.fontSize = 100
scoreLbl.alpha = 0.5
addChild(scoreLbl)
highScoreInt = NSUserDefaults.standardUserDefaults().integerForKey("high")
NSUserDefaults.standardUserDefaults().synchronize()
highScoreLbl = SKLabelNode(fontNamed: "Geneva")
highScoreLbl.fontSize = 30
highScoreLbl.position = CGPointMake(150, self.frame.size.height - 80)
highScoreLbl.text = "HIGHSCORE : \(highScoreInt)"
addChild(highScoreLbl)
}
当我运行游戏时,高分保持为零。我尝试将 checkScore() 放入 didBeginContact 中并且工作正常。但为什么?因为物理每帧都会更新?是否可以在 didMoveToView 中检查它?谢谢!
最佳答案
将此代码放入 update() 中
var highscore = 1
let userDefaults = NSUserDefaults.standardUserDefaults()
highscore = userDefaults.integerForKey("highscore")
userDefaults.setValue(highscore, forKey: "highscore")
if scoreCount > highscore {
userDefaults.setValue(scoreCount, forKey: "highscore")
}
highScoreLabel.text = "highscore: \(highscore)"
userDefaults.synchronize()
关于Swift 游戏未更新 didMoveToView 内的高分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31410779/
我正在用 swift 创建一个游戏,得分效果很好。唯一的问题是高分。我创建了一个名为 checkScores() 的函数来检查分数是否大于最高分。但最高分仍为 0。 func checkScores(
我正在尝试创建一款回合制游戏,该游戏会一直进行到 13 轮结束。然而,在我创建了一个无限 while 循环(仅在 13 轮后才会中断)之后,场景从未加载。为什么didMoveToView中的代码是在场
这是我的 View Controller 代码 import UIKit import SpriteKit import GameplayKit class GameViewController: U
我是 SpriteKit 和 Swift 的新手,我有以下问题: 我开始一个新的 SpriteKit Swift 项目,然后打开 class GameScene: SKScene 有方法 overri
我将 Xcode 更新到版本 6。从那时起,我就无法使用以前使用 Objective C 在 Xcode 5 中编写的代码。 有一些新文件:GameScene.h 和 GameScene.m 以及 G
如题所示,didMove(to view: SKView) 和 didMoveToView(view: SKView) 有什么区别? 我知道 didMoveToView 是方法,并且该 View 在旧
我试图阻止我的节点在游戏开始时掉落一两秒。所以我的问题是,当我按下启动按钮时,节点已经位于屏幕的中间位置。我还尝试更改节点的启动高度,但这似乎是一个成本高昂的解决方案,因为我想小心不要让 FPS 变得
自从 xCode 更新到 6.0 版本后,“GameScene”(创建的默认场景)中 SpriteKit 的默认方法更改为: -(void) didMoveToView:(SKView *) view
我是一名优秀的程序员,十分优秀!