サイド スクローラーの SKTileMapNode に衝突検出を追加する推奨される方法は何ですか?
地面として使用するタイルが 1 つだけの単純なタイルマップがあるとします。プレイヤー スプライトが塗りつぶされた地面タイルの 1 つに着地したことをどのように検出できますか?
サイド スクローラーの SKTileMapNode に衝突検出を追加する推奨される方法は何ですか?
地面として使用するタイルが 1 つだけの単純なタイルマップがあるとします。プレイヤー スプライトが塗りつぶされた地面タイルの 1 つに着地したことをどのように検出できますか?
これが機能するかどうかは完全にはわかりませんが、SKTileMapNode の各タイルにノードを追加し、その上にあるテクスチャ コンポーネントに基づいて、適切な形状の物理ボディを与え、そのテクスチャに一致するように設定できるようです。
ここに誰かがこのようなことを試みています:
https://forums.developer.apple.com/thread/50043
あなたはそれを求めませんが、より大きな粒度 (例えば、部分的に覆われており、傾斜した物理床要素が必要なタイル) については、これが開始する場所になるようです:
https://developer.apple.com/reference/spritekit/sktiledefinition
しかし、タイル マップの任意のタイルにテクスチャのどの部分があるかを正確に知る方法が見つかりません。これを行う方法があるはずですが、私はそれをよく見ていません。