I want to make a multi layer map but can't align to center.

Post your help queries and engine programming questions here

I want to make a multi layer map but can't align to center.

Postby Cipher » Fri May 08, 2015 11:13 am

Hi,

I use example "13.6-texturemaps-load-tiled" to make a multi layers tile map. it is success with tired version, but occur problem with stable-version.

the problem is layers in map can't auto centralize at 0,0.

Here is my code:
Code: Select all
client.js
var Client = IgeClass.extend({
    classId: 'Client',
    init: function () {
    ......
            ige.start(function (success) {
                // Check if the engine started successfully
                if (success) {
                    // Create the scene
                    self.mainScene = new IgeScene2d()
                            .id('mainScene')
                            .translateTo(0, 0, 0)
                            .drawBounds(false)
                            .drawBoundsData(false);

                    self.backScene = new IgeScene2d()
                            .id('backScene')
                            .depth(0)
                            .drawBounds(true)
                            .drawBoundsData(true)
                            .mount(self.mainScene);

                    self.objectScene = new IgeTileMap2d()
                            .id('objectLayer')
                            .depth(1)
                            .isometricMounts(true)
                            .tileWidth(64)
                            .tileHeight(64)
                            .gridSize(4,4)
                            .drawGrid(true)
                            .mount(self.mainScene);

                    // Create the main viewport
                    self.vp1 = new IgeViewport()
                            .id('vp1')
                            .depth(1)
                            .autoSize(true)
                            .scene(self.mainScene)
                            .drawBounds(true)
                            .drawBoundsData(true)
                            .mount(ige);

                    ige.addComponent(IgeTiledComponent)
                        .tiled.loadJson(tilesData, function (layerArray, layersById) {
                            var i, destTileX = -1, destTileY = -1,
                                tileChecker = function (tileData, tileX, tileY) {
                                    // If the map tile data is set, don't path along it
                                    return !tileData;
                                };

                            //background
                            layersById.LayerBackground
                                    .mount(self.backScene);

                            //objects
                            var layerObjects = layersById.LayerObjects.objects;
                            ......
                        });
                }
            });
        });
    }
});

map.json:

var tilesData = {
    "version": 1,
    "tilewidth": 64,
    "tileheight": 64,
    "width": 4,     {# tiled with X #}
    "height": 4,  {# tiled with Y #}
    "orientation": "isometric",
    "properties": {},
    "layers": [
        {
            "name": "LayerBackground",
            "type": "tilelayer",
            "height": 64,
            "width": 64,
            "x": 0,
            "y": 0,
            "opacity": 1,
            "visible": true,
            "data": [
            {% for i in 0..64 %}
                {{ loop.last == false ? "1," : i }}
            {% endfor %}
            ]
        },
        {
            "name": "LayerObjects",
            "type": "objectgroup",
            "opacity": 1,
            "visible": true,
            "x": 0,
            "y": 0,
            "objects": [
                {
                    "name": "obj-space01",
                    "type": "space",
                    "x": 1,
                    "y": 1,
                    "properties": {}
                },
                {
                    "name": "obj-space02",
                    "type": "space",
                    "x": 2,
                    "y": 1,
                    "properties": {}
                },
                {
                    "name": "obj-space03",
                    "type": "space",
                    "x": 1,
                    "y": 2,
                    "properties": {}
                },
                {
                    "name": "obj-space04",
                    "type": "space",
                    "x": 2,
                    "y": 2,
                    "properties": {}
                }
            ]
        }
    ],
    "tilesets": [
        {
            "name": "grassSheet",
            "firstgid": 1,
            "image": "\/res\/tiles\/grass.png",
            "imageheight": 64,
            "imagewidth": 128,
            "tileheight": 64,
            "tilewidth": 128,
            "margin": 0,
            "spacing": 0,
            "properties": {}
        }
    ]
};

Thanks for reading, any guidance or input is appreciated.
Attachments
ScreenShot.png
ScreenShot.png (62.01 KiB) Viewed 5953 times
I bought a license, I should get better service and response.
Cipher
 
Posts: 11
Joined: Fri May 08, 2015 2:59 am
Location: Taiwan, Taipei

Re: I want to make a multi layer map but can't align to cent

Postby Cipher » Mon May 11, 2015 3:00 am

Dear zhoudani,

Thanks your reply.
I use a simple solution to fix the problem. It's not elegant, but work for me.

Code: Select all
in client.js
......
                    ige.addComponent(IgeTiledComponent)
                        .tiled.loadJson(tilesData, function (layerArray, layersById) {
                            //background
                            layersById.LayerBackground
                                    .translateTo(32, 32, 0)    <------here is the adjust. 
                                    .mount(self.backScene);


I wonder it might be a bug...
anyway, thank you again.
I bought a license, I should get better service and response.
Cipher
 
Posts: 11
Joined: Fri May 08, 2015 2:59 am
Location: Taiwan, Taipei


Return to Help & Questions

Who is online

Users browsing this forum: No registered users and 1 guest
cron