2011-07-28 199 views
0

我正在使用cocos2d开发一个小型的IOS游戏。我喜欢在不同的充目录已经分裂像我的资产:从资源文件夹中包含的文件夹加载资源。

水平/ 1级/ GFX 水平/ 1级/听起来 水平/ 1级/图 等等

所以,我创造了这个目录里面资源之一。问题是如果资产不在资源目录中,我无法加载任何内容。我的意思是Resources/image.png会加载,但是Resources/images/image.png不会。作为一个cocos2d的例子,[sprite spriteFromFile:@“image.png”]会加载,但[sprite spriteFromFile:@“images/image.png”]不会。

作为一个方面说明,我必须说我不使用组,我在文件系统中快速创建文件夹,然后将它们添加到xcode中。

有没有什么特别的我必须做的加载资源目录不直接包含的资产?

在此先感谢。

回答

0

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

一定要取消选中顶部的复选框,以便Xcode只会创建对文件的引用,而不会自己复制它们。

+0

这正是我所做的。当我必须移动文件时,我删除Xcode中的引用,然后直接在磁盘上设置所有内容并将文件读取到Xcode,但我仍然遇到同样的问题 – user777231

0

,你可以尝试手动从一个NSBundle获取文件路径:

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

现在,你有文件路径,即时通讯不知道如何将图像设置为精灵..也许你可以通过CGImage尝试。 ..

希望这有助于