Première difficulté pour le "level editor": la gestion des fichiers. J'avais contourné la difficulté d'une manière assez élégante dans sprite Editor en fixant la limite à quatre fichiers: spriteA, spriteB, spriteX et spriteY. On choisissait celui à charger/sauver en appuyant sur un des boutons de la console au moment voulu.
Ne garder que 4 fichiers modifiables avec soi, ma foi, ce n'est pas bien méchant pour dessiner ses sprites dans le RER ... Mais pour pouvoir éditer jusqu'à 4 jeux, là, ça ne va plus du tout. Chaque jeu ayant ses blocs de sprites, ses maps, ses tiles. Non. Il me fallait une boîte de dialogue "ouvrir" et "sauver" ou qqch comme ça.
C'est chose faite. Un peu rudimentaire, mais rapide d'accès (comparé à mes expériences précédentes avec Nitro Tracker, par exemple), et me donnant les briques de base pour pouvoir "nommer" n'importe quoi d'autre par la suite, et p'têt bien remplacer le "composeur de couleurs" horrible avec un clavier un peu plus "sympa", inspiré de ces claviers alphabétique sur lesquels on compose son nom dans les highscores ...
Le tout pour un encombrement de "seulement" 64x80 pixels. Oui ma bonne dame. Seul petit "truc": j'utilise (comme toujours) le bouton "L" de la console pour faire office de "shift" entre les lettres "paires" et les lettres "impaires". 'faudrait que je brevette ça, tiens ^_^
Bon. 'faudra que j'ajoute ça à "runme", qu'il puisse modifier son répertoire de travail ...
(PS: il y a évidemment des tonnes d'alternatives : http://headkaze.drunkencoders.com/ )
edit: oh! suis-je bête. J'allais oublier de vous pointer vers la démo (parfaitement inutile) et le code ^^"
edit+: pfiouh. J'essaye d'extraire le code "commun" à runme et SEDS (en particulier, tous les widgets et les routines de gestion des fichiers .spr) dans une bibliothèque. Mais comme je viens de changer la définition de base de la classe Widget, y'a du boulot ... et y'aura du debugging ... Mais bon, ça devrait valoir le coup.
this is the right place for quickstuff
C'est très propre, j'aime beaucoup ! Dépose le brevet : ;D
ReplyDelete