Hello,
when I was implementing a zooming function to our game yesterday I noticed a pretty strange behaviour of my tile drawing function. Every other time I call it, it somehow magically reverses the draw order. Any idea on what might be causing this? I am posting condensed bits of code below, all the tiles are generated by the same factory and (I guess) in the same order.
function render_tiles(self)
go.delete_all(self.rendered_tiles)
for k,v in pairs(self.rendered_tiles) do self.rendered_tiles[k]=nil end
for h=1, self.tilemap_height, 1 do
for w=1, self.tilemap_width, 1 do
local tile_pos = vmath.vector3(w,h,0)local tile_offset = vmath.vector3() tile_offset.x = tonumber(self.tilemap()["tilesets"][tileset]["tileoffset"]["x"]) tile_offset.y = tonumber(self.tilemap()["tilesets"][tileset]["tileoffset"]["y"]) local pixel_pos = coords_to_pixel(self, tile_pos, tile_offset) local tile = factory.create("#tileFactory", vmath.vector3(pixel_pos.x, pixel_pos.y, 0), nil, {}, self.scale_level) table.insert(self.rendered_tiles, tile) end
end
end
Here is an example of the odd behaviour
Thanks!