Omnimaga
Calculator Community => [FR] Section Francophone => [FR] Programmation Axe Parser => Topic started 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)
-
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 :
: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
-
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 ?
-
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:
Buff(2) => GDB0ATQ1
5 => {GDB0ATQ1}r
Mais c'est un peu lourd il faut l'admettre
-
Si, on peut nommer nos propres variables.
Exemple ici (http://ourl.ca/9165/270782).
Par contre ne me demandez pas comment ça marche :P
-
Bien joué,
je ne savais pas qu'on pouvait faire ça !
Je vais tester et l'expliquer si je comprends comment ca marche !
-
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 :
: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 :
: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.
-
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
-
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
-
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 ;)
-
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 !
-
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
-
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.
-
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. ;)