Phaser 3加载Tiled交错六边形地图出现偏移错位问题求助
Phaser 3加载Tiled交错式六边形地图偏移问题求助

我正在开发一款使用Tiled制作的六边形(交错式)地图的Phaser 3游戏。但将地图加载到Phaser后,瓦片布局出现偏移,部分坐标缺失或错位,顶部行完全无法正常显示。
Tiled地图配置
- 方向:六边形(交错式)
- 交错轴:Y
- 交错索引:Even(偶数)
- 瓦片宽/高:64
- 六边形边长:32
- 地图尺寸:宽16,高10
已验证内容
- JSON加载正常(
map.width、map.height数值正确) - 瓦片宽/高及六边形边长与Tiled设置一致
- 地图方向和交错轴参数符合预期
请问有人能指出问题所在吗?是否有遗漏的配置或其他加载方式?
Phaser加载代码
export async function setupMap(scene: Phaser.Scene) { const map = scene.make.tilemap({ key: "hexmap" }); // Dynamically add all tilesets from the map const layers: Record<string, Phaser.Tilemaps.TilemapLayer> = {}; map.tilesets.forEach((ts) => { const tileset = map.addTilesetImage(ts.name, ts.name); if (!tileset) throw new Error(`Tileset not found: ${ts.name}`); }); // Auto-create layers map.layers.forEach((layerData) => { const layer = map.createLayer(layerData.name, map.tilesets, 0, 0); if (!layer) throw new Error(`Failed to create layer: ${layerData.name}`); layers[layerData.name] = layer; }); map.layers.forEach((layerData) => { const layer = layers[layerData.name]; layer.forEachTile((tile) => { tile.pixelY -= map.hexSideLength / 2; }); }); scene.cameras.main.setBounds(0, 0, map.widthInPixels, map.heightInPixels); return { map, layers }; }
内容的提问来源于stack exchange,提问作者Kam
相关产品推荐
相关产品推荐

