2011-12-21 2 views
1

Content가 아닌 다른 곳에서로드 할 수 있도록 Content.RootDirectory를 절대 경로로 만드는 방법은 무엇입니까? 이 존재하지 않는 오류를주고 있기 때문에.NET 4.0 + XNA 4.0 - 절대 경로가 지정되면 Content.RootDirectory가 작동하지 않습니까?

나는, 나는에 의미가 있다고 생각하지 않습니다

Content.RootDirectory = "C:\\Users\\pc user\\Desktop\\"; 

outputFont = Content.Load<SpriteFont>("SpriteFont1"); 

SpriteFont1.spritefont은 definitly C에 존재 : \ 사용자 \ PC 사용자 \ 바탕 화면입니다. 그것에 대해 의심의 여지가 없습니다.

유효한 spritefont 파일이며, 컨텐츠에서 제대로 작동하는 곳에서 내 데스크톱으로 이동했습니다. 그렇지 않습니다.

이 작업을 수행 할 수 있어야하지만 실제로 Content.Load를 사용하여 절대 경로에서 Texture2Ds 및 SpriteFonts 등을로드 할 수 없으면 라이브러리 또는 무언가를 설치하고자합니다.

방금 ​​내가 바보 같은 실수를 저질렀 으면 좋겠다.

오류입니다 :이 내용에서 완벽하게 잘 작동 할 때

ContentLoadException was unhandled 

Error loading "SpriteFont1". File not found. 
+0

가 시작하는 방법에 대한 예는이 링크를 시도 .. http://msdn.microsoft.com/en-us/library/advertising-mobile-windows-phone -7-xna-api (MSADS.20) .aspx C# 형식의 C# Content.RootDirectory를 사용하여 Google 검색에 많은 예제를 찾을 수 있습니다. – MethodMan

답변

0

방금 ​​Texture2D.FromStream 메소드에 주목했습니다. 나는 미래의 독자의 즐거움을 위해 게시합니다 :

public Stream stream; 
Texture2D x; 

stream = File.OpenRead("C:\\Users\\pc user\\Desktop\\faceGuy.png"); 
x = Texture2D.FromStream(GraphicsDevice, stream); 

spriteBatch.Draw(x, new Rectangle(0, 0, 32, 32), Color.White); 
0

왜 당신은 당신의 바탕 화면에 SpriteFont의 및 텍스처를 이동?

콘텐츠의 위치를 ​​이동 시키려면 뒤로 이동해야한다고 생각합니다.

Content.RootDirectory = "Content\\..\\.."; 

또한 모든 컴퓨터가 C를 사용하는 것을 잊지 마세요 : 그들의 주요 파일 디렉토리, 이것은 당신은 분명 할 귀하의 개인 사용 만이 아닌.

콘텐츠 프로젝트에 spritefont를 가져 왔습니다. 바탕 화면에있는 경우 이제는 인식하지 못하는 위치에서 더 이상 가져 오지 않을 가능성이 큽니다.

다음은 비슷한 질문에 대한 답변입니다. 사진 링크가 더 이상 작동하지 않지만 대답이 도움이 될 수 있습니다. https://gamedev.stackexchange.com/q/9748/11721

+0

XNA 게임 개발 방법을 만들고 있습니다. 래퍼라고 생각합니다. 콘텐츠는 불행히도 옵션이 아닙니다. :( –