問題タブ [sktilemapnode]
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.
ios - ダンジョン生成アルゴリズムが望ましくない結果を生成しています
SpriteKit を使用して Swift for iOS でダンジョンを生成するアルゴリズムを作成しました。コードは期待どおりに機能し、4 つの辺を持つ正多角形を生成します。しかし、8 方向の隣接グループに切り替えると、ジェネレーターがおかしくなり始めます。
部屋と廊下を表すために使用される 1 つのタイルのスクリーンショットを含むダンジョンを生成するコードを次に示します。
このコードは、次のような基本的で見栄えの良いダンジョンを生成します。
テクスチャ マップを生成したいので、Aseprite でいくつかのタイルを作成しました。それらをマップにロードできるように、それらを 8 方向の隣接グループに入れました。ビルドして実行すると、コードは通常の 4 辺ポリゴンを生成しなくなりました。望ましくない結果が得られ始めます。
お互いの廊下にほとんどつながっているが途切れてしまう廊下のように:
そして不規則な形の部屋:
これらは、コードを実行するたびに生成されます。単一のタイルの代わりに 8 方向の隣接グループを使用した場合にのみ発生するようです。
コード自体に問題はないようです。タイル グループを追加すると、めちゃくちゃになります。私の望む結果は、互いにつながる廊下のある長方形の部屋です。タイル グループがこれを台無しにするのはなぜですか? どうすれば修正できますか?
これは、アルゴリズムが何をしていて、どのようにそれを行っているかを説明する記事です。
swift - enableAutomapping と SKTileMapNode:プログラムでエッジを持つ形状を作成しますか?
RPG スタイルのゲームで、ダイアログ テキスト用に柔軟なダイアログ ボックスをプログラムで作成しようとしています。シンプルなボックス グラフィックを設計し、それをすべての適切なパーツに分割し、8 ウェイ隣接グループとしてタイル セットに追加しました。
カメラ ノードに正常に追加できますが、自動マッピングが機能しません。私が得たのは、中央のタイルで構成された真っ黒なボックスだけです。Apple のドキュメントによると、enableAutomapping は「タイル マップがシーン エディターのような自動マッピング動作を使用するかどうかを指定する」ため、この設定が役立つと思います。
中央のタイルのみが選択され、すべてのエッジ/コーナーが無視され、真っ黒なボックスが表示されます。私が探している動作は、作成している形状に応じて SpriteKit が適切なエッジと内部タイルを選択することです。
これが私のコード(Swift 4.2)が現在どのように見えるかです: