2013-10-03 12 views
5

LibGDXでスプライトを伸ばすことに問題があります。LibGDXスケーリング2Dグラフィックス

私はゲーム(1x1000 PX)の空に1つのPNGファイルを持っていると私はそれを1000x1000px

sprite.setSize(pixelWidth,pixelHeight); 

編集をしたい:は、ここで私はストレッチしたい画像です - sky。あなたが見ることができるように、上から下へのグラデーションはほとんどありません。私はそれを幅1000pxにしたい。私は幅の色が変化するイメージを期待しています。

しかし、私はこの奇妙な結果を得る:私は1ピクセルの画像を拡大縮小していますので、あなたは、偶数ラインではなく、理由もなくして、グラデーションのようなものの幅があることがわかります Image Image

を...

奇妙なことは、他のPCや携帯電話ですべてがうまく見えるということです...しかし、問題は私のPCにあるとは思わない!

私は何を試していいのか分かりません... アイデアはありますか?

申し訳ありませんが、私は非常によく..それを説明して申し訳ありませんしなかった場合、私の悪い英語

決勝:それはフィルタリングからでした。私は、最寄りの線形から、フィルタを変更し、すべてが

+0

何問題は!実際に色差を見ることができますか?その場合は、より高い解像度のテクスチャを取る。 良い結果を得るのに十分な色が表示されていないモニタだけです。 – BennX

+0

申し訳ありません。私はその話題を編集した。私のモニターはAcer AL511です – user2842461

答えて

2

大丈夫だった私はあなたの質問は本当に何であるか理解しないが、スプライトを拡張するための良い方法は、この

sprite.setSize(scrw * 0.16f, scrw * 0.16f); 

のようなものですここSCRWあなたのビューポートの幅

です
0

これは補間のために起こったと思います。スプライトとテクスチャのグラブされた領域の幅が1ピクセルでスプライトを画面の幅に拡大すると、GPUはいくつかのカラー値を補間し、テクスチャ内の近傍のピクセルの色を使用します。

グラデーションを3px幅のテクスチャに変更し、3pxの中央から1px幅のスプライトを取り出そうとする可能性があります。 GPUはまだ色を補間し、近傍のピクセルカラーを使用しますが、それらは同じであるため、大丈夫です。ここで

あなたtextureregionは、おそらく瞬間とそのつかんエリア、そしてそれがどのように見えるし、そのつかんエリアべきかtextureregionを次のようになりますどのように画像:あなたは私たちに指示する必要があり

enter image description here

関連する問題