2011-12-15 12 views
2

XnaゲームのDLLからいくつかの.Xnbファイルをロードする必要があります。このために、「ResourceContentManager」があります。このResourceContentManagerはコンストラクターで「ResourceManager」を取ります。どのように組み込みリソースとしてDLLにファイルを追加し、ResourceManagerを初期化するのですか?次のコードのdidntは(名前空間が「モックス」である)C#DLLからリソースをロードする(ResourceManager)

ResourceManager resourceManager = new ResourceManager("Mox", Assembly.GetExecutingAssembly()); 
Stream s = resourceManager.GetStream("Shader"); 
if(s == 0) 
    throw new Exception(); 

を働いていた私は、「追加 - >既存の」でリソース「Shader.fx」を追加し、「常にコピー」埋め込まれたリソースとのビルドを設定します。..これは例外をスローするので、正しく読み込まれなかったことを知っています...どのような提案ですか?

+0

コンテンツパイプラインを使用しない理由は何ですか。 –

+0

埋め込み時にどのような例外がスローされますか? –

答えて

2

gamedev.stackexchange.comで同様の質問をしました。その答えはあなたを助けるかもしれません。

私はラッセルのほかに、コンテンツマネージャを使うことができ、XNAがサポートするすべてのタイプのコンテンツを埋め込むことができます。

XNAは、コンテンツプロジェクトではなくリソースを通じてContentManagerをサポートします。それを使用するには、以下を実行します。もちろん、ある時点でゲームのサービスのリファレンスを渡す必要があります。

ResourceContentManager Content = new ResourceContentManager(game.Services, Resource1.ResourceManager); 

XNBにシェーダか何かをコンパイルするthisを使用してください。

すべてのXNBをリソースに追加します。それらは単にいつものようにコンテンツをロードするだけです。

Content.Load<Texture2D>(".\\assetName") 
関連する問題