2012-04-23 8 views
0

を表示してスクロールすると、誰かが問題の解決方法をアドバイスできれば非常に感謝します。大きいレイアウト

大きく複雑な構造(鉄道線のレイアウト)を描く必要がありました。スムーズなスクロールをするために、私は、レイアウトをビットマップに描画し、必要な部分だけをonDrawメソッドのスクリーンキャンバスにコピーする必要がありました。

問題はレイアウトが2048x2048(Asus Primeで許容される最大テクスチャサイズ)よりも大きく、「ビットマップが大きすぎてテクスチャにアップロードできません」という問題です。 これはズームなしでも可能です。

レイアウトは2Dジオメトリプリミティブのセットなので、ビットマップレベルではなく幾何学的な操作が可能ですが、円滑なスクロールとズームの実装方法は?

この問題を解決する一般的な方法は何ですか?

ありがとうございます。

答えて

0

タイル型のアプローチを使用する必要があります。小さい地図の中で大きな地図を分割し、移動中にそれらをレンダリングします。 Googleマップのように。

あなたはTMXフォーマットを使用することができます。http://www.mapeditor.org/

AndEngine http://www.andengine.org/はそれのために実装されています。

+0

ありがとうございます! タイルについてはわかりませんが。 レイアウトの要素は、サイズ、形状、複雑さの異なる形状です。彼らは交差することができます、テキストなど - ほとんどすべてのもの。 いくつかの要素が分割されるため、レイアウトを小さなものに分割することも難しくなります。静的なビットマップでは問題ではないかもしれませんが、動的に更新される幾何学的図形は簡単ではありません(色や形は同じですが、境界は同じままです)。Googleは幾何学的図形またはライブトラフィックなど)を画像タイルの上に表示します。 – Vlad

+0

はい、タイルの上にgoogle placesものがあります。レイアウトを事前にコンパイルして、分割情報を必要なセクションに保存できませんでしたか?分割された背景にアドオンを追加しますか? – Moss

+0

私は幾何学プリミティブをビットマップにレンダリングすることで(少なくとも今のところは)問題を解決しました。どうやら、形を描くのではなくビットマップを描くほうがはるかに高速です。 – Vlad

関連する問題