我知道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中的每一个项目现在它只是一个字符串数组,应该是纹理数组