L'outil TextureAtlas ne lit pas Atlas de texture – SpriteKit Texture Atlas Generator Error

J'essaie de créer un nœud avec une animation simple, j'ai donc créé une animation avec chaque image individuelle en tant que file .png, je les ai tous placés dans un dossier, et je l'ai nommé stoneanimation2.atlas.

C'est le code que j'ai essayé:

SKTextureAtlas *atlas = [SKTextureAtlas atlasNamed:@"stoneanimation2"]; SKTexture *stone2 = [atlas textureNamed:@"stone2.png"]; SKTexture *stone3 = [atlas textureNamed:@"stone3.png"]; SKTexture *stone4 = [atlas textureNamed:@"stone4.png"]; SKTexture *stone5 = [atlas textureNamed:@"stone5.png"]; SKTexture *stone6 = [atlas textureNamed:@"stone6.png"]; SKTexture *stone7 = [atlas textureNamed:@"stone7.png"]; SKTexture *stone8 = [atlas textureNamed:@"stone8.png"]; SKTexture *stone9 = [atlas textureNamed:@"stone9.png"]; SKTexture *stone10 = [atlas textureNamed:@"stone10.png"]; SKTexture *stone11 = [atlas textureNamed:@"stone11.png"]; SKTexture *stone12 = [atlas textureNamed:@"stone12.png"]; SKTexture *stone13 = [atlas textureNamed:@"stone13.png"]; SKTexture *stone14 = [atlas textureNamed:@"stone14.png"]; SKTexture *stone15 = [atlas textureNamed:@"stone15.png"]; SKTexture *stone16 = [atlas textureNamed:@"stone16.png"]; SKTexture *stone17 = [atlas textureNamed:@"stone17.png"]; SKTexture *stone18 = [atlas textureNamed:@"stone18.png"]; SKTexture *stone20 = [atlas textureNamed:@"stone20.png"]; SKTexture *stone21 = [atlas textureNamed:@"stone21.png"]; SKTexture *stone22 = [atlas textureNamed:@"stone22.png"]; SKTexture *stone23 = [atlas textureNamed:@"stone23.png"]; SKTexture *stone24 = [atlas textureNamed:@"stone24.png"]; SKTexture *stone25 = [atlas textureNamed:@"stone25.png"]; SKTexture *stone26 = [atlas textureNamed:@"stone26.png"]; SKTexture *stone27 = [atlas textureNamed:@"stone27.png"]; SKTexture *stone28 = [atlas textureNamed:@"stone28.png"]; NSArray *atlasTexture = @[stone2,stone3,stone4,stone5,stone6,stone7,stone8,stone9,stone10,stone11,stone12,stone13,stone14,stone15,stone16,stone17,stone18,stone20,stone21,stone22,stone23,stone24,stone25,stone26,stone27,stone28]; stoneAnimation = [SKAction animateWithTextures:atlasTexture timePerFrame:.01]; 

Cela a fonctionné avant, quand j'avais seulement environ 10 frameworks. Mais j'ai décidé d'en append plus, et je pense que cela a chamboulé l'atlas lui-même, car Xcode dit "SpriteKit Texture Atlas Generator Error" C'est le message d'erreur:

 Command /Applications/Xcode.app/Contents/Developer/Tools/../usr/bin/TextureAtlas failed with exit code 11 

Chaque fois que je fais complètement un nouvel atlas, ou que je le renommerai simplement, pour voir si cela fonctionne, j'obtiens la même erreur. En outre, dans les parameters de construction, j'ai "Activer Atlas Generator" réglé sur "OUI". Et j'ai essayé de réinitialiser le simulateur IOS, et tout ce que je peux penser! S'il vous plaît aidez!

Cette erreur m'est arrivée quand j'avais trop de grandes images dans mon atlas de texture. Après l'avoir divisé en deux atlas distincts, le jeu s'est bien construit.

J'ai compris que mon problème était que l'atlas de texture n'était pas importé correctement, je pense que c'était parce que je l'ai importé avant correctement et ensuite changé. Alors j'ai un? par l'atlas de texture dans le browser du projet. Je n'avais pas besoin de changer de code, tout ce que j'avais fait était de cliquer droit sur l'atlas de texture et de cliquer sur: contrôle de la source> append le file sélectionné.

Cela n'avait rien à voir avec mon code

Ajouter une propriété NSArray * _stoneFrames;

 -(void)addObject { NSMutableArray *stoneAnimationFrames = [NSMutableArray array]; SKTextureAtlas *stoneAnimatedAtlas = [SKTextureAtlas atlasNamed:@"stoneanimation2"]; int numImages = stoneAnimatedAtlas.textureNames.count; for (int i=1; i <= numImages; i++) { NSSsortingng *textureName = [NSSsortingng ssortingngWithFormat:@"stone%d", i]; SKTexture *temp = [stoneAnimatedAtlas textureNamed:textureName]; [stoneAnimationFrames addObject:temp]; } _stoneFrames = stoneAnimationFrames; SKTexture *temp = _stoneFrames[0]; _stone = [SKSpriteNode spriteNodeWithTexture:temp]; [self addChild:_stone]; [self animateStone]; } -(void)animateStone { [_stone runAction:[SKAction repeatActionForever: [SKAction animateWithTextures:_stoneFrames timePerFrame:0.1f resize:NO restore:YES]] withKey:@"animated Stone"]; return; } 

Vous pouvez également consulter ce blog http://www.raywenderlich.com/45152/sprite-kit-tutorial-animations-and-texture-atlases