2014-05-07 62 views
0

考慮到本地圖集中的所有文件名都是不同的,有沒有辦法從特定地圖集加載所有文件?加載來自特定地圖集的所有文件Sprite-kit

我試着對這個職位 Getting a list of files in the Resources folder - iOS 它完美,但僅適用於基本的文件夾,而不是與.atlas擴展

NSString * resourcePath = [[NSBundle mainBundle] resourcePath]; 
    NSString * documentsPath = [resourcePath stringByAppendingPathComponent:@"MYATLAS.atlas"]; 
    NSError * error; 
    NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsPath error:&error]; 
+0

你想預加載紋理或負載和使用它們的時候了? –

+0

我想加載它們並創建SKTextures,並將它們全部添加到NSDictionnary中,並將這些文件的名稱用作鍵 – Aaleks

+0

我將使我的答案適用於使用字典 –

回答

1

首先初始化您的地圖冊是這樣發現的方法:

SKTextureAtlas* myAtlas = [SKTextureAtlas atlasNamed:@"MYATLAS.atlas"]; 

然後,您可以將所有紋理加載到字典中

NSMutableDictionary* texturesDictionary = [NSMutableDictionary dictionary]; 
for(NSString* textureName in myAtlas.textureNames){ 
    SKTexture* texture = [myAtlas textureNamed:textureName]; 
    [texturesDictionary setObject:texture key:textureName]; 
} 

或者只是預裝圖譜以供日後使用

[myAtlas preloadWithCompletionHandler:completionHandler]; 
+0

非常感謝!我從未見過SKTextureAtlas擁有textureNames。 – Aaleks

相關問題