2014-07-09 7 views
-1

텍스처에서 간단한 게임으로로드하는 데 많은 문제가 있습니다. 우선, "Game1.cs"안에 im이있을 때 텍스처를로드 할 수 있습니다. 그러나, 나는 현재 레벨을 만들려고 노력 중이다. 그래서 Level 클래스의 모든 그림을로드하고 싶습니다.C# XNA 텍스처로로드하기

public Level(IServiceProvider _serviceProvider) 
{ 
    content = new ContentManager(_serviceProvider, "Content"); 
    mNrOfTextures = 3; 
    mTextures[] = new Texture2D[mNrTextures]; 
    mTextures[0] = Content.Load<Texture2D>("sky"); 
    //And then more textures and other stuff.. 
} 

그러나 프로그램에서는 하늘을 결코 찾을 수 없습니다. 나는 현재 어떤 유용한 오류 메시지를 얻지 않고 메신저에서 멀리 이동하고있다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

전체 경로 파일을 C : \ C++ \ ProjIV을 \ ProjIV \ ProjIVContent

+1

보통 캐싱을 최대한 활용하기 위해 game1.cs에서 contentmanager를 전달하지만 "하늘"텍스처가 콘텐츠 폴더에 있음을 확인했습니다. – itsme86

+1

저는 XNA를 해왔으니 영원히 지났지 만, 당신이 당신의 인스턴스 인'ContentManager' 대신 정적'Content'를 사용하고있는 것을 보았습니다. 그게 맞습니까? –

+0

파일의 전체 경로 : C : \ C++ \ ProjIV \ ProjIV \ ProjIVContent \ 편집; ive는 그것을 바꾸려고 시도했지만 모든 시도에서 실패한 것처럼 보였습니다. – 413X

답변

0

\ 나는 개인적으로 내 ContentManager 내 레벨 클래스에 대신 다른 사람처럼 서비스 제공자를 전달하는 전달합니다. 이 경우

, 당신은 당신의 지역 content 인스턴스가 아닌 정적 Content

mTextures[0] = content.Load<Texture2D>("sky"); 

EDIT를 사용해야합니다 :이 작동하지 않았다 볼 수, 당신은 콘텐츠와 솔루션 레이아웃의 사진을 첨부 할 수 있습니다?

+0

http://i.imgur.com/dgS6kK2.png // 테스트 용 코드에서 약간의 변경. – 413X

+0

콘텐츠 경로는'../../../'이 아니어야합니다. 단지''Content "'이어야합니다. '../'디렉토리로 돌아 간다. 그래서 당신이하고있는 일은 아마'.exe '에서 프로젝트의 컨텐트 디렉토리로 되돌아 갈 것입니다. 대신 컴파일 할 때 생성 된'Content' 디렉토리에 _forward_ 가야합니다. – Cyral