Lettera evidenziata

Frase ferma in cui cambia solo il colore di un carattere alla volta, mentre tutti gli altri caratteri restano uguali.

    let frase = "una sola lettera alla volta cambia colore";
let ritmo = 6;    // fotogrammi per ogni lettera

function setup() {
    createCanvas( 670, 120 );
    textFont( "Courier New", 24 );
}

function draw() {
    background( 255 );
    let attuale = floor( frameCount / ritmo ) % frase.length;

    for (let i = 0; i < frase.length; i++) {
        if (i == attuale) {
            fill( 200, 0, 0 );
        } else {
            fill( 180 );
        }
        text( frase.charAt( i ), 20 + i*15, 70 );
    }
}
  

Algoritmo

a ogni fotogramma:                                                      draw()
    calcolare l'indice della lettera attuale: +1 ogni ritmo fotogrammi  floor()
    per ogni lettera della frase:                                       for()
        se è quella attuale, scegliere il rosso                         if()
        altrimenti scegliere il grigio                                  else
        disegnare la lettera

Istruzioni


  

L’indice del carattere da evidenziare: aumenta di 1 ogni ritmo fotogrammi, e l’operatore % lo riporta a 0 dopo l’ultimo carattere.

Variazioni

Con i <= attuale al posto di i == attuale i caratteri già raggiunti restano evidenziati.

Con questa condizione si evidenziano insieme tutti i caratteri uguali a quello attuale: