据我所知,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。我究竟做错了什么?可以在没有.atlas的情况下在SpriteKit中对精灵进行动画处理吗?

最佳答案

认为您需要为您放置在leftArmAnimationArray中的每个项目说类似SKTexture(imageNamed:“ 1l”),SKTexture(imageNamed:“ 2l”)之类的东西,现在它只是一个字符串数组,应该是纹理数组。

09-25 18:44