我目前正在尝试为我的精灵套件游戏实现一个计时器,但我没有让它工作.计时器的初始值始终保持不变.
我假设我需要以某种方式/某处更新标签,但我不知道如何和在哪里:?我不明白这一点.有任何想法吗?
这是我的GameScene类中的代码
let levelTimerLabel = SKLabelNode(fontNamed: "Chalkduster")
var levelTimerValue: Int = 500
var levelTimer = NSTimer()
func startLevelTimer() {
levelTimerLabel.fontColor = SKColor.blackColor()
levelTimerLabel.fontSize = 40
levelTimerLabel.position = CGPoint(x: size.width/2, y: size.height/2 + 350)
addChild(levelTimerLabel)
levelTimer = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector: Selector("levelCountdown"), userInfo: nil, repeats: true)
levelTimerLabel.text = String(levelTimerValue)
}
func levelCountdown(){
levelTimerValue--
}
Run Code Online (Sandbox Code Playgroud) 我有一个SKAction触发运行withKey:"running".我还有其他关键操作.在我的情况下,我会发现它很方便,如果我可以检查例如是否正在运行"正在运行"键的SKAction.
就像是:
if (mySpriteNode.runsAction("running")) {
// do some magic code
}
Run Code Online (Sandbox Code Playgroud)
现在我发现我可以查看是否有一般应用于某个节点的操作,例如
mySpriteNode.hasActions
Run Code Online (Sandbox Code Playgroud)
有人有想法吗?
我有一个运行不同操作的SKNode.根据我想要触发其他行为的运行操作.为此,我需要了解如何检查我的SKNode上当前正在运行的操作.我知道.hasActions()但这会返回一个普通的真/假值,这对我的情况没有帮助.
有没有人有更好的解决方案?
提前致谢