据我所知,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”)之类的东西,现在它只是一个字符串数组,应该是纹理数组。