Stap 12: Voorbeelden - lichtkranttekst gemengd
In dit voorbeeld is vergelijkbaar met hierboven, maar deze keer zullen we weergeven
verschillende schuivende gebieden.
Deze code is vergelijkbaar met een schuivende gebied, maar dit keer hebben we een paar:
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(); }
Hebben we enkele exemplaren van de ScrollingText8x8, elke één met verschillende tekst en positie op het scherm. Om te kunnen spelen animatie hebt Bel cycle() op elk exemplaar, maar u moet roepen slechts eenmaal flush(). Elk gesprek op cycle() zal het een deel van de weergave bijwerken en flush stuurt gewijzigde weergave o MAX chips.