TiledLevelManager

Licence Creative Commons
Cette librairie est mise à disposition selon les termes de la Licence Creative Commons Attribution 4.0 International.

Merci de simplement ajouter dans vos crédits :

  • mon nom : LACOMBE "Asthegor" Dominique
  • un lien vers mon site : http://larry-games.e-monsite.com/

Sommaire

 

Description

Cette librairie a pour objectif de simplifier le chargement, la modification et l'affichage dans Löve2D des cartes réalisées sous Tiled puis exportées au format Lua.

On peut l'utiliser pour charger une ou plusieurs cartes si nécessaires toujours aussi simplement.

 

Téléchargement

Lien vers la dernière version

 

Liste des fonctions

Retrouvez la liste détaillée des fonctions principales ici : Fonctions du TiledLevelManager

 

Exemples d'utilisation

Téléchargez tous les exemples ci-dessous : Exemples TiledLevelManager

 

Exemple d'un fondu au blanc(fade-in) / fondu au noir (fade-out)

Tiledlevelmanager example fade

 

Affichage d'une carte avec un seul calque de tiles

local tlm = require("TiledLevelManager")
local myMap = {}
function love.load()
  myMap = tlm:new("mymap")
end
function love.draw()
  myMap:draw()
end

 

Affichage de plusieurs cartes

local tlm = require("TiledLevelManager")
local maps = {}
local numMap = 1
function love.load()
  maps[1] = tlm:new("map01")
  maps[2] = tlm:new("map02")
end
function love.keypressed(key, scancode, isrepeat)
  if key == "space" then
    numMap = numMap + 1
    if numMap > #maps then
      numMap = 1
    end
  end
end
function love.draw()
  maps[numMap]:draw()
  love.graphics.printf("Press 'Space' to change the map", 0, love.graphics.getHeight() - 80, love.graphics.getWidth(), "center")
end

 

Déplacement dans une carte avec un seul calque de tiles

local tlm = require("TiledLevelManager")
local myMap = {}
local numRow = 0
local numCol = 0
function love.load()
  myMap = tlm:new("mymap")
end
function love.update(dt)
  local w, h = myMap:getDimensions()
  if love.keyboard.isDown("up") then
    numRow = numRow - 1
    if numRow < 1 then
      numRow = 1
    end
  elseif love.keyboard.isDown("down") then
    numRow = numRow + 1
    if numRow > w then
      numRow = w
    end
  end
  if love.keyboard.isDown("right") then
    numCol = numCol - 1
    if numCol < 1 then
      numCol = 1
    end
  elseif love.keyboard.isDown("left") then
    numCol = numCol + 1
    if numCol > h then
      numCol = h
    end
  end
end
function love.draw()
  myMap:draw(numRow, numCol)
end

 

Limitations

Cette librairie ne gère que les cartes orthogonales.

De plus, le chemin de la carte, rentré en paramètre de la fonction new, ne doit comporter que des / pour séparer les répertoires.
Exemple : tlm:new("levels/map01")

 

Fonctionnalités de Tiled prises en charge

Vous pouvez suivre les évolutions de cette librairie sur Trello : Trello de TiledLevelManager

 

Version 0.7

Toutes les fonctionnalités de la version précédente ainsi que :

  • Groupes
    • Récupération des calques de tuiles et d'images d'un groupe donné et de ses sous-groupes
    • Récupération des objets d'un groupe donné et de ses sous-groupes
  • Tuiles
    • Modifier l'image d'une tuile donnée
    • Restqurer l'image d'origine d'une tuile donnée
    • Restaurer toutes les images d'origine d'un calque de tuiles
    • Stockage du chemin interne (groupes)
  • Images
    • Stockage du chemin interne (groupes)
  • Objets
    • Stockage du chemin interne (groupes)
Version 0.6

Toutes les fonctionnalités de la version précédente ainsi que :

  • Objets
    • Récupération d'un objet à une ligne/colonne donnée
    • Changer l'image d'un objet
    • Restaurer l'image d'origine d'un objet
    • Repositionner les objets à leur position d'origine
  • Tuiles
    • Récupération de l'Id d'une tuile d'un layer donnée à une ligne/colonne donnée
  • Map complète
    • Recharger une map
    • Modifier l'opacité de tous les calques et objets
    • Restaurer l'opacité de tous les calques et objets
Version 0.5

Toutes les fonctionnalités de la version précédente ainsi que :

  • Tilesets
    • Correction d'un bug dans le chemin des images
    • Correction d'un bug dans le calcul du nombre de lignes et colonnes
Version 0.4

Toutes les fonctionnalités de la version précédente ainsi que :

  • Calque de tuile
    • Récupération d'un calque à partir de son nom
    • Récupération, modification et ajustement de l'opacité d'un calque donné
  • Calque d'images
    • Récupération d'un calque à partir de son nom
    • Récupération, modification et ajustement de l'opacité d'un calque donné
  • Calque d'objets
    • Récupération d'un objet à partir de son nom
    • Récupération d'un objet à partir de son type
    • Récupération, modification et ajustement de l'opacité d'un objet donné
Version 0.3

Toutes les fonctionnalités de la version précédente ainsi que :

  • Calques d'objets
    • Opacité
    • Décalage horizontal et vertical
    • Rotations à angle droit (multiple de 90° )
  • Tilesets
    • Rotations à angle droit (multiple de 90° )
Version 0.2

Toutes les fonctionnalités de la version précédente ainsi que :

  • Tilesets
    • Marge
    • Espacement
  • Calques d'images
    • Opacité
    • Décalage horizontal et vertical
Version 0.1
  • Type de carte :
    • Orthogonale
  • Tilesets
    • Multiples tilesets
  • Groupes de calques
    • Décalage horizontal et vertical
    • Opacité 
  • Calques de tuiles
    • Décalage horizontal et vertical
    • Opacité

 

Aucune note. Soyez le premier à attribuer une note !

Date de dernière mise à jour : 16/01/2018