在 swift - Xcode 中循环零填充数字
Looping zero-padded numbers in swift - Xcode
在 SKSpriteNode class 下,您可以执行以下操作来为对象设置动画
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
这里的关键点是零填充的问题。有什么想法吗?
假设您只有三位数字,您可以这样添加图片:
for i in 1...3 {
let imageNumber = String(format: "%03d", i)
playerTextures.append(SKTexture(imageNamed: "image\(imageNumber)"))
}
这将为您提供 image001、image002 和 image003
这需要您 import Foundation
在 swift 文件的开头
在 SKSpriteNode class 下,您可以执行以下操作来为对象设置动画
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 这里的关键点是零填充的问题。有什么想法吗?
假设您只有三位数字,您可以这样添加图片:
for i in 1...3 {
let imageNumber = String(format: "%03d", i)
playerTextures.append(SKTexture(imageNamed: "image\(imageNumber)"))
}
这将为您提供 image001、image002 和 image003
这需要您 import Foundation
在 swift 文件的开头