2015-10-09 2 views
0

По какой-то нечетной причине текстуры из моего атласа текстуры не загружаются. Понятия не имею почему.Текстуры от текстурного атласа не загружаются и не появляются

Ниже, как правило, я объявляю/код текстуру

 -(SKSpriteNode *)background { 
SKSpriteNode *background; 
NSArray *backgroundIpad; 

    background = [SKSpriteNode spriteNodeWithImageNamed:@"dodgR - main background"]; 
    background.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)); 
    background.size = CGSizeMake(1136, 640); 

    NSArray *backgroundIphone = @[[SKTexture textureWithImageNamed:@"dodgR - animation 1.jpg"], 
            [SKTexture textureWithImageNamed:@"dodgR - animation 2.jpg"], 
            [SKTexture textureWithImageNamed:@"dodgR - animation 3.jpg"], 
            [SKTexture textureWithImageNamed:@"dodgR - animation 4.jpg"], 
            [SKTexture textureWithImageNamed:@"dodgR - animation 5.jpg"], 
            [SKTexture textureWithImageNamed:@"dodgR - animation 6.jpg"], 
            [SKTexture textureWithImageNamed:@"dodgR - animation 7.jpg"], 
            [SKTexture textureWithImageNamed:@"dodgR - animation 8.jpg"], 
            [SKTexture textureWithImageNamed:@"dodgR - animation 9.jpg"], 
            [SKTexture textureWithImageNamed:@"dodgR - animation 10.jpg"]]; 

    SKAction *backgroundIphoneAnimation = [SKAction animateWithTextures:backgroundIphone timePerFrame:0.05]; 

    SKAction *backgroundIphoneRepeat = [SKAction repeatActionForever:backgroundIphoneAnimation]; 

    [background runAction:backgroundIphoneRepeat]; 






background.name = @"background"; 
return background; 

}

Название моей текстуры атласа sprites.atlas Любая помощь будет высоко ценится, благодаря

+0

Попробуйте удалить .jpg с изображения. Если это не помогает, удалите содержимое симулятора и настройки/удалите приложение с устройства, а затем снова создайте и запустите. И, что вы считаете «не погрузка»? Вы видите missingResource изображение (белое изображение с красным X) или что-то еще происходит? Кроме того, ваш фоновый узел правильно добавлен в сцену? – Whirlwind

+0

Все узлы содержат красный X. Удаление .jpg не помогло – RT33

+0

- единственный раз, когда текстуры появляются на экране, когда они не в атласе. – RT33

ответ

2

Ваш код выше работает только при использовании изображений не в атласе текстуры, потому что на самом деле он не использует атлас текстуры.

Изображения нельзя вытащить из атласа (что я знаю) без использования SKTextureAtlas. Таким образом, вы не можете напрямую захватить эти изображения.

СВИФТ:

let atlas = SKTextureAtlas(named: "BackgroundImages") // atlas name 
var backgroundFrames = [SKTexture]() 

let imageCount = atlas.textureNames.count 
for var i=1; i<= imageCount/2; i++ { 
    let textureName = "dodgR - animation \(i)" 
    backgroundFrames.append(atlas.textureNamed(textureName)) 
} 

Objective-C (не тестировался)

SKTextureAtlas *atlas = [SKTextureAtlas named:@"BackgroundImages"]; // atlas name 
NSMutableArray *backgroundFrames = [NSMutableArray new]; 

int imageCount = atlas.textureNames.count; 

for (int i = 1; i <= imageCount/2; i++) { 
    NSString *textureName = @"dodgR - animation \(i)"; 
    [bacgroundFrames addObject:[atlas textureNamed:textureName]]; 
} 

БОНУС: Xcode-теперь позволяет создавать спрайты атласы прямо в папке активов.