LevelManager - Utilisation de base (en cours de rédaction)

 

Tutoriels

 


Objectifs de ce tutoriel

Ce tutoriel va vous présenter plusieurs manières d'afficher une carte issue de Tiled (et exportée en Lua) avec la librairie "LevelManager".

Dans un premier temps, nous allons initialiser la librairie et afficher une carte.
Puis nous allons décaler la carte pour la centrer à l'écran.
Ensuite, nous allons créer un effet de défilement vertical puis horizontal et les deux cumulés.
Vous verrez également comment faire un défilement infini de votre carte.
Nous en profiterons pour aborder la récupération des dimentsions de la carte et comment l'agrandir.

Dans un second temps, vous allez apprendre à manipuler les données des calques : les sauvegarder, les modifier et les restaurer.
Il vous sera aussi présenter la gestion des groupes de calques.

La troisième partie portera sur la modification des tuiles de la cartes : comment la supprimer, la restaurer ou la changer.

Dans un quatrième temps, vous serez initiés à la gestion des objets.
Il existe de nombreuses façons de récupérer les données des objets et cette partie sera axée sur ce point.

Le cinquième et dernier point vous expliquera comment altérer l'opacité des calques, tuiles, objets et groupes de calques.

 

Affichage d'une carte

Nous allons commencer par affiche notre carte, puis nous nous occuper de décaler notre carte pour la center, et enfin nous allons lui appliquer un effet de défilement : d'abord vertical, puis horizontal, ensuite les deux en même temps et enfin, nous allons faire en sorte que notre carte défile de manière infinie.
Le défilement infini est strictement le même pour une image simple ou pour une carte.

 

Initialisation de la librairie

Pour initialiser la librairie LevelManager, vous devez utiliser la ligne de code suivante :

local LevelManager = require("LevelManager").new()

 

IMPORTANT : il ne faut pas oublier d'avoir le .new() à la fin. La fonction new permet de créer les différentes tables nécessaires à son bon fonctionnement.

 

Chargement d'une carte

Dans le code disponible ici (source), vous trouverez une carte déjà préparée. Je vous founis également la carte au format Tiled si vous souhaitez mieux comprendre son interaction.

Par habitude, je mets tous les éléments dont mon jeu a besoin dans un répertoire datas. Si vous mettez la carte dans un autre dossier, n'oubliez pas de changer le chemin ! (^_^)

Voici comment on charge une carte issue de Tiled (exportée en Lua) :

function love.load()
  -- Chargement de la carte
  LevelManager:load("datas/map01")
end

 

Comme vous pouvez le constater, on ne doit pas mettre l'extension .lua lors du chargement du fichier.

Pour plus d'explications, le LevelManager effectue un require sur ce fichier puis le parcoure et remplit les différentes tables dont il a besoin.

 

Affichage de la carte

Aussi simplement que le chargement, l'affichage de la carte est effectué comme ceci :

function love.draw()
  -- Affichage de la carte
  LevelManager:draw()
end

 

Visualiser le résultat

Maintenant, il ne vous reste plus qu'à lancer le jeu et vous devriez obtenir ceci :

Utilisation basqieu - Partie 01 - Résultat

 

 



 

Tutoriels