Jump to content

Load Tileman Json


Recommended Posts

This is my first time using Phaser, so I may come off as a total noob lol.


I copied the source from the Load Tilemap Json example(Super Mario tilemap).


I only changed a few things; the path to the two files and the div that the game loads into.


The game loads up, but it only shows the gray background set with game.stage.backgroundColor.




I get this error:

Uncaught TypeError: Object #<Object> has no method 'addTilesetImage'

var game = new Phaser.Game(800, 600, Phaser.AUTO, 'mapPhaser', { preload: preload, create: create });function preload() {    //  Tilemaps are split into two parts: The actual map data (usually stored in a CSV or JSON file)     //  and the tileset/s used to render the map.    //  Here we'll load the tilemap data. The first parameter is a unique key for the map data.    //  The second is a URL to the JSON file the map data is stored in. This is actually optional, you can pass the JSON object as the 3rd    //  parameter if you already have it loaded (maybe via a 3rd party source or pre-generated). In which case pass 'null' as the URL and    //  the JSON object as the 3rd parameter.    //  The final one tells Phaser the foramt of the map data, in this case it's a JSON file exported from the Tiled map editor.    //  This could be Phaser.Tilemap.CSV too.    game.load.tilemap('mario', 'assets/super_mario.json', null, Phaser.Tilemap.TILED_JSON);    //  Next we load the tileset. This is just an image, loaded in via the normal way we load images:    game.load.image('tiles', 'assets/super_mario.png');}var map;var layer;function create() {    game.stage.backgroundColor = '#787878';    //  The 'mario' key here is the Loader key given in game.load.tilemap    map = game.add.tilemap('mario');    //  The first parameter is the tileset name, as specified in the Tiled map editor (and in the tilemap json file)    //  The second parameter maps this name to the Phaser.Cache key 'tiles'    map.addTilesetImage('SuperMarioBros-World1-1', 'tiles');    //The line above is triggering the error.        //  Creates a layer from the World1 layer in the map data.    //  A Layer is effectively like a Phaser.Sprite, so is added to the display list.    layer = map.createLayer('World1');    //  This resizes the game world to match the layer dimensions    layer.resizeWorld();}

Thanks for reading.

Link to comment
Share on other sites

Thanks for the reply, Rich!

I figured out what the problem was. I was using an older version of Phaser. The phaser.min.js file used in the tutorial is v1.1.3 and I had used it instead of v2.0.0.

Simple mistake on my end. 

Awesome framework by the way, this is some great stuff! :D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...