1

Я пытаюсь загрузить кучу анимированных текстур из атласа текстуры в массив, но получаю сообщение об ошибке при попытке добавить фрейм в массив.Swift многомерный массив текстур

В принципе, я хочу иметь многомерный массив текстур, где каждая строка представляет собой анимацию, которая представляет собой массив кадров. Что-то вроде этого:

[[FirstFrameTexture, SecondFrameTexture, ThirdFrameTexture...], //first animation 
[FirstFrameTexture, SecondFrameTexture, ThirdFrameTexture...], //second animation 
[FirstFrameTexture, SecondFrameTexture, ThirdFrameTexture...]] //third animation 

Я инициализируется массив так:

var animations = [[SKTexture]]() 

, но когда я пытаюсь добавить текстуру в массив как этот

animations[0].append(SKTexture(imageNamed: "test")) 

Я получаю сообщение об ошибке на эта строка говорит:

fatal error: Cannot index empty buffer 

Любые идеи о том, как я могу это решить?

ответ

0

Первый массив с индексом 0 еще не создан, когда вы пытаетесь добавить к нему анимацию.

Сначала добавьте анимацию, встроенный в массив, например:

animations.append([SKTexture(imageNamed: "test")]) 

Затем вы можете добавить анимацию в массив:

animations[0].append(SKTexture(imageNamed: "test2")) 
+1

Спасибо. Я подумал, что это проблема, но я попытался добавить первую текстуру неправильно, используя «animations.append (SKTexture (imageNamed:« test »))», я не включил квадратные скобки, и поэтому я получал «(SKTexture) не идентична ошибке «AnyObject» –

+0

Это было бы очень полезно, если бы мы могли просто добавить в объект SKSpriteNode. – Boggartfly