如何在没有纹理地图集的情况下动画精灵



我知道iOS 9现在把地图集变成了可怕的东西,所以我不想用它。至少在他们解决问题之前。我需要动画一只手,我试图做到这一点没有地图集。然而,由于某种原因,它突然崩溃了。我在images.xcassets中有我的纹理。我就是这么做的:

var leftHand = SKSpriteNode()
var leftArmAnimationArray = ["1l", "2l", "3l", "4l", "5l"]
func addLeftHand() {
   leftHand = SKSpriteNode(imageNamed: "1l")
   leftHand.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
    addChild(leftHand)
}
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
    for touch: AnyObject in touches {
        let location = touch.locationInNode(self)
        switch self.nodeAtPoint(location) {
        case self.leftHand:
leftHand.runAction(SKAction.animateWithTextures(leftArmAnimationArray, timePerFrame: 0.3))
    }
  }
}

它崩溃并显示SIGABRT。我做错了什么?有没有可能在SpriteKit中不使用.atlas来动画精灵?

认为你需要说一些像SKTexture(imageNamed: "1l"),SKTexture(imageNamed: "2l")对于你放置在leftArmAnimationArray中的每一个项目现在它只是一个字符串数组,应该是纹理数组

最新更新