我正在使用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。
加载资源目录不直接包含的资产时,我必须做些什么特别的事情吗?
提前致谢。
答案 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
我认为这就是你所需要的。