Что нужно в Tiled

Один тайлсет, слой земли и отдельный слой коллизий либо свойство тайлов collides. Не рисуйте коллизию тем же слоем, что декор: тогда либо герой упирается в траву, либо проваливается в ящик.

Карту экспортируйте JSON. В Phaser грузите тайлсет-картинку и JSON в preload.

Сборка в create

Базовый каркас такой: this.make.tilemap({ key }), addTilesetImage, createLayer. Затем пометьте тайлы: layer.setCollisionByProperty({ collides: true }) или по индексу.

Игрок — спрайт Arcade Physics. Связка мира и карты: this.physics.add.collider(player, layer). Без этой строки tilemap просто картинка.

Камера

После карты вызовите this.cameras.main.setBounds(0, 0, map.widthInPixels, map.heightInPixels) и startFollow за игроком. Иначе камера уедет в пустоту, а коллизии останутся на месте — отладка превращается в угадайку.

Частые дыры

Тайлсет подключён не тем именем, что в Tiled. Слой создан, но collision не выставлен. Тело игрока больше спрайта и цепляет соседний тайл. Карта в пикселях не кратна тайлу — тогда край уровня «плывёт».

Для платформера проверьте tileBias и скорость падения. При огромной гравитации Arcade проскакивает тонкий пол — режется maxSpeed или толщина коллизионного слоя.

Объекты с карты

Точки спавна берите из object layer, не хардкодьте координаты. Так дизайнер двигает героя в Tiled, а вы только читаете map.getObjectLayer.