Skip to main content

Standalone parser/loader for tilemap-editor JSON maps and sprite animation JSON.

Project description

tilemap-parser

Standalone parser/loader package for map JSON produced by tilemap-editor plus sprite animation JSON.

Install

pip install -e .

Load map + inspect layers

from tilemap_parser import load_map

data = load_map("assets/maps/level_1.json")

layers = data.get_layers(sort_by_zindex=True)
for layer in layers:
    print(layer.id, layer.name, layer.layer_type, layer.z_index, layer.properties)

Tile image fetch API (variant + tileset)

tile_surface = data.get_image(variant=12, ttype=0)
tile_surface2 = data.get_tile_surface(0, 12)
cell_surface = data.get_tile_surface_at("Ground", 10, 4)

Raw payload access for debugging

raw = data.get_raw()

get_raw() returns a deep-copied complete parsed root payload (including editor/project fields), so callers can inspect everything safely.

Animation loading + playback helper

from tilemap_parser import SpriteAnimationSet, AnimationPlayer

anim_set = SpriteAnimationSet.load("assets/anims/hero.anim.json")
player = AnimationPlayer(anim_set, "idle")

player.update(16.67)
frame_surface = player.get_current_image()

Optional renderer for tile layers

import pygame
from tilemap_parser import TileLayerRenderer, load_map

data = load_map("assets/maps/level_1.json")
renderer = TileLayerRenderer(data)
renderer.warm_cache()

screen = pygame.display.set_mode((1280, 720))
stats = renderer.render(screen, camera_xy=(camera_x, camera_y))

The renderer pre-indexes tile layers as dict[layer_id, layer], sorts by z_index, ignores object layers, and caches (tileset, variant) cell surfaces to reduce repeated subsurface extraction.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tilemap_parser-2.0.3.tar.gz (38.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tilemap_parser-2.0.3-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

Details for the file tilemap_parser-2.0.3.tar.gz.

File metadata

  • Download URL: tilemap_parser-2.0.3.tar.gz
  • Upload date:
  • Size: 38.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for tilemap_parser-2.0.3.tar.gz
Algorithm Hash digest
SHA256 ebf7505c4f5795f2980d054361d27a6313b6636d798a35bdb2085e82eb3b1fae
MD5 0c08bb6cc883d22b4ecbef38bbab1cf9
BLAKE2b-256 a21e2a81e1dab7e85232b15540fe429b51485b7ca6ae2bc618ddbb1749501860

See more details on using hashes here.

File details

Details for the file tilemap_parser-2.0.3-py3-none-any.whl.

File metadata

  • Download URL: tilemap_parser-2.0.3-py3-none-any.whl
  • Upload date:
  • Size: 35.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for tilemap_parser-2.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3264b958309ef110fca63f37880f46b94382b8946787bd585b280fb0acf54d58
MD5 18c3a928aa307caeff8464c6eece5f71
BLAKE2b-256 aeadab3a13bf60ccde0cb871a3e3729fc5c457413d2865949f25caa3d458ab0d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page