Des sprites avec EXCEL!

Publié le par DM Didier

Tout RPG a besoin de son héros. Aussi, nous allons commencer par créer et animer un sprite qui représentera notre personnage principal.

 

Un sprite

Selon WIKIPEDIA, "Un sprite est dans le jeu vidéo un élément graphique qui peut se déplacer sur l'écran. En principe, un sprite est en partie transparent, et il peut être animé (c’est-à-dire qu'il est formé de plusieurs bitmaps qui s'affichent les uns après les autres). Le fond de l'écran constitue généralement le décor et les sprites sont les personnages et les objets qui se superposent au fond d'écran et qui se déplacent."

Un sprite est donc une collection d'images représentant un même personnage dans diverses positions. C'est l'alternance de ces images qui donne l'impression de mouvement

 

sprites.png

 

Ci-dessus, le sprite_set du guerrier de Dragon Warrior 3 (source: sprite database http://sdb.drshnaps.com Contributed by: DrakeWing). C'est en alternant ces images que nous allons faire vivre le sprite. Notez que la communauté de développeur amateurs est très active sur le net et on peut y trouver très facilement des bibliothèques de sprites.

 

Un sprite_set sous Excel

Il y existe deux méthodes pour créer un sprite sous Excel: soit on le dessine soi même en coloriant les cases de la feuille, soit on importe un sprite déjà tout prêt. Et comme mes notes en art plastiques n'étaient pas reluisantes (et que je suis fainéant), je choisis la seconde méthode.

Pour ce faire, je vais "retoucher" le sprite sur un logiciel de dessin, le transformer en ASCII et l'importer sur ma feuille.

 

1/Retouche monochrome

Pour une meilleure conversion en ASCII, nous sommes obligés de préparer le sprite. Très simplement, je le met en noir et blanc sous un éditeur graphique (photophiltre chez moi - http://www.photofiltre.com/)

 

2/Conversion ASCII

Maintenant, nous convertissons l'image en ASCII.  Mais tout d'abord, je vais répondre à la question "Pourquoi convertir notre dessin en ASCII?". L'art ASCII consiste à créer des images avec les caractères du clavier comme on pouvait en voir dans les années 80 (cf. le EXCEL QUEST du premier message). L'intérêt de cette méthode est de transformer nos pixels images(non importables sous Excel) en caractères texte qu'Excel pourra reconnaître. Pour cela, j'utilise ASCII Pic 2.0, un convertisseur d'image gratuit. ASCII Pic 2.0 permet de transformer une image du format .bmp en fichier .txt. 

 

Voilà le résultat obtenu:

sprites_ascii2.PNG

 

On copie-colle notre fichier .txt dans la première cellule d'un classeur Excel (il en existe d'autres, il en existe même online). Enfin, sachez que l'art ASCII est un véritable art. Pour en savoir plus, je vous invite a aller sur http://fr.wikipedia.org/wiki/Art_ASCII.


 

3/Importation 

Ça ne ressemble à rien, et c'est normal: les caractères ne sont pas à leur place. Il faut maintenant mettre chaque # et chaque espace dans une case différente. Pour cela, Excel dispose d'un formidable outil qui sert à convertir les données.

 

Données>Convertir les données

 

Choisissez l'option largeur fixe, puis mettez des lignes de séparation à chaque caractère et c'est fini! Notez que dans la mesure où je compte me servir encore de cette technique (et que je ne connais pas le code associé à cette opération) je vais utiliser l'enregistreur de macros.

sprite-ascii_excell.png

Arrangez les lignes et les colonnes pour obtenir le résultat ci-dessus. Le convertisseur de données est un outil très utile mais (hélas) trop souvent méconnu. Aussi, j'inaugurerai ma section "Manuel du Level 1" avec un article sur cet outil.

 

Il ne reste plus qu'à colorier. Pour cela, j'utilise une macro qui va remplacer mes "#" par des 1:

Sub fill_it()

Dim i As Long

Dim j As Long

 

For i = 1 To 150

    For j = 1 To 100

        If Cells(j, i) = "#" Then Cells(j, i) = 1

    Next j

Next i

End Sub

 

Puis, je met un format conditionnel où chaque cellule=>1 se colore en noir.

J'aurais également pu utiliser cette formule:

If Cells(j, i) = "#" Then Cells(j, i).interior.colorindex=1

Et voilà!

spriteset_excell.png

 

 

 

Ça en jette, non? Nous venons de réaliser notre premier sprite_set. La prochaine fois, nous verrons comment l'animer.

Publié dans Quête principale

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article