Réalisation d’un jeu 2D avec Processing

Voici un lien vers un exécutable permettant le test de la version du jeu ici

 

Pour apprendre les bases du langage de nombreux sites sont disponibles mais j’ai décidé de suivre

https://fr.flossmanuals.net/processing/_draft/_v/1.0/introduction/

J’ai également suivi la formation d’openclassroom sur processing,  lu de nombreux articles et échanges sur le forum processing.

Ecriture du programme

Définition de la fenêtre

void setup() {
size(800, 600); //si on voulait du plein écran il suffit de remplacer par fullScreen()

}

void draw () {

}

A ce moment, il ne se passe pas grand chose, une simple fenêtre grise s’ouvre lorsque l’on lance l’application.

Gestion de la carte

J’ai fais le choix d’utiliser la librairie ptmx pour la gestion du décor, Il faut donc l’importer dans processing : aller sur sketch, importer une librairie, ajouter une librairie, dans la barre de recherche taper ptmx et install.

Dans le sketch on ajoute avant le setup

import ptmx.*;

Dans processing, aller sur sketch, afficher le dossier. Si le dossier data n’existe pas, il faut le créer.

Dans le dossier data, créer un fichier avec l’extension .tmx (j’utilise Notepad ++ pour la création et la modification de ce type de fichier). Le fichier tmx est celui qui va contenir les instructions de la « map ». Le fonctionnement n’est pas trop compliqué, il s’agit d’un système de « tuiles », rappelez-vous le jeu mario sur NES, on utilise des tuiles que l’on va positionner sur une grille.

Voici le squelette du fichier

<?xml version= »1.0″ encoding= »UTF-8″?>

<map version= »1.0″ orientation= »orthogonal » renderorder= »right-down » width= »74″ height= »17″ tilewidth= »64″ tileheight= »64″ backgroundcolor= »#9e9e9e » nextobjectid= »1″>

<tileset firstgid= »1″ source= »niv1.tsx »/>

<layer name= »Ground » width= »75″ height= »18″>

<data encoding= »csv »>

2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2

</data>

Quelques explications vont surement être nécessaires :

La première ligne indique le format et le jeu de caractère utilisé