2017-08-14 19 views
0

私はLibGDXライブラリ(badlogicgamesから)を使用してゲームを作成しています。スプライトについていくつかの疑問がありました。Java - プログラムからSVGからPNGへ

さまざまな画面サイズをサポートするため、通常はサイズが異なる4つの多分6つの画像を作成します。私はSVGファイルのようなベクトル画像を使うのが便利かもしれないと思っていました。

プログラム的にSVGファイルを取得し、画面の寸法を取得し、画面サイズを考慮して適切なPNGファイルを作成することは賢明でしょうか?

唯一の問題がパフォーマンスの場合、その違いはあまりにも大きいですか?アプリケーションの開始時にすべてのPNG画像を作成するには3〜4秒かかりますが、フォワードグラフィックスの方が良いでしょう。

これを達成するためにバティックについて聞いたことがありますか?

誰もがこのような経験を少し持ち、私を助けることができますか?

+0

Androidサポートライブラリでベクター画像がサポートされるようになりました。ライブラリはイメージをキャッシュするので、一度だけ変換されます。ドキュメントは、メモリの問題のために、相対的に小さいイメージに対してのみ使用されるべきであると述べています。 – lionscribe

+0

@lionscribe Android Support LibraryはSVGファイルをサポートしていません。 VectorDrawableをサポートしていますが、これは同じではありません。 SVGファイルのサブセットをVectorDrawableファイルに変換することができます。 –

+0

正しい。私が欲した最も重要なポイントは、注目されている記憶の問題です。フルサイズの画像はあなたの記憶を騒ぐでしょう。シンプルな考え方は、イメージファイルを最初の実行時にキャッシュファイルに保存するので、通常はイメージファイルを再度作成する必要はなく、メモリに大きなイメージを保存する必要もありません。 – lionscribe

答えて

0

バティックは、一般的なJavaアプリケーションに適しています。しかし、私はそれがAndroidが持っていない標準のJava2Dメソッドを使用するため、Androidをサポートしているとは思わない。

は、しかし、あなたがSVGファイルをレンダリングすることができますAndroid用のライブラリがあります。

の限定セットをサポートし、ほとんどのSVG機能をサポートしています免責事項:私はAndroidSVGの著者です

+0

を参照してください。私はSVGを資産フォルダに入れ、AndroidSVGを使用してPNGファイルに変換してから、ゲームのキャッシュに保存します。さて、議論を終わらせるために、PNGファイルをキャッシュに保存するためのチュートリアルがありますか?どうもありがとう ! –

+0

[AndroidSVGウェブサイト](http://bigbadaboom.github.io/androidsvg/)にSVGからビットマップを作成する方法の例があります。 PNG形式で保存するだけです。 –

+0

Android StudioのlibGDXプロジェクトからAndroidSVGを実装するにはどうすればよいですか? –

関連する問題