我正在制作游戏,我有一个在2个纹理之间来回切换的节点。我想知道如何在每个纹理切换回前一个纹理之前为其添加0.5秒的持续时间。现在,当我运行游戏时,纹理立即切换,所以我想延迟0.5秒。
我目前的代码:
func move(){
let recursive = SKAction.sequence([
SKAction.setTexture(SKTexture(imageNamed: "D2")),
SKAction.setTexture(SKTexture(imageNamed: "DWalkRight")),
SKAction.moveByX(frame.size.width/2.8, y: 0, duration: NSTimeInterval(randomNumber())),
SKAction.setTexture(SKTexture(imageNamed: "D1")),
SKAction.setTexture(SKTexture(imageNamed: "DWalkLeft")),
SKAction.moveByX(-frame.size.width/2.8, y: 0, duration: NSTimeInterval(randomNumber())),
SKAction.runBlock({self.move()})])
Drake1.runAction(recursive, withKey: "move")
}
答案 0 :(得分:0)
您可以使用包含图片的SKTextureAtlas。
然后您可以将此地图集加载到可以与SKAction.animateWithTextures:timePerFrame:
有关SKTextureAtlas
的详细介绍,您可以查看this tutorial。
希望这很有用
答案 1 :(得分:0)
SKSpriteNode docs中解释了这一点。
myNode.texture = SKTexture(imageNamed: "imageName")