Code source
Exécutable (Windows 32bits)
Avant d'essayer de compiler le code, allez dans l'onglet "Projets" dans le menu de gauche, séléctionnez l'onglet "Run" pour votre kit,
et mettez dans "Working directory" le chemin de "editor/data".
En travaillant, nous allons avoir de plus en plus de fichiers sources et de données et ça sera très difficile de les retrouver si on les garde tous dans le même répertoire.
De plus nous n'aurons pas seulement le projet de l'éditeur de niveau, mais aussi un autre projet pour le jeu. Et certains fichiers seront communs aux deux projets.
Alors nous allons un peu réorganiser les fichiers.
D'abord, nous allons avoir un répertoire "common" qui contiendra:
- Les fichiers Map.* qui maintenant contiennent seulement la description de la map et les fonctions pour accéder aux cases.
J'ai retiré la fonction d'affichage pour la mettre ailleurs parce que cet affichage est seulement pour l'éditeur, on n'en aura pas besoin dans le jeu.
- Les fichiers cmaths.*, car nous utiliseront aussi des coordonnées 2D dans le jeu.
- Les fichiers cgraphics2d.*, car nous les utiliserons pour dessiner les graphismes du jeu.
J'ai mis les fichiers cmaths.* et cgraphics2d.* dans un sous-dossier "system" parce que ce sont des fonctions communes qui pourraient avoir leur place dans un moteur plus générique
qui pourrait être utilisé pour d'autres types de jeux.
Ensuite nous aurons un répertoire "editor" avec:
- MapEditor.pro, qml.qrc et les autres fichiers que Qt utilise pour le projet.
- Un dossier "sources" avec tous les fichiers ".cpp" et ".h". Il y a maintenant 2 nouveaux fichiers appelés "editor.*" qui contiennent les fonctions que j'ai retirées de Map.*.
C'est à dire la fonction d'affichage et les fonctions des outils pour modifier les cases.
- Un dossier "qml" qui contient tous les fichiers qml.
- Un dossier "gfx" qui contient les images qui seront incluses dans le fichier "exe".
Vous verrez qu'il y a des boutons dedans. J'en parlerai plus tard.
- Un dossier "data" avec les données qui vont être chargées par le programme pendant son exécution. Pour le moment il y a seulement un dossier "tiles" dedans,
avec les images qu'on utilisera pour dessiner la map.
A l'avenir, il y aura un 3ième répertoire pour le jeu.
J'ai ajouté des boutons d'outils à droite. Ils ne fonctionnent pas pour l'instant, mais je voulais voir combien de place ils prendraient.
De haut en bas, vous pouvez voir:
- L'outil de dessin. C'est le seul qui marche pour l'instant, puisqu'on peut dessiner des cases dans la map.
- L'outil de sélection. Il nous permettra de sélectionner une case ou un mur pour pouvoir y ajouter des infos.
Il nous permettra aussi de sélectionner un rectangle de cases à copier ou à couper.
- L'outil "copier".
- L'outil "couper".
- L'outil "coller".
Vous pouvez voir que les fonctions à la fin de "editor.cpp" commencent à prendre en compte qu'il y aura plusieurs outils.
Et maintenant on peut dessiner des murs. Pour y parvenir, j'ai du modifier drawImage() pour pouvoir dessiner une case avec un angle de rotation.
L'image du mur est "Wall.png" dans "editor\data\tiles"