Page 1 of 4

MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 28 May 2010, 19:18
by kindermoumoute
Voici MEGR2.0 dessin fait en Axe parser, celle ci est 9 fois plus rapide que le crayon de base 2nd=>Draw=>A (je vous laisse en juger par vous même).


- Fonctions de dessins :
* Dessiner des rectangles noir, blanc, ou qui inverse les pixels
* Dessiner des cercles.
* Ecrire du texte sur l'écran.
* Effacer l'écran.
* Enregistrer l'écran dans 9 Pic de la calculatrice (Pic1 à Pic9), qui sont donc réutilisable dans n'importe quel programme TI-Basic, Axe ou autre.
* 3 vitesse pour le crayon (oui c'est trop rapide quand on le laisse au maximum, donc je met des pause pour que ce soit plus agréable à utiliser en fonction des besoins).


- Fonctions du menu principale :
* On peut regarder 2 images en même temps pour faire apparaître 3 niveaux de couleurs.
* On peut regarder, supprimer et modifier n'importe quel image enregistrer entre Pic1-Pic9.

A venir :
- Refonte total de l'interface (menu..etc).



Touches :
menu principale :
2nd == nouveau dessin : mène aux options de dessins.

1 == voir image : sélectionner l'image avec les touches 1 à 9, puis appuyez sur entrer pour revenir au menu principale.

2 == modifier une image : sélectionner l'image avec les touches 1 à 9, ensuite allé aux options de dessins.

3 == Voir 3 degré de couleurs à partir de 2 images (comme pour "voir image", sauf que il faut faire la manip 2 fois pour a appeler la deuxième image).

4 == Supprimer image : sélectionner l'image avec les touches 1 à 9, puis l'image est supprimé et l'on revient au menu.

Clear == quitter



Options de dessins:

ALPHA == retourner au menu principale

Laissez 2nd enfoncé pour déssiner (noir).
Laissez Del enfoncé pour gommer (blanc).
Les flèches = bouger le curseur.
math = vitesse maximal (sans pause).
Apps = pause de 50 millisecondes dans la boucle.
Prgm = pause de 100 millisecondes dans la boucle.
Vars = pause de 200 millisecondes dans la boucle.
1 = Sauver l'écran dans la variable Pic1.
2 = Sauver l'écran dans la variable Pic2.
3 = Sauver l'écran dans la variable Pic3.
4 = Sauver l'écran dans la variable Pic4.
5 = Sauver l'écran dans la variable Pic5.
6 = Sauver l'écran dans la variable Pic6.
7 = Sauver l'écran dans la variable Pic7.
8 = Sauver l'écran dans la variable Pic8.
9 = Sauver l'écran dans la variable Pic9.
Clear = effacer écran.

+ == insérer texte, la police de base est en minuscule sans inversion de couleur, pour la modifier il faut appuyer sur alpha :
1 fois = minuscule inversé.
2 fois = Grande police normal.
3 fois = Grande police inversé.
4 fois = revient à minuscule normal.
Une fois que vous avez fini de taper votre texte, appuyez sur entrer.

Laissez Del+F1 enfoncé pour faire le rectangle vide (blanc) ; Note vous pouvez relâcher la touche Del une fois que le curseur a disparu.
Laissez F1 enfoncé pour faire le rectangle plein (noir).
Laissez F2 enfoncé pour faire le rectangle inversé.
Laissez F3 enfoncé pour faire un cercle, ensuite utilisez les flèches gauche et droite pour la taille.


Lien de téléchargement :
ICI


Source :
 
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Select all
:.MEGR2.0
:[C0A0502C160B0702→Pic1
:"Pic1→Str1
:"Pic2
:[00]
:"Pic3
:[00]
:"Pic4
:[00]
:"Pic5
:[00]
:"Pic6
:[00]
:"Pic7
:[00]
:"Pic8
:[00]
:"Pic9
:[00]
:":PIC →Str14
:"MEGR2.0 DRAW :→Str15
:"2ND:NEW→Str16
:"1:LOOK→Str17
:"2:CHANGE→Str18
:"3:LOOK GRAYSCALE→Str19
:"4:DELETE→Str20
:"CLR:QUIT→Str21
:0→Q→F→E→R→G→W→H→K
:1→I→T
:31→X+16→Y
:0→H→W
:ClrHome
:ClrDraw
:ClrDrawsupr/sup
:Repeat getKey(15)
:Text(0,0,Str15
:Text(0,14,Str16
:Text(0,21,Str17
:Text(0,28,Str18
:Text(0,35,Str19
:Text(0,42,Str20
:Text(0,49,Str21
:If getKey(34) or getKey(26) or getKey(18) or getKey(35) or getKey(54)
:If getKey(54)
:sub(A
:End
:If getKey(34)
:1→G
:sub(M
:If M
:0→M
:sub(B
:End
:End
:If getKey(26)
:1→G→Q
:sub(M
:If M
:0→M
:sub(B
:End
:End
:If getKey(18)
:1→K
:sub(M
:If M
:0→M
:sub(B
:End
:End
:If getKey(35)
:sub(M
:If M
:0→M
:DelVar Str1+I
:ClrHome
:Text(0,0,"DELETED PIC",((I/4)+1)►Dec)
:Repeat getKey(9)
:End
:End
:End
:ClrDrawsupr/sup
:ClrDraw
:ClrHome
:End
:End
:Return
:
:Lbl B
:GetCalc(Str1+I)→R
:R→DispGraph
:StoreGDB
:Archive Str1+I
:1→I
:!If G
:StorePic
:1→G
:Repeat getKey(9)
:End
:sub(M
:If M
:0→M
:Goto B
:End
:End
:!If Q
:Repeat getKey(9)
:If K
:DispGraphsupr/sup
:End
:End
:0→G→Q→K
:Return
:Else
:ClrHome
:0→G→Q→K
:End
:
:Lbl A
:Pause 500
:Repeat getKey(48)
:Pt-Change(X,Y,Pic1)
:DispGraph
:Pt-Change(X,Y,Pic1)
:If getKey(54)
:Pxl-On(X,Y)
:End
:If getKey(56)
:Pxl-Off(X,Y)
:End
:sub(I
:If I≠1
:If M
:0→M
:DelVar Str1+I
:End
:DispGraph
:StoreGDB
:GetCalc(Str1+I,768)→A
:conj(Lsub6/sub,A,768)
:Archive Str1+I
:1→I
:End
:If getKey(10)
:DispGraph
:sub(IN)
:End
:If getKey(51)
:sub(CI)
:End
:If getKey(53) or getKey(52)
:If getKey(53)
:1→R
:End
:If getKey(53) and getKey(56)
:2→R
:End
:While getKey(53) or getKey(52)
:sub(R
:End
:If R
:ref(X,Y,W,H)
:Else
:rref(X,Y,W,H)
:End
:If R=2
:rref(X,Y,W,H)
:End
:0→W→H→R
:End
:If getKey(15)
:ClrHome
:ClrDraw
:End
:sub(T
:If getKey(1) and (Y≠63
:Y+1→Y
:End
:If getKey(2) and (X≠0
:X-1→X
:End
:If getKey(3) and (X≠95
:X+1→X
:End
:If getKey(4) and (Y≠0
:Y-1→Y
:End
:End
:
:Lbl R
:StorePic
:If R
:ref(X,Y,W,H)supr/sup
:Else
:rref(X,Y,W,H)supr/sup
:End
:DispGraphsupr/sup
:ClrDrawsupr/sup
:sub(T
:If getKey(1) and ((H+Y)≠64
:H+1→H
:End
:If getKey(2) and (W≠0
:W-1→W
:End
:If getKey(3) and ((X+W)≠96
:W+1→W
:End
:If getKey(4) and (H≠0
:H-1→H
:End
:Return
:
:Lbl CI
:ClrDrawsupr/sup
:StorePic
:0→R
:While getKey(51)
:Circle(X,Y,R)
:DispGraphsupr/sup
:ClrDraw
:sub(T
:If getKey(2) and (R≠0
:R-1→R
:End
:If getKey(3)
:R+1→R
:End
:End
:RecallPic
:If R
:Circle(X,Y,R)
:End
:DispGraph
:0→R
:Return
:
:Lbl IN
:X→A
:Y→B
:0→F
:"WRMH"→GDB5
:det(3)
:"VQLG"
:det(3)
:"ZUPKFC"
:det(1)
:" YTOJEB"
:det(2)
:"XSNIDA"
:Repeat C=9
:getKey→C
:If C=48
:F+1→F
:If F=4
:0→F
:End
:!If F
:Fix 2
:Fix 0
:End
:If F=1
:Fix 3
:End
:If F=2
:Fix 1
:Fix 2
:End
:If F=3
:Fix 3
:End
:End
:If A≠96
:If C10 and (C48)
:If {C+GDB5-11}→D
:Text(A,B,D►Frac
:A+5→A
:End
:End
:End
:End
:StoreGDB
:0→A→B→C→D→F
:Fix 0
:Fix 2
:Return
:
:Lbl T
:If getKey(47)
:1→T
:End
:If getKey(39)
:50→T
:End
:If getKey(31)
:100→T
:End
:If getKey(23)
:200→T
:End
:Pause T
:Return
:
:Lbl M
:ClrHome
:Repeat E=9
:E+1→E
:F+6→F
:Text(0,F,E►Dec,Str14,E►Dec
:End
:0→E→F
:Repeat I≠1
:sub(I
:End
:
:Lbl I
:If getKey(34)
:0→I
:End
:If getKey(26)
:4→I
:End
:If getKey(18)
:8→I
:End
:If getKey(35)
:12→I
:End
:If getKey(27)
:16→I
:End
:If getKey(19)
:20→I
:End
:If getKey(36)
:24→I
:End
:If getKey(28)
:28→I
:End
:If getKey(20)
:32→I
:End
:UnArchive Str1+I
:If GetCalc(Str1+I)
:1→M
:End


Un petit screen :
Image

Re: MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 29 May 2010, 10:24
by kindermoumoute
Pour l'instant on déplace avec les flèches directionnelles, on dessine en laissant appuyer 2nd, ça gomme automatiquement quand cette touche n'est pas pressé, et il y a 4 cran de vitesse (MATH = normal (le plus rapide), APPS = pause de 50ms dans la boucle (un peu moins rapide), PRGM = pause de 100ms (encore moins rapide), VARS = pause de 200ms (le plus lent)), on enregistre en appuyant sur la touche 1 (après on pourra appuyer sur la touche 2 pour enregistrer dans l'image 2, touche 3 pour l'image 3.. etc), alpha pour retourner au menu, et dans le menu Clear pour quitter.

Re: MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 29 May 2010, 10:54
by Kiligolo
Bravo!!! :#top#:

Re: MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 12 Sep 2010, 18:02
by kindermoumoute
Mise à jour, tout est indiqué dans mon premier post, sauf un truc, lors de la compilation j'ai pris le fichier anglais.. donc pas de "nouveau" mais plutôt "new" ^^'


EDIT : si un modo pouvait rajouter ça à la BDD de TI-BANK, je mettrais éventuellement à jour pour de prochaine version, merci.

Re: MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 12 Sep 2010, 21:34
by kindermoumoute
Désolé je corrige un bug (les programmes ici crashait au démarrage ^^).

Re: MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 15 Sep 2010, 14:31
by kindermoumoute
Mise à jour!!
Correction de quelques beaucoup de bug, rajout de 3 fonction :
- Dessiner un rectangle plein (comme un cliqué glissé).
- Dessiner un rectangle inversé (inverse les couleur dans le rectangle, et se fait également comme un cliqué glissé).
- Effacer l'écran.


J'ai mit dans le dossier la source, et les exécutable pour Ion, Mirage OS, doors CS, sans shell, et sous forme d'application.

Re: MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 29 Sep 2010, 16:20
by Loulou 54
Claasse !

Tu pourrais faire aussi des trucs du genre :
* Ouvrir une image et la positionner avec le curseur
* Différentes fonctions comme rotation, symétrie, grossir...
* Enregistrer une partie de l'écran

(si c'est faisable..) :=):
En effet je ne sais pas trop comment marche les z80. On peut enregistrer des images de différente taille ?
Je pense oui : c'est indispensable pour les jeux ! :D:

Re: MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 29 Sep 2010, 16:22
by Kiligolo
Loulou 54 wrote:En effet je ne sais pas trop comment marche les z80. On peut enregistrer des images de différente taille ?
Je pense oui : c'est indispensable pour les jeux ! :D:

On peut faire des sprites mais à part ça je ne pense pas... :'(:

Re: MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 29 Sep 2010, 16:35
by kindermoumoute
Loulou 54 wrote:Claasse !

merci
Loulou 54 wrote:* Ouvrir une image et la positionner avec le curseur

L'utilité?
Loulou 54 wrote:* Différentes fonctions comme rotation, symétrie, grossir...
* Enregistrer une partie de l'écran
(si c'est faisable..) :=):

ou lala, on est en Axe parser la! pas sur un vrai PC ^^ (et si je retourne l'écran de 90°, il manque des pixel :/), mais je vais réfléchir à la symétrie.
Loulou 54 wrote:En effet je ne sais pas trop comment marche les z80. On peut enregistrer des images de différente taille ?

Théoriquement, oui ; pratiquement.. rien est adapté pour, et ça ne s'adaptera à rien du tout (mon but est comme même de pouvoir réutiliser les images).


EDIT : MISE à jour regarder le premier post!

Re: MEGR dessin 2.0.2 (Axe parser)

Unread postPosted: 29 Sep 2010, 17:04
by Loulou 54
Bah en fait mon programme TI-MAGE sur 89 fait ces fonctions. L'avantage est justement de pouvoir dessiner des sprites pour des jeux ! Ou des images de fond composées d'éléments qui se répètent par exemple !
= Oui j'ai oublié la fonction copier-coller. C'est à dire une fonction avec laquelle tu peux copier un rectangle de l'écran et le recoller n'importe où tu veux, autant de fois que tu veux ! Et tu pourrais aussi faire ça à partir d'un fichier.

La fonction rotation, ça permet, par exemple de mettre du texte à l'envers, ou vertical, voir même penché à 45° (tout cela est faisable dans mon TI-MAGE par exemple) La fonction grossissement peut aussi être pratique au niveau du texte.

En fait, moi j'avais fait TI MAGE justement pour les fonctions inaccessibles interactivement dans l'écran graphique, pas tellement pour les outils. (mes outils de crayon, gomme, etc sont même moins bien que ceux d'origine)

C'est à dire, oui, placer une image où tu veux, copier coller, tourner, grossir *2, ANNULER-RETABLIR une action ! (ça aussi c'est très pratique ! Tu peux peut-être y songer ! ;) )

:#top#: