저는 현재 처음으로 코코아와 직접 스크린 세이버를 만들었습니다. 이제 .saver
번들 내에서 리소스를로드하려고 할 때 문제가 발생했습니다. 기본적으로 freeImage
을 사용하여 .exr
개의 파일을로드하는 작은 C++ 래퍼 클래스가 있습니다. 아볼 루스 경로를 사용하는 한 이것은 효과가 있지만 그다지 유용하지 않습니다. 그래서, 기본적으로, 나는 모든 것을 시도했다 : .exr
파일을 .saver
번들 자체, 번들 리소스 폴더 등의 레벨에 놓는다. Cocoa/C++에서 상대 경로를 사용하여 리소스로드
.exr
를로드하려고했으나 성공하지 : 나는 또한이 같은
.saver
번들 위치로 이동하고 노력
particleTex = [self loadExrTexture:@"ball.exr"];
:
particleTex = [self loadExrTexture:@"../../../ball.exr"];
... 해당 위치에서 .exr
을로드 할 수도 있지만 성공하지는 못합니다. 코코아의 자원을 찾을 수있는 일반적인 방법으로 보인다 ...
NSString * path = [[NSBundle mainBundle] pathForResource:@"ball" ofType:@"exr"];
const char * pChar = [path UTF8String];
을하지만, 어떤 이유로 내 경우에는 비어 :
나는 다음이 가로 질러왔다. 그것에 관한 어떤 생각? 나는 성공없이 내 마음에 온 것을 시험해 봤기 때문에 약간의 정보를 얻게되어 기쁩니다!
좋아, 방금 NSString * 경로 = [[NSBundle mainBundle] bundlePath]; 내 스크린 세이버를 실행하는 ScreenSaver.app에 나를 가리킨다. 그래서 나는 리소스가 그것과 관련 될 필요가 있다고 생각한다. 내가 어떻게 그럴 수 있니? – moka