Étape 12 : Exemples - défilement de texte mélangé
Cet exemple est similaire à celui ci-dessus, mais cette fois nous allons afficher
plusieurs zones de défilement.
Ce code est semblable à celle avec une zone de défilement, mais cette fois, nous avons quelques uns :
void setup() { util_setup(); log_setup(); ss = createSS(); disp = new Display(8, 3, ss); disp->setup(); uint8_t borderSpeed = 20; textUpDown = "* * * * * "; up = new ScrollingText8x8(disp, 64, borderSpeed, 1); up->init(); up->scroll(0, 0, ScrollingText8x8::CONTINOUS_LOOP, textUpDown); down = new ScrollingText8x8(disp, 64, borderSpeed, 2); down->init(); down->scroll(0, 16, ScrollingText8x8::CONTINOUS_LOOP, textUpDown); textLeftRight = "* "; left = new ScrollingText8x8(disp, 8, borderSpeed, 3); left->init(); left->scroll(0, 8, ScrollingText8x8::CONTINOUS_LOOP, textLeftRight); right = new ScrollingText8x8(disp, 8, borderSpeed, 4); right->init(); right->scroll(56, 8, ScrollingText8x8::CONTINOUS_LOOP, textLeftRight); message = new ScrollingText8x8(disp, 48, 50, 5); message->init(); textMessage = "This is an example of multiple scrolling areas ;)"; message->scroll(8, 8, ScrollingText8x8::LOOP, textMessage); } void loop() { util_cycle(); log_cycle(); up->cycle(); down->cycle(); right->cycle(); message->cycle(); left->cycle(); disp->flush(); }
Nous avons créé peu de cas de ScrollingText8x8, chacun d'entre eux contenant texte différent et position à l’écran. Pour lire l’animation vous devez appeler cycle() sur chaque instance, mais vous devez n'appeler qu’une seule fois flush(). Chaque appel de cycle() mettra à jour ça fait partie de l’écran et flush enverra affichage modifié o MAX jetons.