Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.12.0

tiled

Uma biblioteca Dart Tiled. Analise seus arquivos TMX em representações úteis. Compatível com Flame.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
15,2 mil
Curtidas
33
Pontos Pub
150

Instalar pacote

flutter pub add tiled

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O pacote tiled é uma biblioteca Dart para analisar arquivos TMX do editor de mapas Tiled, convertendo-os em dados estruturados utilizáveis no desenvolvimento de jogos. Integra-se perfeitamente com o motor de jogos Flame, permitindo que os desenvolvedores carreguem e renderizem mapas de tiles de forma eficiente em múltiplas plataformas. O pacote suporta várias funcionalidades do Tiled, como camadas, objetos e tilesets, tornando-o ideal para jogos 2D. Com APIs limpas e intuitivas, simplifica a integração de mapas sem exigir manipulação manual dos dados.

Casos de uso

  • Carregando mapas de tile 2D em jogos
  • Integrando mapas Tiled com o engine Flame
  • Renderização de níveis de jogo em camadas
  • Manipulando objetos de colisão a partir de arquivos TMX
  • Construindo jogos de plataforma ou quebra-cabeças

Principais recursos

  • Suporta análise de arquivos TMX
  • Compatível com o engine de jogo Flame
  • Suporte multiplataforma
  • Gerencia conjuntos de tiles e camadas
  • Fornece dados de objeto e colisão

Indicado para

  • Desenvolvedores de jogos 2D usando Flame
  • Usuários de mapa Tiled procurando integração com Dart
  • Projetos de jogos multiplataforma
  • criadores de jogos independentes
  • Prototipagem de jogos

Considerações

  • Requer arquivos de mapa Tiled no formato TMX
  • Limitado a casos de uso de mapa de tile 2D
  • Dependente do Flame para renderização completa
  • Sem suporte direto para plugins personalizados do Tiled

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Tiled Dart

Pub cicd Discord

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):

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 TiledMap.parseTmx():

    final String tmxBody = /* ... */;
    final TiledMap mapTmx = TiledMap.parseTmx(tmxBody);
Load Json Files

Alternatively load a json file with TiledMap.parseJson():

    final String jsonBody = /* ... */;
    final TiledMap mapJson = TiledMap.parseJson(jsonBody);
External Files

If your map references external files, like external tilesets (.tsx) or object templates (.tx), you have to pass one or more ParserProviders that resolve these files. Every time the parser encounters a reference to an external file, the first provider that canProvide the referenced path is asked for a Parser of its contents through getSource.

The path is always relative to the map file, also for files referenced from other external files, so a single provider can resolve any number of files, for example everything below a directory:

class DirectoryProvider extends ParserProvider {
  final String root;

  DirectoryProvider(this.root);

  @override
  bool canProvide(String path) => File('$root/$path').existsSync();

  @override
  Parser getSource(String path) {
    return Parser.fromString(File('$root/$path').readAsStringSync());
  }
}

Parser.fromString creates an XmlParser or a JsonParser depending on the contents. Every file is requested at most once per parsed map.

Objects that use a template inherit every value they do not specify themselves from the object of the template, and their gid is translated to the tilesets of the map. When the map does not contain the tileset of the template it is added to TiledMap.tilesets, like Tiled does when loading the map.

The providers are passed to parseTmx or parseJson:

    final TiledMap mapTmx = TiledMap.parseTmx(
      tmxBody,
      providers: [DirectoryProvider('assets/tiles')],
    );
Loading External Files Asynchronously

When the external files can only be loaded asynchronously, for example from an asset bundle, use TiledMap.fromString instead. It parses either tmx or json and loads every referenced file, also the ones referenced from other external files, with the given loader before returning the map:

    final TiledMap map = await TiledMap.fromString(
      contents,
      (path) => rootBundle.loadString('assets/tiles/$path'),
    );
Implementation

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

Categorias

Dependências

Lista de dependências 4 itens

Repositório-fonte

Projetos que usam este pacote