0

Tribal Wars や The-West ゲームのようなタイル ベースの世界地図を作成しようとしています。少し作成しましたが、マウスでマップをドラッグすると読み込みが遅すぎます。

私のアルゴリズムは次のように機能します。


ページの読み込み時:

  • JQuery の $.post メソッドを介して 1 から 19 (x1 から y1 および x2 から y2) のタイルをロードします (マップでページ全体を埋めたいため、19=1900/tile_width の画面の幅と高さが必要です)。
  • 返されたデータ(タイル)を画面に追加します(これまでのところとても良いです)

マップ上のドラッグ:

  • .post タイルを介して再度読み込みます (ドラッグしたピクセル数に基づきます)
  • データを再度追加します(画面上のタイル)

ゆっくりドラッグするとすべてが機能しますが、狂ったようにドラッグすると、マップがめちゃくちゃになります (すべてのタイルが読み込まれるわけではありません)。

可能であれば、いくつかの例またはソースコードを使用して、より良いアルゴリズムを提供してもらえますか (これら 2 つのゲームのマップについて Google で何も見つかりませんでした)。

json_decode()PS 000webhost.comに私の例を載せようとしましたが、null私の pc では正常に動作する理由がわかりません。

4

2 に答える 2

0

最後に、必要なマップを作成しました。すべてのドラッグ イベントに ajax リクエストを使用しませんでした。マップ データ全体を JavaScript 配列にロードしただけです。

これはプレビューです(画像は私のものではないため、使用することはお勧めしません) タイル ベースのマップ

これがgithubのREPOです

于 2013-04-08T20:12:45.900 に答える
0

これは単なる一般的な考え方です。
ソース コードを提供することはできませんが、やるべきことは非常に単純です。マウスを動かすたびに作成、追加、クリア、再追加す​​るのではなく、「ビューポート」のようなコードを作成する必要があります。したがって、すべてのタイルが事前に設定され、実行時に、-MAP_TILE_SIZE よりも大きく、画面幅 +MAP_TILE_SIZE よりも小さいタイルのみがビューポートに出力されます。

于 2013-02-25T20:49:11.950 に答える