Une zone de checkpoint permet de faire une sauvegarde quand un des joueurs passe dessus.

Pour créer une, une utilise la commande
createCheckpointZone(levelGrp, Vector2D(296, 183), Vector2D(67, 143))

avec les Vector2D qui sont comme d'hab la position puis la taille de la zone

Pour ajouter une porte et un bouton, c'est

local button = createOnOffButton(levelGrp, Vector2D(400, 96), nil)
local door = doorCreate(levelGrp, Vector2D(229, 41), Vector2D(25, 115))
createDoorButton(door, button, false)
Vous l'aurez deviné, le premier vecteur est la poosition du bouton. Sur la deuxième ligne c'est la position et la taille de la porte.
La troisième ligne est importante : elle permet de "connecter" le bouton et la porte.

Pour ajouter un bouton timer et une porte :

local button = createTimerButton(levelGrp, Vector2D(440, 96), 10, nil)
local door = doorCreate(levelGrp, Vector2D(459, 947), Vector2D(25, 116))
createDoorButton(door, button, false)

ici, 10 représente le temps d'activation du bouton

Les murs de base // /!\ La syntaxe a changé. L'ancienne marce toujours mais la nouvelle est plus simple

createWall(levelGrp, Vector2D(1396, 921), Vector2D(56, 169))

Les murs laissant passer que la bombe

local ph = createWall(levelGrp, Vector2D(829, 211), Vector2D(28, 86))
wallEnableBombePass(ph, true)

Note: même si le joueur ne peu pas passer à travers le trou (trop petit), il faut quand même créer un mur car après il y aura un design (animation) avec.

Les murs ne laissant passer que le joueur

local ph = createWall(levelGrp, Vector2D(829, 211), Vector2D(28, 86))
wallEnablePlayerPass(ph, true)

Les murs qui font rebondir la bombe

local ph = createWall(levelGrp, Vector2D(829, 211), Vector2D(28, 86))
wallEnableRebound(ph, true, 1.5)
1.5 donnera la valeur par laquelle la vitesse sera multipliée après rebond. Ça peut être bien pour redonner de la vitesse a la bombe pour faire des gros rebond.

Pour les zones de danger

createHurtZone(levelGrp, Vector2D(540, 180), Vector2D(40, 20), true)
true / false à la fin : pour inverser le sens des pics

Mettre un ciel en fond

1) Il faut déjà charger la texture que l'on veut utiliser -> Dans la fonction initCurrentLevelData on ajoute

levelData["backgroundSky"] = loadTexture("background_sky.png")

Dand le code du niveau :
setSkyTexture(levelData["backgroundSky"])

Mettre une zone de fin de niveau

createExitZone(levelGrp, Vector2D(1867, 1100), Vector2D(150, 130))

Image simple

createSimpleImage(levelGrp, levelData["tree"], Vector2D(413, 128), nil, true)

levelData["tree"] => La texture
Vector2D(413, 128) => La position
nil / Vector2D(50, 50) => La taille. Nil = garder la taille d'origine de l'image / Vector2D(50, 50) = forcer la taille
true / false => Mettre l'image devant ou derière le joueur

Musique

Selectionner une playlist

musicSetPlaylist({"LukHash__SH_music_-NEVER_BORN.ogg", "LukHash__SH_music_-WE_COME_TOGETHER.ogg", "Spintronic-Lost__Boss_3.ogg"}, true)

{"LukHash__SH_music_-NEVER_BORN.ogg", "LukHash__SH_music_-WE_COME_TOGETHER.ogg", "Spintronic-Lost__Boss_3.ogg"} => La liste des fichiers de la playlist
true / false => Lire la musique de façon aléatoire (true) ou pas (false)

Changer le volume

musicSetVolume(50)

50 => Volume (compris entre 0 et 100)

Arreter la musique

musicStop()

Zone de message

createMessageZone(levelGrp, Vector2D(300, 250), Vector2D(115, 100), "Coucou, Ceci est un message")
Vector2D(300, 250) => Position
Vector2D(115, 100) => Taille
"Coucou, Ceci est un message" => Le message à afficher