【发布时间】:2016-08-04 18:36:46
【问题描述】:
我设计了一个 SKSpriteNode 子类 Ship,并且我想知道如何使用几个不同的图像对其进行动画处理。我目前正在传递原始图像:
class Ship:SKSpriteNode{
static var shipImage = SKTexture(imageNamed:"Sprites/fullShip.png")
init(startPosition startPos:CGPoint, controllerVector:CGVector){
super.init(texture: Ship.shipImage, color: UIColor.clearColor(), size: Ship.shipImage.size())
但我不确定之后如何循环浏览图像图集。我首先尝试在类中使用一个方法,然后在 update 函数中调用该方法:
func animateShip() {
self.runAction(SKAction.repeatActionForever(
SKAction.animateWithTextures(shipAnimationFrames,
timePerFrame: 0.2,
resize: false,
restore: true)),
withKey:"shipBlink")
print("animate")
}
var shipAnimationFrames : [SKTexture]! 声明在GameScene 的正上方,这个块位于didMoveToView
//Ship animation
let shipAnimatedAtlas = SKTextureAtlas(named: "ShipImages")
var blinkFrames = [SKTexture]()
let numImages = shipAnimatedAtlas.textureNames.count
for var i=1; i<=numImages; i += 1 {
let shipTextureName = "samShip\(i).png"
blinkFrames.append(shipAnimatedAtlas.textureNamed(shipTextureName))
}
shipAnimationFrames = blinkFrames
任何帮助都会很棒!
【问题讨论】:
标签: swift animation sprite-kit