Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » fxSpriter – Encodage rapide d'images
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

fxSpriter – Encodage rapide d'images

Posté le 19/02/2016 12:13

Salut à tous !

Je vous présente un petit soft que j'ai écrit avec Qt pour faciliter l'encodage de sprites pour les add-ins. Il se base sur du cliquer-glisser, vous n'avez essentiellement qu'à configurer et glisser.

Il permet d'encoder des images simples, des « sets » (de tout ce que vous voulez : tilesets, spritesets, facesets, tant que tout a la même taille) et des maps : en sélectionnant des tilesets dans la liste du deuxième mode.

Les boutons « Variant » ne servent pas, c'est pour une expérimentation à moi pour diminuer un peu la taille des sprites et éviter d'avoir à spécifier la taille des images dès qu'on les affiche (plus facile que de traquer tout le code quand on les modifie).

Je détaillerai sans doute un peu plus tard ^^'

Utilisation sous Windows

Commencez par essayer les binaires de Dark Storm ou ceux d'Intelligide.

Sinon, installez Qt 5 si vous ne l'avez pas encore. La compilation doit être assez simple, pensez bien à déplacer le dossier 'images' et le fichier 'fxSpriter.style' dans le dossier 'build-fxSpriter-...-Debug' et pas dans le sous-dossier 'debug' contenant l'exécutable.

Utilisation sous Linux

Pour le compiler, extrayez les données, exécutez make et vous êtes prêts. Si vous voulez exécuter le programme avec un raccourci, utilisez le script suivant :
#! /bin/bash
(cd /path/to/fxSpriter && ./fxSpriter)


Screenshots




Fichier joint


-florian66- Hors ligne Ancien rédacteur Points: 2384 Défis: 20 Message

Citer : Posté le 19/02/2016 14:13 | #


Tu avais essayé de nous cacher ça felon !
Je teste
In Arch, I trust ! And you ?
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 19/02/2016 14:27 | #


-florian66- a écrit :
Tu avais essayé de nous cacher ça felon !

Ben justement, pas vraiment... mais à l'époque il n'avait pas suscité d'intérêt
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Aragorn Hors ligne Membre Points: 807 Défis: 5 Message

Citer : Posté le 19/02/2016 16:58 | #


Merci de l'avoir partagé.

Par contre, je rencontre un petit problème : après deux heures d'installation et de téléchargement de qt, j'ai compiler le projet, et j'ai obtenu cette erreur : "Impossible de démarrer le programme car il manque Qt5Cored.dll sur votre ordinateur. Essayer de réinstaller le programme pour corriger le problème".

Est-ce que tu pourrais s'il te plait poster le .exe ? Je pense que cela serait plus simple pour tous ceux qui n'ont pas qt.

Ajouté le 19/02/2016 à 17:04 :
J'ai réussi à lancer le programme à partir de qt :
17:01:06: Exécution des étapes pour le projet fxSpriter...
17:01:06: Débute : "D:\Program Files\Qt5\5.5\mingw492_32\bin\qmake.exe" E:\Programmation\CASIO\fxSpriter\fxSpriter.pro -r -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
17:01:12: Le processus "D:\Program Files\Qt5\5.5\mingw492_32\bin\qmake.exe" s'est terminé normalement.
17:01:12: Débute : "D:\Program Files\Qt5\Tools\mingw492_32\bin\mingw32-make.exe"
D:/Program Files/Qt5/Tools/mingw492_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'E:/Programmation/CASIO/build-fxSpriter-Desktop_Qt_5_5_1_MinGW_32bit-Debug'
mingw32-make[1]: Nothing to be done for 'first'.
mingw32-make[1]: Leaving directory 'E:/Programmation/CASIO/build-fxSpriter-Desktop_Qt_5_5_1_MinGW_32bit-Debug'
17:01:14: Le processus "D:\Program Files\Qt5\Tools\mingw492_32\bin\mingw32-make.exe" s'est terminé normalement.
17:01:14: Temps écoulé : 00:08.

Par contre, je n'ai pas du tout la même apparence et en plus, je ne peux pas charger d'image.

Mes Programmes
Cliquer pour enrouler
The Legend of CASIO - Basic Quest ( Basic )
Notes ( logiciel qui calcule votre moyenne, basic )
Professeur Layton ( jeu d'énigme en C )
Mario & Sonic Rush ( jeu de course 3D en C )
Projets
Cliquer pour enrouler
Zelda Ancestral Relics ( projet en C )
Projets que je soutient
Cliquer pour enrouler
Pokémon jade de Dodormeur
Jetpack Joyride de Drakalex007
Arcuz de Dark Storm
Casion de Az et Darkysun




Un jeu de course en 3D pour calculatrice :
http://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=2773&page=1.
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 19/02/2016 17:16 | #


Aragorn a écrit :
Merci de l'avoir partagé.

Je t'en prie.

Aragorn a écrit :
Par contre, je rencontre un petit problème : après deux heures d'installation et de téléchargement de qt, j'ai compiler le projet, et j'ai obtenu cette erreur : "Impossible de démarrer le programme car il manque Qt5Cored.dll sur votre ordinateur. Essayer de réinstaller le programme pour corriger le problème".

Ton installation de Qt5 est incomplète. Tu es sûr que tu as installé Qt 5 pour commencer ?

Aragorn a écrit :
Est-ce que tu pourrais s'il te plait poster le .exe ? Je pense que cela serait plus simple pour tous ceux qui n'ont pas qt.

Je ne peux pas linker statiquement Qt et de toute façon je ne peux pas le compiler sous Windows... je ne travaille avec Qt que sous Linux ! Je n'ai pas d'exe !

17:01:06: Exécution des étapes pour le projet fxSpriter...
17:01:06: Débute : "D:\Program Files\Qt5\5.5\mingw492_32\bin\qmake.exe" E:\Programmation\CASIO\fxSpriter\fxSpriter.pro -r -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
17:01:12: Le processus "D:\Program Files\Qt5\5.5\mingw492_32\bin\qmake.exe" s'est terminé normalement.
17:01:12: Débute : "D:\Program Files\Qt5\Tools\mingw492_32\bin\mingw32-make.exe"
D:/Program Files/Qt5/Tools/mingw492_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'E:/Programmation/CASIO/build-fxSpriter-Desktop_Qt_5_5_1_MinGW_32bit-Debug'
mingw32-make[1]: Nothing to be done for 'first'.
mingw32-make[1]: Leaving directory 'E:/Programmation/CASIO/build-fxSpriter-Desktop_Qt_5_5_1_MinGW_32bit-Debug'
17:01:14: Le processus "D:\Program Files\Qt5\Tools\mingw492_32\bin\mingw32-make.exe" s'est terminé normalement.
17:01:14: Temps écoulé : 00:08.

Ça c'est bon !

Aragorn a écrit :
Par contre, je n'ai pas du tout la même apparence et en plus, je ne peux pas charger d'image.

Pour l'apparence, vérifie que le fichier fxSpriter.style est dans le même dossier que ton exe au moment où tu le lances

Pour le chargement d'images, essaie de glisser un fichier sur la zone
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Aragorn Hors ligne Membre Points: 807 Défis: 5 Message

Citer : Posté le 19/02/2016 17:36 | #


Lephenixnoir a écrit :
Aragorn a écrit :
Par contre, je rencontre un petit problème : après deux heures d'installation et de téléchargement de qt, j'ai compiler le projet, et j'ai obtenu cette erreur : "Impossible de démarrer le programme car il manque Qt5Cored.dll sur votre ordinateur. Essayer de réinstaller le programme pour corriger le problème".

Ton installation de Qt5 est incomplète. Tu es sûr que tu as installé Qt 5 pour commencer ?

J'ai installé ce programme : http://www.qt.io/download-open-source/ . Avec les options par défaut.

Lephenixnoir a écrit :
Aragorn a écrit :
Par contre, je n'ai pas du tout la même apparence et en plus, je ne peux pas charger d'image.

Pour l'apparence, vérifie que le fichier fxSpriter.style est dans le même dossier que ton exe au moment où tu le lances

C'est bon, par contre, c'est dans le dossier supérieur qu'il faut le coller avec le dossier "images", c'est à dire dans le dossier "build-fxSpriter-Desktop_Qt_5_5_1_MinGW_32bit-Debug". L'exécutable est dans le dossier "debug".


Lephenixnoir a écrit :
Pour le chargement d'images, essaie de glisser un fichier sur la zone
Cela ne change rien. La zone s'éclaircit quand je glisse une image dessus, mais c'est tout.
Mes Programmes
Cliquer pour enrouler
The Legend of CASIO - Basic Quest ( Basic )
Notes ( logiciel qui calcule votre moyenne, basic )
Professeur Layton ( jeu d'énigme en C )
Mario & Sonic Rush ( jeu de course 3D en C )
Projets
Cliquer pour enrouler
Zelda Ancestral Relics ( projet en C )
Projets que je soutient
Cliquer pour enrouler
Pokémon jade de Dodormeur
Jetpack Joyride de Drakalex007
Arcuz de Dark Storm
Casion de Az et Darkysun




Un jeu de course en 3D pour calculatrice :
http://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=2773&page=1.
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 19/02/2016 17:40 | #


Aragorn a écrit :
C'est bon, par contre, c'est dans le dossier supérieur qu'il faut le coller avec le dossier "images", c'est à dire dans le dossier "build-fxSpriter-Desktop_Qt_5_5_1_MinGW_32bit-Debug". L'exécutable est dans le dossier "debug".

Je ne sais pas trop comment l'IDE se débrouille, mais je vais ajouter ça aux infos ^^'

Aragorn a écrit :
Cela ne change rien. La zone s'éclaircit quand je glisse une image dessus, mais c'est tout.

Tu n'as même pas un message d'erreur du type "No image could be loaded." ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 19/02/2016 17:46 | #


Est-ce-que tu utilises QtCreator Lephenixnoir?
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 19/02/2016 17:47 | #


Nope, je bosse sous Linux et je dois avouer ne pas apprécier cet IDE
En fait, je ne l'ai même pas installé. (Enfin je l'ai déjà testé hein, mais j'ai changé de système depuis )
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Aragorn Hors ligne Membre Points: 807 Défis: 5 Message

Citer : Posté le 19/02/2016 17:52 | #


@Lephe Si, on le voit sur le screen que j'ai mis plus haut (en noir sur gris du coup ça ne ressort pas ).
Mes Programmes
Cliquer pour enrouler
The Legend of CASIO - Basic Quest ( Basic )
Notes ( logiciel qui calcule votre moyenne, basic )
Professeur Layton ( jeu d'énigme en C )
Mario & Sonic Rush ( jeu de course 3D en C )
Projets
Cliquer pour enrouler
Zelda Ancestral Relics ( projet en C )
Projets que je soutient
Cliquer pour enrouler
Pokémon jade de Dodormeur
Jetpack Joyride de Drakalex007
Arcuz de Dark Storm
Casion de Az et Darkysun




Un jeu de course en 3D pour calculatrice :
http://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=2773&page=1.
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 19/02/2016 19:56 | #


Je pense que j'ai trouvé le problème
Je tente une correction tout de suite.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 19/02/2016 20:32 | # | Fichier joint


Voilà une nouvelle version, j'ai également mis à jour le topic principal

Il te faudra recompiler pour tester, mais je pense que ça ira mieux. Est-ce que tu pourrais essayer de cliquer-glisser une image en étant sûr que ce n'est pas un fichier pour voir (typiquement depuis un éditeur d'images, une image non enregistrée donnant la meilleure certitude) ?

Il y a quelques améliorations conséquentes en termes de gestion des erreurs et de retours.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 20/02/2016 16:03 | #


Problème sous Windows: les urls des fichiers contiennent trois "/"

Voici un correctif:
#ifdef _WIN32
            if(url.left(8) == "file:///")
                url = url.right(url.length() - 8 );
#else
            if(url.left(7) == "file://")
                url = url.right(url.length() - 7);
#endif


Et un SIGSEGV dans le fichier "generating.cpp" à la ligne 10:

data vaut 0x0 (d'après GDB)
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 20/02/2016 16:06 | #


Intelligide a écrit :
Problème sous Windows: les urls des fichiers contiennent trois "/"

Ah, voilà donc le problème ! Merci, je vais appliquer ce correctif

Intelligide a écrit :
Et un SIGSEGV dans le fichier "generating.cpp" à la ligne 10:

data vaut 0x0 (d'après GDB)

T'es pas censé cliquer sur le bouton Variant, le code généré est un pointeur nul ^^'
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 20/02/2016 16:15 | #


Les binaires Windows tout chaud sorti du four compilateur

https://mega.nz/#!sA8ACQ7Z!QdtER6dQqNknjvCypRpCU-SWrfS7gF3VkyTZ0s6roEU
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 20/02/2016 16:17 | #


Et les miens (parce que j'y ai inclus les icônes alors qu'Intel non )
https://framadrop.org/r/uR7uTQ6xuw#2Cv65Gl4YnqcKUc7akLzD4rjaOyDL6OsDl9k7G+ysQk=

Ajouté le 20/02/2016 à 16:17 :
Quoi que les miens ne resteront en ligne que 24h…
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 20/02/2016 16:18 | #


Intelligide a écrit :
Les binaires Windows tout chaud sorti du four compilateur

Merci beaucoup, je te dois un sérieux coup de main sur ce coup ^^'
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 20/02/2016 16:19 | #


Et que j'y ai inclus les icônes dans les nouveaux
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 23/02/2016 08:36 | #


Lephé je n'ai pas encore pu télécharger, mais sur les screen je vois que l'on peut wrapper le code des sprites à 80, mais si on coche rien ça fais quoi ? Et pourrait-on wrapper â 200 (pour les méga images) ?
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 23/02/2016 08:49 | #


Pour l'instant le wrap n'est actif que pour les images (les tilesets et les maps ne le font pas), il faut que j'étende les paramètres. Mais il faudra bien que vous notiez que les paramètres d'un mode influent les résultats des autres, ce qui peut paraître un peu surprenant (ou alors je fais un menu avec des cases à cocher)

Ça coupe pas vraiment à 80 en fait, ça coupe dès qu'on dépasse 75, donc des fois on peut caser un « 0, » de plus avant la fin de ligne. C'est du détail.

Je pourrais faire un wrap à 200 mais dans ce cas-là je mettrai tout de suite un champ pour indiquer la valeur que vous voulez (avec 80 par défaut).

Cela dit, je vous conseille de ne pas wrapper les codes pour éviter de prendre de l'espace, de dessiner une règle à 80 caractères et de limiter votre code à cette longueur-là, comme ça vous aurez pas besoin de vous préoccuper de l'ascenseur horizontal. Avec ce réglage j'arrive presque à faire tenir trois fichiers sur mon écran (sur trois colonnes) pour les éditer en même temps.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 160 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd