我目前正在直接與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