問題タブ [isometric]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
546 参照

actionscript-3 - as3isolib:同じIsoViewサイズでズームする方法は?

(開発プラットフォーム:Flex 4)

環境:

  • グリッドサイズ : 64 x 64 セル
  • ビュー: 760 x 600 ピクセル

2 つのズーム レベルが利用可能です。

  • 最小レベル: IsoView にすべてのグリッド (64 x 64 セル) を表示します
  • 最大レベル: IsoView に 16 x 16 セルのみを表示する

どうやってやるの ?

どうもありがとうございました、

よろしく、

アンソニー

0 投票する
2 に答える
2346 参照

math - C# XNA アイソメトリック タイル エンジンの問題

私は現在、等尺性ゲームを開発する必要がある学校のプロジェクトに取り組んでいます。残念ながら、私の先生はゲーム開発について何も知らないので (すでに新しい学校への切り替えに集中しています)、行き詰まっています。

今は簡単にゲーム マップを描くことができますが、そこで止まってしまいます。キャラクターを追加すると、レンダリングされているのがわかりますが、動かすことができません。おそらく、IsoToScreen と ScreenToIso の数学的問題を台無しにしてしまったのでしょう。

キャラクターを 1px だけ動かそうとすると、何らかの理由ですぐに画面から外れてしまいます。

これは、単純な 2D を 2.5D Isometric に変換するために使用する IsoMath クラスです。

}

私の Player クラスは、 Draw(SpriteBatch sp, vector2 playerPostition); を持つ単なるプレースホルダーです。名前が示すように、指定された位置に文字を描画するメソッド (この位置は、メインの Draw メソッドで事前に計算されます)

これが私のキャラクターを画面に描く方法です。固定された x14,y14 位置 (浮動小数点数) で動作しますが、これら 2 つの値のいずれかに 1f を追加すると、文字がどこにも見つかりません。

そして、(キャラクターが描画される前に) 次のコードを使用してマップをレンダリングします。大規模な if ステートメントは、画面のタイルをカリングするためのものです。

十分な情報が提供されていないと思われる場合は、ここ (1.13Mb) をクリックして、プロジェクト全体の zip アーカイブをダウンロードできます。

0 投票する
3 に答える
5454 参照

javascript - 2Dアイソメトリックグリッドでクリック検出?

私は何年もの間 Web 開発を行ってきましたが、ゆっくりとゲーム開発に関与するようになりました。現在のプロジェクトでは、このアイソメトリック マップがあり、アルゴリズムを使用してどのフィールドがクリックされているかを検出する必要があります。ちなみに、これはすべてJavascriptを使用したブラウザにあります。

マップこの
ように見えます。フィールド (タイル) の構造とそれらの ID を示すためにいくつかの数字を追加しました。すべてのフィールドには中心点 (x、y の配列) があり、描画時の 4 つのコーナーの基になります。 ご覧のとおり、これはひし形ではなく、ジグザグ マップであり、角度がありません (上から見た図)。これが、すべての記事と計算が通常ひし形に基づいていることを考えると、自分で答えを見つけることができない理由です。角度付き。

数字
これはダイナミック マップであり、すべてのサイズと数字を変更して新しいマップを生成できます。
大量のデータではないことはわかっていますが、マップはマップとフィールド サイズに基づいて生成されます。
- マップ サイズ: x:800 y:400
- フィールド サイズ: 80x80 (コーナー間)
- すべてのフィールドの中心位置 (x,y)

目標
特定のイベント (クリック、移動など) でマウスがどのフィールドにあるかをクライアント (ゲーム) に伝えるアルゴリズムを考え出すこと。

免責事項
私はすでに自分で実用的な解決策を思いついたことを述べたいと思いますが、より良い方法でそれを書くことができると100%確信しています(私の解決策にはネストされたif文とループがたくさん含まれています)、そしてそれが私がここで尋ねる理由です。

これは私の解決策の例です。基本的に、最も近い4つの既知の位置にコーナーがある正方形を見つけ、次に最も近い2つのフィールド間の最小の正方形に基づいて結果を取得しますそれは意味がありますか?

私が何かを逃したかどうか尋ねてください。

0 投票する
2 に答える
710 参照

html - 一連のアイソメトリックな敵を正しい順序で描画するか、汚い長方形を処理しますか?

私の... うーん... Z インデックス (悪いしゃれ、すぐに理由がわかります) が間違った順序になっていることを確認するために誰かが私を助けることができるかどうか疑問に思っています。私はこれを数時間続けてやっていますが、私の目はバグっています - しかし - スタックに一晩質問を残しておくと、これを正しい方向に進めるのに役立つかもしれません.

私はhttps://github.com/AlexChesser/jsSpriteのコードに取り組んでおり、6 回目のテストまで進んでいます。W キーを使用して実行し、A と D を使用して左右に回転します: http://chesser.ca/jsSprite/06-brainnsss....php (Gettit? Z-Index?! 陽気です)。

とにかく、ちょっと画面を走り回ってみればわかると思います。個々のゾンビの白い四角/汚れた四角形は、他のゾンビの四角と重なっています。複数のスプライトが重なっている場合、他のスプライトを乱すことなくすべてのスプライトが描画されるようにするにはどうすればよいでしょうか?

(z はゾンビ用ですが、z インデックスは、CSS でオーバーラップを処理する場合のようです。おそらく、何時間もコーディングを続けていると、もっと面白くなります)。

あなたのBrainsssをありがとう......

0 投票する
1 に答える
1360 参照

c# - c# 平行四辺形への画像変換

簡単な質問で、おそらく簡単な答えです。私は正方形の画像を持っていますが、平行四辺形になるようにつぶしたいです (これは、いくつかの立方体を等角的に描画できるようにするためです)

Image現在、画像をクラスに保存しています。

0 投票する
1 に答える
1156 参照

c++ - DirectX 10 でアイソメ タイル マップを作成するために多数の (500 以上の) スプライトを描画するにはどうすればよいですか?

そこで、私は DirectX に関する本 (特に 10 冊) を何冊か読んで、それを使用するゲームを作成しようとしていますが、どの本にも言及されていないように見える問題に悩まされています。スプライトを使用してアイソメトリック マップを作成すると、ボードが大きくなるにつれて、プログラムの速度が劇的に低下します。各タイルは 64x45 で、スプライトを使用して 36x19 (684) のタイル マップを構築するまでに、アプリケーションのロードに約 6 秒、各フレーム間に約 5 秒かかります。ブレークポイントを使用したデバッグでは良い手がかりが得られなかったので、現在のコードで問題がこの特定のセクションにある領域を絞り込みました。

どんな助けでも大歓迎です。

0 投票する
1 に答える
1182 参照

actionscript-3 - 等角長方形のグリッドで列と行の番号を計算する

as3isolib に基づいてアイソメトリック Flash ゲームを拡張しようとしています。このゲームはひし形のグリッドのみをサポートしていますが、長方形のグリッドも実装できるようにする必要があります。私の例の gridを見てください。

私はすでにグリッドを作成することができました。コードは次のとおりです。

20pxのセルサイズ (等角の幅と長さ) の場合、上記のグリッド セルの等角位置は次のようになります。

  • [データノード (列:0, 行:0, x:0, y:0)]
  • [データノード (列:0, 行:1, x:20, y:0)]
  • [データノード (列:0, 行:2, x:20, y:20)]
  • [データノード (列:0, 行:3, x:40, y:20)]
  • [データノード (列:0, 行:4, x:40, y:40)]
  • [データノード (列:0, 行:5, x:60, y:40)]
  • [データノード (列:0, 行:6, x:60, y:60)]
  • [データノード (列:1, 行:0, x:20, y:-20)]
  • [データノード (列:1, 行:0, x:20, y:-20)]
  • [データノード (列:1, 行:1, x:40, y:-20)]
  • [データノード (列:1, 行:2, x:40, y:0)]
  • [データノード (列:1, 行:3, x:60, y:0)]
  • [データノード (列:1, 行:4, x:60, y:20)]
  • [データノード (列:1, 行:5, x:80, y:20)]
  • [データノード (列:1, 行:6, x:80, y:40)]
  • [データノード (列:2, 行:0, x:40, y:-40)]
  • [データノード (列:2、行:1、x:60、y:-40)]
  • [データノード (列:2, 行:2, x:60, y:-20)]
  • [データノード (列:2、行:3、x:80、y:-20)]
  • [データノード (列:2、行:4、x:80、y:0)]
  • [データノード (列:2、行:5、x:100、y:0)]
  • [データノード (列:2, 行:6, x:100, y:20)]

問題は、グリッドが菱形のようにすべてのオブジェクトとアバターがまだ配置されていることです。これは、等角の x/y 位置に基づいて列と行の番号を計算する式がダイヤモンド グリッドに対してのみ機能するためです。

長方形のグリッドの式がどうあるべきか知っている人はいますか?

0 投票する
1 に答える
2733 参照

android - Android のアイソメ タイル マップ

Androidでアイソメタイルマップを使用する方法を知りたいと思っていました。

Orthographic マップを作成するには、Tile Map Editor と libigdx を使用できますが、libigdx はアイソメ マップをサポートしていません。

CityVille やタワー ディフェンス ゲームで使用されているようなタイルを作成したかったのですが、どうすればよいでしょうか??