从Resources文件夹中包含的文件夹加载资源。

时间:2011-07-28 14:44:14

标签: cocoa ios4 cocos2d-iphone

我正在使用cocos2d进行我正在开发的一些IOS游戏。我喜欢将我的资产分成不同的目录,如:

色阶/级别1 / GFX 水平/ 1级/声音 水平/ 1级/图 等...

所以,我在Resources one中创建了这个目录。问题是,如果资产不在Resources目录中,我将无法加载任何内容。我的意思是Resources / image.png会加载但是Resources / images / image.png不会。

作为cocos2d示例,[sprite spriteFromFile:@“image.png”]将加载但[sprite spriteFromFile:@“images / image.png”]不会。

作为附注,我必须说我不使用组,我在文件系统中创建文件夹,然后将它们添加到xcode。

加载资源目录不直接包含的资产时,我必须做些什么特别的事情吗?

提前致谢。

3 个答案:

答案 0 :(得分:0)

由于项目树中显示的树结构(组等)与文件的实际位置之间没有链接,因此您必须小心如何在磁盘上移动文件。您应该将文件放在磁盘上正确的位置,然后将它们放在XCode的项目树中。之后你不应该再移动它们,否则Xcode将保留它们的旧路径,并且文件的逻辑引用将丢失(在Xcode中)。

请务必取消选中顶部的复选框,以便Xcode仅创建对文件的引用,而无需自行复制。

答案 1 :(得分:0)

您可以尝试从NSBundle手动获取文件路径:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"png" inDirectory:@"images"];

既然你有文件路径,我不知道如何将图像设置为精灵..也许你可以尝试通过CGImage ...

希望这有帮助

答案 2 :(得分:0)

https://stackoverflow.com/a/8743760/1047388

我认为这就是你所需要的。