【发布时间】:2014-11-27 13:39:56
【问题描述】:
我正在尝试找到在 Swift 中进行垂直滚动背景的最佳方法, 不使用更新方法。背景是 1 个应该无限循环的图像。 图像应位于屏幕中间(全尺寸),向下移动,并且在该图像之上应始终生成另一个图像。
但是,我的工作不太正常,它会生成 2 张图像,然后在延迟之后它们会弹出并再次启动动作。 此外,它有时会从 30 FPS 降至 26 FPS,这是我想避免的。 我希望更喜欢 Swift 的人可以帮助我。
let Background = SKTexture(imageNamed: "Background.png")
Background.filteringMode = .Nearest
let BackgroundMove = SKAction.moveByX(0, y: -self.frame.size.height, duration: 10)
let BackgroundReset = SKAction.moveByX(0, y: self.frame.size.height, duration: 0.0)
let BackgroundMoveAndResetForever = SKAction.repeatActionForever(SKAction.sequence([BackgroundMove,BackgroundReset]))
for var i:CGFloat = 0; i < 2.0 + self.frame.size.height / (Background.size().height * 2); ++i {
let sprite = SKSpriteNode(texture: Background)
sprite.size = CGSize(width: self.frame.size.width / 2, height: self.frame.size.height)
sprite.position = CGPointMake(self.frame.size.width / 2, self.frame.size.height / 2 * i)
sprite.zPosition = 1
sprite.runAction(BackgroundMoveAndResetForever)
self.addChild(sprite)
}
【问题讨论】:
标签: ios swift scroll sprite-kit