【发布时间】:2015-07-12 01:12:20
【问题描述】:
我有一个通过函数生成的精灵节点:
let NBrick1 = SKSpriteNode(texture: Brick1)
NBrick1.setScale(0.04)
NBrick1.position = CGPointMake(0.0, CGFloat(y1 + bounds/2))
NBrick1.physicsBody = SKPhysicsBody(rectangleOfSize: NBrick1.size)
NBrick1.physicsBody?.dynamic = true
BrickPairs.addChild(NBrick1)
我正在使用这个 SKAction 来搬砖:
let moveBricks = SKAction.moveByX(-distanceToMove, y: 0.0, duration: NSTimeInterval(0.01 * distanceToMove))
let removeBricks = SKAction.removeFromParent()
BricksMoveAndRemove = SKAction.sequence([moveBricks,removeBricks])
我想知道是否有办法让砖块随着时间的推移移动得更快。
【问题讨论】:
-
您可以使用 MoveBricks.duration 访问/更改持续时间。因此,在您的情况下,您可以缩短持续时间,这样您的精灵将在更短的时间跨度内达到相同的距离。
-
不清楚您所说的“随着时间的推移移动得更快”是什么意思。您希望下次创建 sprite 时移动得更快,还是希望现有的 sprite 加快速度?
-
我希望下次创建它们时移动得更快
-
@DanielMihaila 是正确的。您应该将
0.01设为变量并随着时间的推移减少它。 -
现在我正在运行一个函数和一个 skrunblock: let timeChange = SKAction.runBlock({self.timeChanger()}) 运行: func timeChanger(){ timechanger = timechanger - 0.00001 } 但是我并没有真正看到砖块换时器速度的影响是 .01 的变量
标签: swift sprite-kit skspritenode skaction