[TUTO][AXE] Nouvelle methode de scrolling d'image en axe.
Posted: 28 Oct 2012, 21:08
Matref a fait un tuto similaire : http://espace-ti.forumactif.com/t698-ax ... nd-d-ecran ( les deux sont autant valables l'un que l'autre )
Nous allons donc voir comment faire pour faire défiler l’écran en copiant non octet par octet mais bit par bit...
1) Nous allons tout d'abord absorber l'image enregistrée dans la calculatrice :
2) Il faut enregistrer l'état du premier bit de chaque ligne dans une liste :
3) Ensuite on va tout simplement décaler le buffer d'un pixel :
4) Il faut donc ensuite copier l’état des bits enregistrés dans la liste L1 de l'autre côté :
Ce qui nous donne en code final pour le scrolling de droite à gauche :
de gauche à droite :
De bas en haut :
De haut en bas :
Enjoy
Nous allons donc voir comment faire pour faire défiler l’écran en copiant non octet par octet mais bit par bit...
1) Nous allons tout d'abord absorber l'image enregistrée dans la calculatrice :
- Code: Select all
:[pic0]->pic1
:dispgraph(pic1)
2) Il faut enregistrer l'état du premier bit de chaque ligne dans une liste :
- Code: Select all
:0->r1
:for(64)
:({r1*12+L6}e0)->{r1+select(r1,+1->r1)}
:End
3) Ensuite on va tout simplement décaler le buffer d'un pixel :
- Code: Select all
:horizontal -
4) Il faut donc ensuite copier l’état des bits enregistrés dans la liste L1 de l'autre côté :
- Code: Select all
:0->r1
:for(64)
:{r1+L1}?{r1*12+11+L6->r2} or 1->{r2}
:r1++
:End
Ce qui nous donne en code final pour le scrolling de droite à gauche :
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
:[pic0]->pic1
:dispgraph(pic1)
:while 1
:0->r1
:for(64)
:({r1*12+L6}e0=1)->{r1+select(r1,+1->r1)}
:End
:horizontal -
:0->r1
:for(64)
:{r1+L1}=1?{r1*12+11+L6->r2} or 1->{r2}
:r1++
:End
:EndIf getkey
de gauche à droite :
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
:[pic0]->pic1
:dispgraph(pic1)
:while 1
:0->r1
:for(64)
:({r1*12+11+L6}e4=1)->{L1+select(r1,+1->r1)}
:End
:horizontal +
:0->r1
:for(64)
:{r1+L1}=1?{r1*12+L6->r2} or 128->{r2}
:r1++
:End
:EndIf getkey
De bas en haut :
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
:[pic0]->pic1
:dispgraph(pic1)
:while 1
:0->r1
:for(12)
:{R1+L6}->{L1+select(r1,+1->r1)}
:End
:vertical -
:0->r1
:for(12)
:{r1+L1}->{select(r1,+1->r1)+744+L6}
:End
:EndIf getkey
De haut en bas :
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
:[pic0]->pic1
:dispgraph(pic1)
:while 1
:dispgraph
:0->r1
:for(12)
:{r1+744+L6}->{L1+select(r1,+1->r1)}
:End
:vertical +
:0->r1
:for(12)
:{r1+L1}->{select(r1,+1->r1)+L6}
:End
:EndIf getkey
Enjoy