Home E-Books Effetti speciali e sviluppo giochi in Java esempi con showStatus() 

Effetti speciali e sviluppo giochi in Java(TM) -Altri esempi con showStatus() 

di Anibal Wainstein (traduzione di Hanami Solutions)

3.1 Altri esempi con showStatus() 

Gli effetti nella finestra di Status sono usati spesso dai web designers. Grazie alla nostra conoscenza dei threads, possiamo iniziare a fare alcune animazioni nella finestra di status.

3.1.1 Il vostro primo scroller (statusscroller) 

Ricordo che la prima applet che ho programmato era una applet chiamata URLScroll. Era uno degli effetti più comuni a quei tempi, e di solito avevano un messaggio di testo che si spostava da destra a sinistra o verso l'alto. Abbiamo esaminato nella sezione 1.4.1 come ottenere una sottostringa da una stringa più lunga. Iniziate con l'aprire il vecchio file threadtest.java e salvatene una copia sotto un altro nome ("statusscroller" per esempio). Aggiungiamo ora un metodo init() in cui il messaggio sia inizializzato:



public String message;
public void init() { message=" ";
message+=" ";
message+=" ";
message+=" ";
message+="Anibal Wainstein's Basic Course ";
message+="in Special Effects and Game development in Java(TM)";}
Dichiariamo subito una variabile globale chiamata "message". Questa conterrà il messaggio che scriveremo. Partiamo inizializzando la variabile con una riga vuota e poi aggiungendo altre linee vuote. Il messaggio viene aggiunto alla fine di queste linee. Se siete confusi dal modo in cui sto creando il messaggio sappiate che:
message="message 1 ";
message+="message 2";
è lo stesso che
message="message 1 " + "message 2";
L'idea del nostro scroller è che ritagliamo la stringa e mostriamo parti sempre più brevi nella finestra di status finché non resta niente da mostrare. Riscrivete il metodo run() nella vecchia applet:
public void run()
{
    while (true)
    {
        int L=message.length();
        for (int i=0; i<L; i++)
        {
            showStatus(message.substring(i,L));
            try {Thread.sleep(100);}
            catch(InterruptedException e) {}
        }
    } }
Qui, cominciamo trovando per prima cosa la lunghezza della nostra stringa, con l'aiuto del metodo length() della classe String, il risultato viene immagazzinato nella variabile "L". Il ciclo-for conterà dalla posizione 0 della stringa, sino alla fine del messaggio. Substring() può a quel punto prendere la parte della stringa che inizia da questa posizione e finisce alla fine della stringa, che è la posizione "L". Aggiungiamo una pausa di un decimo di secondo (100 millisecondi) dopo aver mostrato la stringa. Dopo che la stringa è stata ritagliata sino alla fine, l'intero processo ricomincia , grazie al fatto che abbiamo incluso il codice entro un ciclo while infinito.
Osservate lo statusscroller finito clickando qui

 

 


Pagina seguente >>