Paso 12: Ejemplos - desplazamiento de texto mezclado
Este ejemplo es similar a la anterior, pero esta vez nos mostrará los
varias zonas de desplazamiento.
Este código es similar a uno con un área desplazable, pero esta vez tenemos unos cuantos:
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(); }
Hemos creado algunos casos de ScrollingText8x8, cada uno que contiene el texto y la posición en la pantalla. Para reproducir la animación tienes que llamar cycle() en cada instancia, pero tienes que llamar una sola vez flush(). Cada llamada a cycle() a actualizar es parte de la pantalla y descarga enviará pantalla cambiante o chips MAX.