gpt4 book ai didi

swift - 如何使用 SKAction 向 SpriteKit 添加分数

转载 作者:行者123 更新时间:2023-11-30 10:14:04 26 4
gpt4 key购买 nike

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。我能想到的唯一方法是使用一个几乎清晰的 Sprite 并每秒将其移动到屏幕上。我想知道的是如何在每次节点在屏幕上移动时增加分数,或者如果这不好,有什么更好的选择。我用来移动节点的代码位于上面。提前致谢。

最佳答案

尝试将其添加到您的 didMoveToView 方法中

let wait = SKAction.waitForDuration(1.0)
let incrementScore = SKAction.runBlock ({
++self.score
self.scoreLabel.text = "\(self.score)"
})

self.runAction(SKAction.repeatActionForever(SKAction.sequence([wait,incrementScore])))

关于swift - 如何使用 SKAction 向 SpriteKit 添加分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31210430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com