Omnimaga

Calculator Community => [FR] Section Francophone => [FR] Programmation Axe Parser => Topic started by: Belette furtive on February 02, 2012, 01:23:14 pm

Title: comment ralentir ?
Post by: Belette furtive on February 02, 2012, 01:23:14 pm
Bonjours à tous, j'ai encore une question sur le fonctionnement de l'axe parser ! ;D  : sur beaucoup de programmes de jeux genre RPG, les personnages bougent en deux temps et à une allure normale. Est ce que quelqu'un pourrait m'expliquer comment c'est possible ? (surtout pour la vitesse de déplacement)
Title: Re: comment ralentir ?
Post by: kindermoumoute on February 02, 2012, 02:55:49 pm
Pour la vitesse de déplacement, il suffit de mettre des pauses. Pour le mouvement de déplacement, il suffit de mettre un compteur dans la boucle principale. Par exemple si tu as 3 images pour un personnage qui marche ; le pied droit en avant ; les deux pieds au milieu ; le pied gauche en avant. On peut imaginer un code comme cela :
Code: [Select]
:1=>I
:While 1           :.Boucle principale
:DS<(I,23)       :.23/8 est toujours compris entre 0 et 3
:End
:Z-Test(I/8,PiedM,PiedD,PiedM,PiedG)=>P
:Pt-On(0,0,P)
:DispGraph
:End
:Return
:
:Lbl PiedD
:Pic1
:Return
:
:Lbl PiedM
:Pic1+8
:Return
:
:Lbl PiedG
:Pic1+16
:Return
Avec Pic1 pointant sur les sprites du perso. Bref, c'est tout bête. ;D
Title: Re: comment ralentir ?
Post by: Belette furtive on February 05, 2012, 02:35:26 pm
Merci, j'ai tout compris, j'ai essayé et ça marche !
Sinon, une autre question pas vraiment en rapport : est ce que en axe, c'est possible de créer des variables et de leur donner les noms que on veut, comme par exemple ATQ1, pour les différencier et se rappeler de leurs utilités dans le programme ?
Title: Re: comment ralentir ?
Post by: Torio on February 05, 2012, 02:38:52 pm
Non, on ne peut pas nommer ses propres variables.
Cependant tu peux contourner le problème en rajoutant après des pointeurs statiques jusqu'à 5 caractères de ton choix.

Ainsi, pour créer une variable ATQ1 on fera par exemple:
Code: [Select]
Buff(2) => GDB0ATQ1
5 => {GDB0ATQ1}r

Mais c'est un peu lourd il faut l'admettre
Title: Re: comment ralentir ?
Post by: Hayleia on February 05, 2012, 02:49:26 pm
Si, on peut nommer nos propres variables.
Exemple ici (http://ourl.ca/9165/270782).
Par contre ne me demandez pas comment ça marche :P
Title: Re: comment ralentir ?
Post by: Torio on February 05, 2012, 02:53:04 pm
Bien joué,
je ne savais pas qu'on pouvait faire ça !

Je vais tester et l'expliquer si je comprends comment ca marche !
Title: Re: comment ralentir ?
Post by: kindermoumoute on February 05, 2012, 03:00:45 pm
Woot, trop génial je savais pas. :o
En fait c'est logique puisque A c'est L1+714, donc si tu veux mettre plus de variable de manière plus compréhensible, par exemple dans la liste 2 :
Code: [Select]
:L2=>°ATQ1
:L2+2=>°ATQ2
:L2+4=>°ATQ3
:L2+6=>°ATQ4
:L2+8=>°ATQ5
:L2+10=>°ATQ6
:.etc
J'ai pas testé mais tu devrais aussi pouvoir faire ce que Torio disait :
Code: [Select]
:Buff(2)=>°ATQ1
:Buff(2)=>°ATQ2
:Buff(2)=>°ATQ3
:Buff(2)=>°ATQ4
:Buff(2)=>°ATQ5
:Buff(2)=>°ATQ6
:.etc
Mais du coup ça augmente la taille de ton exécutable de 2 octets par variables.
Title: Re: comment ralentir ?
Post by: Hayleia on February 05, 2012, 03:00:48 pm
Après un rapide test, il semblerait que cela fonctionne comme cela.
On crée un pointeur en lui donnant son nom et son adresse, du type pointeur→pointeur en utilisant le symbole °
Par exemple, L1→°POINT ou °A→°VAR
Le pointeur ainsi crée peut etre utilisé comme les autres variables :D
Title: Re: comment ralentir ?
Post by: Torio on February 05, 2012, 03:19:50 pm
Toujours est-il que la variable ainsi utilisée restera un alias, et non une nouvelle variable je pense.

EDIT : sauf s'il est possible de faire Buff(2) => ºVAR
Title: Re: comment ralentir ?
Post by: Hayleia on February 05, 2012, 03:21:42 pm
Tout a fait. Mais elle sera plus conviviale a utiliser qu'un pointeur peu parlant du type L1+4, puisque tu peux lui donner le nom que tu veux ;)
Title: Re: comment ralentir ?
Post by: Torio on February 05, 2012, 03:25:10 pm
Oui, il est possible de faire Buff(2) => ºVAR !
Donc on peut bien créer de nouvelles variables en Axe.

On n'aura jamais fini de connaitre toutes les possibilités de Axe !
Title: Re: comment ralentir ?
Post by: Hayleia on February 05, 2012, 03:27:52 pm
Oui, il est possible de faire Buff(2) => ºVAR !
Donc on peut bien créer de nouvelles variables en Axe.

On n'aura jamais fini de connaitre toutes les possibilités de Axe !
Avantage: tu viens effectivement de créer une variable :)
Inconvenient: elle prend deux octets dand to executable, ne fonctionne pas si tu compile en application et active le writeback dans le cas contraire :(

Mais c'est bon a savoir :D
Title: Re: comment ralentir ?
Post by: Belette furtive on February 08, 2012, 03:30:39 pm
hé ben ! Je ne me doutais pas qu'une si petite question pouvait déclencher tant de réponses !
c'est vrai que même si ça reste uniquement des allias, ça permet de s'y retrouver bien plus facilement dans ses programmes.
Title: Re: comment ralentir ?
Post by: kindermoumoute on February 08, 2012, 03:50:33 pm
Il me semble qu'omnimaga est au niveau francophone ce qu'il y a de plus actif au niveau de l'Axe Parser (je parle même pas de la partie anglophone :p ). C'est donc normal que tu trouve des réponses ici, d'ailleurs n'hésite pas à en poser d'autres. ;)