我目前正在直接与Cocoa一起构建一个屏幕保护程序。现在我试图从.saver
包中加载资源时遇到了问题。我基本上有一个小型的C++包装类,使用freeImage
加载.exr
文件。只要我使用绝对路径,这就行得通了,但这不是很有用,是吗?所以,基本上,我尝试了一切:将.exr
文件放在.saver
捆绑包本身的级别,在捆绑的资源文件夹内,等等。使用相对路径在Cocoa/C++中加载资源
然后,我只是试图加载.exr
这个样子,但没有成功:
particleTex = [self loadExrTexture:@"ball.exr"];
我也尝试使其进入到.saver
束的位置是这样的:
particleTex = [self loadExrTexture:@"../../../ball.exr"];
...可能从该位置加载.exr
,但没有成功。
我然后在这个传来:
NSString * path = [[NSBundle mainBundle] pathForResource:@"ball" ofType:@"exr"];
const char * pChar = [path UTF8String];
...这似乎是找到可可资源的常用方法,但由于某种原因它在我的情况下空。有关于此的任何想法? 我真的尝试过一些没有成功的东西,所以我会为某些输入感到高兴!
好吧,我刚刚发现NSString * path = [[NSBundle mainBundle] bundlePath];指向运行我的屏幕保护程序的ScreenSaver.app,所以我猜资源需要与之相关?我会怎么做? – moka 2010-05-10 07:19:41