Espace TI: Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

[AXE] Sprite & Tile Maker

5 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

[AXE] Sprite & Tile Maker Empty [AXE] Sprite & Tile Maker

Message par Alexis Dim 20 Fév - 16:24

Salut, je suis en train de créer un programme en Axe Parser permettant de créer ses propres sprites directement sur la calculatrice. (Je sais que de nombreux programmes de ce genre existent déjà, mais la plupart sont en TI-BASIC et c'est l'occasion d'utiliser la 2ème partie du tutoriel de kindermoumoute sur les Datas.)

Je posterai ma source quand j'aurai suffisamment avancé.
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Dim 20 Fév - 16:49

Cool, un éditeur de sprite en Axe, ça m'intéresse !
J'en implémenterai surement un dans mon jeu de worms, ainsi qu'un éditeur de map. Cool
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Dim 20 Fév - 17:09

Pour le moment j'ai commencé, mais je pense que je vais bloquer pour l'utilisation de la liste 1 (Qui correspond ici aux chiffres binaires les uns après les autres.) et la conversion en hexadécimal.
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Dim 20 Fév - 18:29

La deuxième partie de mon tutoriel est sortie, avec un chapitre suer les listes.

Pour la conversion en hexadécimal, tu as la commande EXP▶Hex qui convertit le nombre en chaîne de caractère. Par chance, les caractères ASCII des lettres de l’alphabet, ainsi que des chiffres correspondent à la même valeur pour les token (et seulement ceux là). Je crois que ce sont des tokens à mettre dans les chaine Str de la calculatrice.
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Lun 21 Fév - 16:24

J'ai fini ou presque la partie graphique de SPRMAKER, je passe maintenant à la partie la plus difficile: la partie avec les calculs. Et je suis encore pas trop sur d'utiliser la liste 1 pour le calcul des valeurs, je vais voir si je peux créer quelque chose ressemblant à des matrices en TI-BASIC.

Vous pouvez télécharger la version 0.1 ici.

Une petite image:
[Vous devez être inscrit et connecté pour voir cette image]

HS: Au faite pour une fois je fais un programme en Axe Parser, donc adieu le rappel des images.


Edit: Je pense finalement stoker la valeur dans une data. Par contre existe-t-il un moyen de remplir une data sans être obligé de mettre Data(0,0,0,0,0,0,0,0,0... [x64])→GDB1 ?

Dans mon cas je pense faire ça:
Si le pixel est noir: 1→{GDB1+X+8*Y}

Et ensuite pour convertir en hexadécimal je prendrai le nombre binaire de 8 en 8 afin de créer le code final.

(Si vous avez des remarques n'hésitez pas.)
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Lun 21 Fév - 19:11

Je pense qu'il faut agir directement sur une sprite, qui tiens donc en 8 octets.
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Mar 22 Fév - 16:59

C'est à dire recalculer le code hexadécimal à chaque fois ?
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Mar 22 Fév - 17:05

Je dirais même mieux : en temps réel. Ton programme sera assez rapide pour afficher bit par bit les carrés (noir ou blanc) à partir de 8 octets. La petite sprite de droite s'affiche directement avec un Pt-On, mais la grande est une sorte de tilemap ultra-compressée (c'est toujours le même principe).
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Mar 22 Fév - 17:44

J'y avais pensé mais renoncé à cause de la vitesse, mais si tu dis qu'elle ne sera presque pas alternée.

Sinon pour créer le code hexadécimal je compte procéder ainsi:
- Avec des "Pxl-Test(" on transcrit ligne par ligne l'octet composé de 8 bits.
- Une fois les 8 lignes transcrites, on les convertit en hexadécimal puis on les met les uns à la suite pour former le code du sprite.

Par contre la question est où stocker les octets et comment les ajouter les uns après les autres pour formé le code du sprite ?
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Mar 22 Fév - 18:05

Mais si tu utilise 8 octets qui affichent en temps réel, tu n'as plus qu'à faire :
Code:
:For(A,0,7)
:Output(A,0,{L1}>Hex
:End

Pour sauvegarder c'est déjà un peu plus compliqué, mais je pense que ces fonctions pourront t'aider :
Code:
:"Str0"→Str0
:
:.Fonction qui convertit les 8 premiers octets de la liste 1 dans une vrai Str0 de la calculatrice
:Lbl S2H
:If GetCalc(Str0)
:DelVar Str0
:End
:UnArchive Str0
:If GetCalc(Str0)
:DelVar Str0
:End
:.Sachant qu'un caractère prend la place d'un octet, 8 octets * 2 caractère hexadécimaux = 16
:GetCalc(Str0,16)→P
:P-2→B
:.On répète 8 fois (pour 8 octets)
:For(A,L1,L1+7)
:{sub(O2H,{A})}r→{B+2→B}r
:End
:Archive P
:Return
:
:.Espace utilisé temporairement pour la conversion
:[]→Str0HB
:det(3)
:
:.Convertit un Octet en Hexadécimal
:Lbl O2H
:iPart(°r1*2}sub(N2H)→{Str0HB}r
:iPart(°r1*2+1}sub(N2H)→{Str0HB+1}r
:Str0HB
:Return
:
:.Convertit un Nibble (la moitié d'un octet) en un caractère hexadécimal
:Lbl N2H
:[]→Str0HC
:"0123456789ABCDEF"
:{+Str0HC}
:Return
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Mer 23 Fév - 18:06

Sans avoir pour le moment pris compte de ton message je poste la version 0.5 que j'ai fais cet après-midi.

J'ai réussi à stocker le code dans "Pic1" qui est désormais un véritable sprite qui s'affiche à droite de l'écran. (Il est recalculé à chaque fois que la boucle est exécutée à partir du quadrillage, de plus la vitesse n'est presque pas plus faible.)

J'ai aussi ajouté une option pour inverser le sprite en appuyant sur [MODE] et une pour effacer le sprite en appuyant sur [DEL].

Il me manque pour le moment le stockage du code dans la variable "Str1" et l'affichage à l'écran qui me pose problème. C'est exactement ce que tu m'as décris plus haut, et je vais en prendre compte.

(Sinon pour la conversion de binaire à décimal j'ai un peu bidouillé avec l'absence de puissance en Axe Parser. Si tu as une autre méthode que tous les "If " préviens-moi.)
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Jeu 24 Fév - 18:06

Les puissances sont présentes en Axe je crois... (au pire du peux te débrouiller facilement).
Mais ce que je cherche à te faire comprendre, c'est que justement on ne cherche pas à compresser un code à la fin, mais à décompresser un code en temps réel.
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Ven 25 Fév - 16:16

J'ai pas très bien compris...

Sinon voici la version 0.9. Grâce au code de kindermoumoute le code hexadécimal est stocké dans "Str1".

Si vous avez des conseils pour améliorer la source prévenez-moi avant que je publie la version 1.0.
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Ven 25 Fév - 17:24

Je n'ai pas lu le code, mais cela me paraît bien. Les routines que je t'ai montrées ont été faite par runer112 : ici.
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Lun 7 Mar - 18:24

Bon j'ai réussis à faire afficher le code en temps réel. Voici la version Beta.

Cependant je me suis aperçu que les octets étaient stockés à l'envers dans "Str1", ce qui fait que la partie gauche de l'image se retrouve à droite et vice versa.

Exemple: Le sprite "1234567890ABCDEF" est enregistré en tant que "2143658709BADCFE" dans "Str1"...

Une idée kindermoumoute ?
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Sam 12 Mar - 23:10

J'imagine que ces lignes là :
Code:
:iPart(°r1*2}sub(N2H)→{Str0HB}r
:iPart(°r1*2+1}sub(N2H)→{Str0HB+1}r
doivent être remplacé par :
Code:
:iPart(°r1*2+1}sub(N2H)→{Str0HB}r
:iPart(°r1*2}sub(N2H)→{Str0HB+1}r

As tu trouvé une solution ?
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Dim 13 Mar - 12:57

C'est bon ça marche nickel !

Merci beaucoup je publie la version 1.0 aujourd'hui.
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Dim 13 Mar - 15:04

Cool, je vais tester ça !

EDIT : pour les grayscales, ça ne devrait pas être très compliqué je pense.
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Dim 13 Mar - 15:30

Par contre j'ai aucune idée de comment en faire.
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Dim 13 Mar - 17:09

Pour le source, ce serait bien de l'inclure directement dans le fichier de téléchargement, et non pas mettre des liens provisoires bourrés de pubs.

Spoiler:
Je te conseil de t'aider à l'aide de cet éditeur déjà fait : ici

PS : Ce que tu appelle ça est aussi [Vous devez être inscrit et connecté pour voir ce lien].
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Lun 14 Mar - 18:40

Merci, je sortirais bientôt une version 1.1.
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par kindermoumoute Lun 14 Mar - 18:43

Bonne chance à toi. :D
kindermoumoute
kindermoumoute
Or 4
Or 4

Sexe : Masculin
Age : 29
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-83+

TI-83+


Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Lun 14 Mar - 18:45

Ça risque de ne pas être trop dur vous que tu m'as déjà mâché le travail. Lol
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par persalteas Sam 19 Mar - 20:09

je vois que le prog a été uploadé sur Ti calc.
persalteas
persalteas
Platinum 2
Platinum 2

Sexe : Masculin
Age : 28
Messages : 2068
Date d'inscription : 30/06/2010
Etudes : PACES (médecine)
Points Forum : 114
Points Concours : 10
Langages :
  • - TI-Basic Z80
  • - xLib
  • - Grammer
  • - TI-Basic Nspire
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-83
  • - TI-83+
  • - TI-84+ SE
  • - TI-86
  • - TI-Nspire
  • - TI-Nspire CX
  • - Casio Collège
  • - Casio Graph

TI-84 Pocket.fr


http://tiemulation.kegtux.org

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Alexis Dim 20 Mar - 14:41

Oui.
Alexis
Alexis
Platinum 2
Platinum 2

Sexe : Masculin
Age : 30
Messages : 2321
Date d'inscription : 28/06/2010
Etudes : DUT Informatique
Points Forum : 40
Points Concours : 3
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - Axe Parser
Calculatrices :
  • - TI-Collège
  • - TI-82 Stats.fr
  • - TI-84+

TI-84+


http://espace-ti.e-monsite.com

Revenir en haut Aller en bas

[AXE] Sprite & Tile Maker Empty Re: [AXE] Sprite & Tile Maker

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum