An open API service indexing awesome lists of open source software.

https://github.com/flame-engine/tiled.dart

A Dart Tiled library. Parse your TMX files into useful representations. Compatible with Flame.
https://github.com/flame-engine/tiled.dart

dart flame flutter game hacktoberfest tile tiled tiles tmx

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# Tiled Dart

[![Pub](https://img.shields.io/pub/v/tiled.svg?style=popout)](https://pub.dartlang.org/packages/tiled) ![cicd](https://github.com/flame-engine/tiled.dart/workflows/cicd/badge.svg?branch=main&event=push) [![Discord](https://img.shields.io/discord/509714518008528896.svg)](https://discord.gg/pxrBmy4)

A Dart Tiled library.

## Install from Dart Pub Repository

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

```sh
dart pub add tiled
```

## Usage

Import the package like this:

```dart
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():

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

If your tmx file includes an external tsx reference, you have to add a CustomParser
```dart
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
```dart
final String tmxBody = /* ... */;
final TiledMap mapTmx = TileMapParser.parseTmx(tmxBody, tsx: CustomTsxProvider());

```

### Load Json Files
Alternatively load a json file.
```dart
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](https://github.com/flame-engine/flame_tiled).