Skip to content

Defined in: packages/three-flatland/src/loaders/LDtkLoader.ts:209

Loader for LDtk JSON format.

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

  • Single level or multi-level projects
  • Tile layers (Tiles, AutoLayer, IntGrid)
  • Entity layers
  • IntGrid collision data
  • Tile flip flags
  • Custom field data
// Three.js usage - static API
const mapData = await LDtkLoader.load('/maps/world.ldtk', 'Level_0')
// Override for this load
const mapData = await LDtkLoader.load('/maps/world.ldtk', 'Level_0', { texture: 'smooth' })
// R3F usage - works with useLoader (loads first level)
import { LDtkLoader } from 'three-flatland/react';
const mapData = useLoader(LDtkLoader, '/maps/world.ldtk');
// Override preset via extension
const mapData = useLoader(LDtkLoader, '/maps/world.ldtk', (loader) => {
loader.preset = 'smooth';
loader.levelId = 'Level_1'; // Specify level to load
});
// Set loader-level default
LDtkLoader.options = 'pixel-art'

new LDtkLoader(manager?): LDtkLoader

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

LoadingManager 

LDtkLoader

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/LDtkLoader.ts:249

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.


levelId: string | number | undefined = undefined

Defined in: packages/three-flatland/src/loaders/LDtkLoader.ts:235

Level ID to load (for R3F useLoader). If undefined, loads the first level.

const mapData = useLoader(LDtkLoader, '/maps/world.ldtk', (loader) => {
loader.levelId = 'Level_1';
});

manager: LoadingManager 

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

Loader.manager


normals: LDtkNormalsOption = false

Defined in: packages/three-flatland/src/loaders/LDtkLoader.ts:240

Normal-map generation. See LDtkLoaderOptions.normals.


path: string

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

''

Loader.path


preset: TexturePreset | TextureOptions | undefined = undefined

Defined in: packages/three-flatland/src/loaders/LDtkLoader.ts:222

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


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/LDtkLoader.ts:216

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/LDtkLoader.ts:255

Load an LDtk level asynchronously (for R3F useLoader compatibility). Presets and levelId are automatically applied from instance properties.

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/LDtkLoader.ts:718

Clear the cache.

void


static getLevelIds(url): Promise<string[]>

Defined in: packages/three-flatland/src/loaders/LDtkLoader.ts:710

Get all level identifiers from a project.

string

Promise<string[]>


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

Defined in: packages/three-flatland/src/loaders/LDtkLoader.ts:271

Load a single level from an LDtk project (static method for Three.js usage).

string

string | number

LDtkLoaderOptions

Promise<TileMapData>


static loadProject(url): Promise<LDtkProject>

Defined in: packages/three-flatland/src/loaders/LDtkLoader.ts:299

Load the LDtk project file.

string

Promise<LDtkProject>