2012-04-19 11 views
0

Mono + MonoGame + MonoForAndroidのおかげで、3つの主要なモバイルプラットフォームすべてで準備が整うXNAでいくつかのゲームを開発しています。 問題は、デバイスのクラッシュを避けるためにできるだけ少ないメモリを使用する必要があるため、テクスチャフォーマットBgra5551を使用することを選択しました。コンテンツを変更する<Texture2D>フォーマット

不幸にも、コンテンツマネージャは、Loadメソッドを呼び出すときに、テクスチャ(A8R8G8B8)のカラーフォーマットを使用します。

私の質問は、どういうわけかContent.Loadを使って5551テクスチャを取得できますか?

私はすでに32ビットテクスチャを16ビットテクスチャに変換するコードを持っています。私はLoadメソッドをオーバーライドする方法を考えていたが、何も見つけられなかった。

どうすればいいですか?

はどうもありがとうございました、

-nicola marchesan

+0

コードサンプルは、より良い回答を提供するのに役立ちます。 –

答えて

0

デフォルトのテクスチャプロセッサは、出力テクスチャフォーマットをサポートしていませんが、多分あなたは、あなた自身のテクスチャプロセッサを作成したい...

[ContentProcessor(DisplayName = "MyTextureProcessor")] 
public class TextureContentProcessor : TextureProcessor 
{ 
    public override TextureContent Process(TextureContent input, ContentProcessorContext context) 
    {   
     TextureContent data = base.Process(input, context); 

     // Convert data 

     return data; 
    } 
} 
+0

ありがとう、 あなたが正しく提案したことをうまく説明するhttp://konaju.com/?p=33が見つかりました;) – user1072415

関連する問題