Author Topic: Manipulation des appvars en Axe  (Read 27442 times)

0 Members and 2 Guests are viewing this topic.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #30 on: January 24, 2013, 12:48:08 pm »
Alors là, je me souviens avoir utilisé celui de kindermoumoute sur le site du zero au début mais c'est pas lui qui m'a appris à me servir de L1 et tout. Je dis pas qu'il ne l'explique pas, j'en sais rien, juste que je n'ai pas lu cette partie là du tuto si elle existe. J'avais juste lu le début et après je me suis dit qu'il valait mieux passer à la pratique et commencer à coder :P
Mais je te conseille quand même de lire ce tuto si tu est débutant (mais j'ai pas de lien, j'arrive pas à aller sur le sdz en ce moment).
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline dragoon1920

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 9
  • Rating: +0/-0
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #31 on: January 25, 2013, 11:58:14 am »
Pour le sdz, c'est normal il est en passage vers la 1.4 depuis quelques semaines et ils "rénovent" tout, il y a encore pleins de bugs (enfin ça je pense que tu le sais déjà). Et comme par hasard, juste au moment où j'en aurais eu le plus besoin...
Et Notch a dis: Si vous ne pouvez acheter Minecraft, hackez-le!

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #32 on: January 25, 2013, 03:27:11 pm »
(enfin ça je pense que tu le sais déjà)
Non, en fait j'en savais rien. J'ai vu que rien ne marchait quand j'ai voulu te chercher un lien et tu viens de m'apprendre qu'ils avaient des bugs. Faut dire que j'ai un compte sdz mais je m'en sers jamais :P
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline dragoon1920

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 9
  • Rating: +0/-0
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #33 on: January 26, 2013, 11:21:06 am »
Je suis sur le sdz également, c'est aussi bien pratique ;)
Merci tout de même!
Et Notch a dis: Si vous ne pouvez acheter Minecraft, hackez-le!

Offline dragoon1920

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 9
  • Rating: +0/-0
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #34 on: February 04, 2013, 10:39:24 am »
euh... une dernière petite question: j'ai tout compris, mais comment faire pour mettre tous mes pics (ou autre...) dans l'appvar? si je fais
:GetCalc("appvA",40)->L1
:L1->Pic0
:L1+8->Pic1
:L1+16->String0
:[FFFFFFFFFFFFFFFF]->{Pic0}
:[1111111111111111]->{Pic1}
:"Bonjour le monde"->{String1}
:Pt-On(0,0,Pic0
:Pt-On(8,8,Pic1
:DispGraph
:Text(20,20,String0

ca ne marche pas!
Et Notch a dis: Si vous ne pouvez acheter Minecraft, hackez-le!

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Manipulation des appvars en Axe
« Reply #35 on: February 04, 2013, 10:49:14 am »
:GetCalc("appvA",40)->L1

O.O

Maimaimais L1 c'est une constante définie par l'Axe !

Si tu veux accéder aux données contenues dans (par exemple) Pic1 dans (re-par exemple) appvABC, tu dois :
  • Accéder à Pic1 avec GetCalc("Pic1"). Il ne faut pas écrire Pic1 en toutes lettres hein, faut aller le chercher dans [vars] [4].
  • Créer appvABC avec GetCalc("appvABC",756) : puisqu'une Pic fait 756 octets, on a qu'à créer une appvar de même taille.
  • Copier le contenu de la Pic dans l'appvar.

Tout cela se résume en trois lignes de code :

:GetCalc("Pic1")→P
:GetCalc("appvABC",756)→A
:Copy(P,A,756)    ← cette ligne copie les 756 octets commençant à l'adresse contenue dans P sur les 756 octets commençant à l'adresse contenue dans A.
:.En clair, ça copie les 756 octets de P dans A.


Et avec ça, tu auras une appvar appelée ABC qui fera 756 octets (plus le header des appvars et tout, donc un peu plus) et qui contiendra une image.

EDIT : il faut que tu comprennes qu'en Axe, le Pic1 que tu utilises pour tes sprites et tout n'est pas le même que le Pic1 auquel tu accèdes avec GetCalc : le premier n'est qu'un nombre assigné à un nom alors que le deuxième est une variable de la calculatrice, contenant une image !
« Last Edit: February 04, 2013, 10:51:12 am by Matrefeytontias »

Offline dragoon1920

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 9
  • Rating: +0/-0
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #36 on: February 05, 2013, 05:39:49 am »
oui, pardon, je me suis trompé. en fait, comme j'ai plein de pics differents, j'aimerai faire un truc du genre:
:GetCalc("appvA", 40)->{L1}
Pic0A->{L1}
Pic0B->{L1+8}
Pic0C->{L1+16}
[1111111111111111]->Pic0A
[2222222222222222]->Pic0B
[3333333333333333]->Pic0C
.ensuite le reste du programme lorsqu'on utilise les pics.
Pt-On(0,0,Pic0A.etc..
Tout marche tres bien. seul truc:les tiles me prennet toujours autant de memoire! j'aimerai utiliser l'appvar pour les y stocker!
Et Notch a dis: Si vous ne pouvez acheter Minecraft, hackez-le!

Offline TheMachine02

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 452
  • Rating: +105/-0
  • me = EF99+F41A
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #37 on: February 05, 2013, 12:55:38 pm »
si tu veux utiliser une appv pour stocker des spirites, il faudrait plus faire

Code: [Select]
GetCalc("appvA",40)->A
// j'ai l'adresse de l'appvar
[1111111111111111]->Pic0A
[2222222222222222]
[3333333333333333]
// on a pas besoin des autres pointeurs ( les pic0B,C) car Pic0B=(Pic0A+8) et Pic0C=(Pic0A+16)
// après on va copier les spirites dans l'appv
Copy(Pic0A,A,24)


et là, on aura une appv contenant tes spirites
après pour les utiliser, on fait :

Code: [Select]
GetCalc("appvA")->A
Pt-On(0,0,A)
Pt-On(8,0,A+8)
...

j'espère avoir été clair et surtout avoir bien compris ce que tu voulais faire ;D
AXE/asm programmer - unleash the power of z80 //C++//C

epic 3D things http://www.ntu.edu.sg/home/ehchua/programming/opengl/CG_BasicsTheory.html

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #38 on: February 05, 2013, 01:12:07 pm »
En fait, je crois surtout qu'il faut vite apprendre la différence entre pointeur et variable. Tout sera clair à partir de là et rien ne le sera sans ça.
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline dragoon1920

  • LV1 Newcomer (Next: 20)
  • *
  • Posts: 9
  • Rating: +0/-0
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #39 on: February 08, 2013, 03:51:19 am »
c'est génial mais j'ai encore un tout petit petit petit truc...
Peux-t-on faire
:GetCalc("appvA")->A
:A->Pic0
:A+16->Pic0

tout ca pour stocker les sprites dans des pointeurs differents...
Et Notch a dis: Si vous ne pouvez acheter Minecraft, hackez-le!

Offline Matrefeytontias

  • Axe roxxor (kinda)
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1982
  • Rating: +310/-12
  • Axe roxxor
    • View Profile
    • RMV Pixel Engineers
Re: Manipulation des appvars en Axe
« Reply #40 on: February 08, 2013, 08:46:07 am »
Et non, les Pic sont des pointeurs statiques, c'est à dire qu'on ne peut pas leur assigner une valeur variable, ils ne peuvent que contenir une adresse passée avec Data(), [hex] ou "chaine".

En plus t'en as pas besoin, c'est A ton pointeur. Tu peux accéder à tes sprites avec par exemple Pt-On(0,0,A) ou Pt-On(0,0,A+16).

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Manipulation des appvars en Axe
« Reply #41 on: February 08, 2013, 01:21:57 pm »
c'est génial mais j'ai encore un tout petit petit petit truc...
Peux-t-on faire
:GetCalc("appvA")->A
:A->Pic0
:A+16->Pic0

tout ca pour stocker les sprites dans des pointeurs differents...
En fait, je crois surtout qu'il faut vite apprendre la différence entre pointeur et variable. Tout sera clair à partir de là et rien ne le sera sans ça.
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s