1

在 SKSpriteNode 类下,您可以执行以下操作来为对象设置动画

private func animate(){
  var playerTextures:[SKTexture] = []
  for i in 1...3 {
    playerTextures.append(SKTexture(imageNamed: "image00\(i)"))
  }
  let playerAnimation = SKAction.repeatActionForever(
    SKAction.animateWithTextures(playerTextures, timePerFrame: 0.1))
  self.runAction(playerAnimation)
}

上面的代码可以使用图像序列为对象设置动画。这里的图像文件是 image001.png image002.png image003.png

我的问题来了,如果文件名是 image001.png image002.png ... image009.png image010.png image011.png image012.png 我如何为图像制作动画 这里的关键是零填充的问题。有任何想法吗?

4

1 回答 1

2

假设您只有三位数字,您可以通过这种方式添加图片:

for i in 1...3 {
    let imageNumber = String(format: "%03d", i)
    playerTextures.append(SKTexture(imageNamed: "image\(imageNumber)"))
}

这将为您提供 image001、image002 和 image003

这要求您import Foundation在 swift 文件的开头

于 2016-02-18T13:58:46.270 回答