尝试加载TileMap会导致TypeError

时间:2016-11-26 00:17:44

标签: javascript phaser-framework

我一直在尝试将一个tilemap加载到Phaser中,我从Tiled导出为JSON,但是当我添加它时它会导致以下错误:

phaser error

我试图复制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;
&#13;
&#13;

来自Tiled的我的maze.json:https://gist.github.com/spideynn/efe8e787031ffae89ddb354db129fb53

我的tiles.png:http://i.imgur.com/8cw9DcC.png

1 个答案:

答案 0 :(得分:0)

您的tileset的名称是否与您在Tiled中创建tilemap的名称相同?如果在Tiled中,tileset的名称为tiles.png,那么您必须确保在phaser中加载的tileset也具有相同的名称。