【发布时间】:2015-09-21 12:13:21
【问题描述】:
runAction(SKAction.repeatActionForever(
SKAction.sequence([
SKAction.runBlock(addScore),
SKAction.waitForDuration(1.0) ]) ))
func addScore() {
let scoreSprite = SKSpriteNode(imageNamed: "scoreSprite")
let actualY = random1(min: scoreSprite.size.height/2, max: size.height - scoreSprite.size.height/2)
scoreSprite.position = CGPoint(x: size.width + scoreSprite.size.width/2, y: actualY)
self.addChild(scoreSprite)
let actualDuration = random1(min: CGFloat(0.5), max: CGFloat(0.5))
let actionMove = SKAction.moveTo(CGPoint(x: -scoreSprite.size.width/2, y: actualY), duration: NSTimeInterval(actualDuration))
let actionMoveDone = SKAction.removeFromParent()
scoreSprite.runAction(SKAction.sequence([actionMove, actionMoveDone])) }
好的,所以我希望玩家每玩游戏一秒,我的分数就会增加 1。我研究过使用 NSTimeInterval,但据我所知,更好的选择是使用 SKAction。我能想到的唯一方法是使用几乎清晰的精灵并每秒在屏幕上移动它。我想知道的是如何在每次节点在屏幕上移动时增加分数,或者如果这不好,那么更好的选择是什么。我用来移动节点的代码在上面。提前致谢。
【问题讨论】:
标签: swift sprite-kit skaction