SamplerState.LinearWrap
私たちはゲーム内で多くのものを並べて表示するために使用します。私たちのゲームは単一のオブジェクトを共有し、次のようSpriteBatch
に呼び出します。Begin()
_spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.LinearWrap, DepthStencilState.None, _rasterState);
これは、WindowsのXNAおよびiOSのMonoGameに最適です。
問題は、Androidで、LinearWrapがオンになっている場合、ラップする必要がない方法で描画されている場合でも、2つのサイズのテクスチャの非累乗が黒い長方形としてレンダリングされることです。(デフォルト)に切り替えるとSamplerState.LinearClamp
、これらのテクスチャはAndroidで黒くレンダリングされなくなります。通常、2の累乗ではないテクスチャは、(他のプラットフォームで)それらを並べて表示しようとすると、次に大きい2の累乗まで空のスペースを残します。
これはAndroidのOpenGLの制限ですか、それともMonoGameの問題ですか?すべてのテクスチャのサイズを2の累乗に変更するのは嫌ですが、それが唯一のオプションである場合(または非常に正当な理由がある場合)にサイズを変更します。