我一直在尝试将一个tilemap加载到Phaser中,我从Tiled导出为JSON,但是当我添加它时它会导致以下错误:
我试图复制Phaser示例并更改字符串以匹配我的文件,看看它是否是我做错了 - 仍然没有用。
代码:
window.onload = function() {
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phasergame', {preload: preload, create: create, update: update, render: render });
var map;
var layer;
function preload() {
game.load.tilemap('map', 'assets/tilemap/maze.json', null, Phaser.Tilemap.TILED_JSON);
game.load.image('tiles', 'assets/tilemap/tiles.png');
}
function create() {
map = game.add.tilemap('map');
map.addTilesetImage('tiles',tiles);
layer = map.createLayer('Walls');
layer.resizeWorld();
}
function update() {}
function render() {}
};

body {
background: black;
margin: 0;
padding: 0;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/phaser/2.6.2/phaser.js"></script>
&#13;
来自Tiled的我的maze.json:https://gist.github.com/spideynn/efe8e787031ffae89ddb354db129fb53
我的tiles.png:http://i.imgur.com/8cw9DcC.png
答案 0 :(得分:0)
您的tileset的名称是否与您在Tiled中创建tilemap的名称相同?如果在Tiled中,tileset的名称为tiles.png
,那么您必须确保在phaser中加载的tileset也具有相同的名称。