Skip to content

Defined in: packages/three-flatland/src/loaders/TiledLoader.ts:166

Loader for Tiled JSON format (.tmj/.json).

Extends Three.js’s Loader class for compatibility with R3F’s useLoader. Supports:

  • Standard JSON map format
  • Embedded and external tilesets
  • Tile layers with data arrays
  • Infinite maps with chunks
  • Object layers
  • Tile animations
  • Tile collision data
// Three.js usage - static API
const mapData = await TiledLoader.load('/maps/level1.json')
// Override for this load
const mapData = await TiledLoader.load('/maps/hd-level.json', { texture: 'smooth' })
// R3F usage - works with useLoader
import { TiledLoader } from 'three-flatland/react';
const mapData = useLoader(TiledLoader, '/maps/level1.json');
// Override preset via extension
const mapData = useLoader(TiledLoader, '/maps/hd-level.json', (loader) => {
loader.preset = 'smooth';
});
// Set loader-level default
TiledLoader.options = 'pixel-art'

new TiledLoader(manager?): TiledLoader

Defined in: three.js/loaders/Loader:TiledLoader 

LoadingManager 

TiledLoader

Loader<TileMapData>.constructor

crossOrigin: string

Defined in: three.js/loaders/Loader:crossOrigin 

'anonymous'

Loader.crossOrigin


forceRuntime: boolean = false

Defined in: packages/three-flatland/src/loaders/TiledLoader.ts:200

Generate this tilemap’s tileset normal maps in the browser on every load instead of loading pre-baked sidecars. The in-memory bake runs on every load; sidecar probes and “no baked sibling” warns are skipped. Not a dev-iteration knob. See BakedAssetLoaderOptions.forceRuntime.


manager: LoadingManager 

Defined in: three.js/loaders/Loader:manager 

Loader.manager


normals: TiledNormalsOption = false

Defined in: packages/three-flatland/src/loaders/TiledLoader.ts:191

Normal-map generation. See TiledLoaderOptions.normals.


path: string

Defined in: three.js/loaders/Loader:path 

''

Loader.path


preset: TexturePreset | TextureOptions | undefined = undefined

Defined in: packages/three-flatland/src/loaders/TiledLoader.ts:186

Instance-level preset override. Set via R3F’s useLoader extension callback.

const mapData = useLoader(TiledLoader, '/maps/level.json', (loader) => {
loader.preset = 'smooth';
});

requestHeader: object

Defined in: three.js/loaders/Loader:requestHeader 

[header: string]: string

{}

Loader.requestHeader


resourcePath: string

Defined in: three.js/loaders/Loader:resourcePath 

''

Loader.resourcePath


withCredentials: boolean

Defined in: three.js/loaders/Loader:withCredentials 

false

Loader.withCredentials


static DEFAULT_MATERIAL_NAME: string

Defined in: three.js/loaders/Loader:DEFAULT_MATERIAL_NAME 

Loader.DEFAULT_MATERIAL_NAME


static options: TexturePreset | TextureOptions | undefined = undefined

Defined in: packages/three-flatland/src/loaders/TiledLoader.ts:173

Texture options for this loader class. When undefined, falls through to TextureConfig.options.

abort(): this

Defined in: three.js/loaders/Loader:abort 

this

Loader.abort


load(url, onLoad, onProgress?, onError?): void

Defined in: three.js/loaders/Loader:load 

string

(data) => void

(event) => void

(err) => void

void

Loader.load


loadAsync(url): Promise<TileMapData>

Defined in: packages/three-flatland/src/loaders/TiledLoader.ts:206

Load a Tiled map asynchronously (for R3F useLoader compatibility). Presets are automatically applied.

string

Promise<TileMapData>

Loader.loadAsync


setCrossOrigin(crossOrigin): this

Defined in: three.js/loaders/Loader:setCrossOrigin 

string

this

Loader.setCrossOrigin


setPath(path): this

Defined in: three.js/loaders/Loader:setPath 

string

this

Loader.setPath


setRequestHeader(requestHeader): this

Defined in: three.js/loaders/Loader:setRequestHeader 

this

Loader.setRequestHeader


setResourcePath(resourcePath): this

Defined in: three.js/loaders/Loader:setResourcePath 

string

this

Loader.setResourcePath


setWithCredentials(value): this

Defined in: three.js/loaders/Loader:setWithCredentials 

boolean

this

Loader.setWithCredentials


static clearCache(): void

Defined in: packages/three-flatland/src/loaders/TiledLoader.ts:644

Clear the cache.

void


static load(url, options?): Promise<TileMapData>

Defined in: packages/three-flatland/src/loaders/TiledLoader.ts:223

Load a Tiled JSON map (static method for Three.js usage). Results are cached by URL and resolved options.

string

TiledLoaderOptions

Promise<TileMapData>


static preload(urls, options?): Promise<TileMapData[]>

Defined in: packages/three-flatland/src/loaders/TiledLoader.ts:651

Preload multiple maps.

string[]

TiledLoaderOptions

Promise<TileMapData[]>