私はLibGDXで書いた私のモバイルゲームのパフォーマンス上の問題に直面しています。 テスト用に1つの解決策(1920x1080
)しかないとします。Libgdx - 巨大なスプライトシートを読み込んで黒くならないようにするには?
私は以下のような画像と組み合わせspritesheet持っている:私は、これらの粒子が私のロゴの周りを飛びたいので、私は彼らの大きさは、少なくとも256px/512px
する必要が
- それは、与えられた解像度によさそうだが。
一つのフレームは、その大きさを持っており、私はそれが良い見するために少なくとも32個のフレームが必要な場合は、それは全体spritesheetの寸法を持っていることを計算するのは簡単です:
width: 256 * 8 (columns) = 2048
height: 512 * 4 (rows) = 2048
これは、最も楽観的な考えである、原因スプライトシートはさらに大きくなるはずです。 スプライトシートの重量は〜50kbなので、本当に問題ありませんが、寸法が問題になっています。
昨日私はLibGDXのデスクトップ版ですべてをテストしました。すべてうまくレンダリングされます。私はAndroidにメニューを終了した後にゲームを移植し、このスプライトシートを描画する領域はです。黒色のです。
私はgamedevを読んだり、最大サイズのグラフィックを使うべきであることを覚えていません。1024/1024
LibGdxは多くのバージョンでAndroidでより高いテクスチャを読み込む際にいくつか問題があります。
達成しようとしていることはありますか? この作業を行い、テクスチャを読み込む方法を知る必要があります。
Iすでにピックスマップを使用してファイルのサイズを変更してみましたが、それは寸法としてint型をとり、それはなどの品質を下げる...
私は誰かが「なぜあなたは1つだけを作成しないだろう、と言うでしょう知っています次のようなオレンジ色のグラフィックを持つ「ドット」オブジェクトを作成し、これらのドットをランダムに生成し、時にはそのアルファを変更しますか?私は「霧」のような他のアニメーションを必要とするので、それはオプションではありません。これは簡単にドットのようにプログラムすることはできません。
テクスチャ、リージョン、または何かのサイズを変更する方法があるかもしれません(アスペクト比を維持するためにフロートを使用します)。
誰かが任意のアイデアを持っている場合は、私は私のアプリでは、巨大なspritesheetsを使用する必要がありますどのように、私は非常に感謝される:)
個々のテクスチャが256 x 512の場合、問題を回避するために4つの1024 x 1024テクスチャをロードできませんでしたか? –
私が言ったように、これは最も楽観的なケースです。1920x1080デバイスの256x512のデバイスは、実際には非常に小さく見えます。私は、グラフィックをダウンスケールする必要があります、それらを高級ではありません!私はより大きなスプライトシートを持っていると、それを意味のない20の小さなスプライトシートでカットする必要があります:( –
このアニメーションでは、テクスチャとしてムービーを読み込もうとするのではなく、ゲームの中で直接使用しますか?または、ゲームを読み込む前に実際のMPEGムービーを再生するAndroidビューを作成することもできます。 – Tenfour04