据我所知,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中为sprite做动画吗?
答案 0 :(得分:1)
认为你需要为你现在放置在leftArmAnimationArray中的每个项目说出类似SKTexture(imageNamed:&#34; 1l&#34;),SKTexture(imageNamed:&#34; 2l&#34;)的内容&# 39; s只是一个字符串数组,应该是纹理数组。