/tiled.dart

A Dart Tiled library. Parse your TMX files into useful representations. Compatible with Flame.

Primary LanguageDartMIT LicenseMIT

Tiled Dart

Pub cicd Discord

A Dart Tiled library.

Install from Dart Pub Repository

To include the package as a depencency in your pubspec.yaml, run the following (or add it manually):

dart pub add tiled

Usage

Import the package like this:

    import 'package:tiled/tiled.dart';

Load Tmx Files

Load a TMX file into a string by any means, and then pass the string to TileMapParser.parseXml():

    final String tmxBody = /* ... */;
    final TiledMap mapTmx = TileMapParser.parseTmx(tmxBody);

If your tmx file includes a external tsx reference, you have to add a CustomParser

class CustomTsxProvider extends TsxProvider {
  @override
  Parser getSource(String fileName) {
    final xml = File(fileName).readAsStringSync();
    final node = XmlDocument.parse(xml).rootElement;
    return XmlParser(node);
  }
}

And use it in the parseTmx method

    final String tmxBody = /* ... */;
    final TiledMap mapTmx = TileMapParser.parseTmx(tmxBody, tsx: CustomTsxProvider());

Load Json Files

Alternatively load a json file.

    final String jsonBody = /* ... */;
    final TiledMap mapTmx = TileMapParser.parseJson(jsonBody);

Implementation

For further information and more usage examples, please take a look at the examples in flame_tiled.