2015-10-14 3 views
0

Как я знаю, 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?

+0

Возможно, попробуйте добавить '.png' (или все, что вы используете) к концам имен текстур (так, например,« 1l.png »,« 2l.png »и т. Д.). – Gliderman

+0

@ Глидерман, к сожалению, не работал – Burundanga

ответ

1

Думаете, вам нужно сказать что-то вроде SKTexture (imageNamed: "1l"), SKTexture (imageNamed: "2l") для каждого из элементов, которые вы размещаете в leftArmAnimationArray, теперь это всего лишь массив строк, должен быть массивом текстуры.

+0

Вы правы! Он работает, спасибо! – Burundanga

Смежные вопросы