home *** CD-ROM | disk | FTP | other *** search
-
- AnfyPlasma 2.0 - Copyright (C) by Fabio Ciucci 1996/97
-
-
- Questa applet puo' generare e animare un effetto "plasma" calcolato in
- tempo reale. Questo significa che non e' un'animazione (il cui caricamento
- in rete richiederebbe minuti), ma e' il risultato di formule complicatissime
- che eseguono miliardi di istruzioni per ogni fotogramma. Piu' o meno... :)
- Ricordate che servono sia Plasma3.class che Lware.class.
- Dovete uploadare sul vostro sito questi 2 file .class e aggiungere il
- tag <applet> al documento html per inserire l'applet nella vostra pagina.
- L'applet e' pienamente parametrizzata, per cui si puo' generare qualsiasi
- tipo di plasma. Ecco un esempio di cio' che si deve scrivere nell'html
- (le cose dopo i ; sono commenti con i valori minimi-massimi accettati):
-
-
- <applet code="Plasma3.class" width=192 height=192> ; Nome, larghezza, altezza
- <param name=res value="3"> ; risoluzione (1-8)
- <param name=gen1 value="43"> ; generatore1 (8-2000)
- <param name=gen2 value="31"> ; generatore2 (3-256)
- <param name=gen3 value="36"> ; generatore3 (3-256)
- <param name=red1 value="0"> ; Rosso1 (0-255)
- <param name=red2 value="127"> ; Rosso2 (0-255)
- <param name=red3 value="1"> ; Rosso3 (1-8)
- <param name=green1 value="127"> ; Verde1 (0-255)
- <param name=green2 value="127"> ; Verde2 (0-255)
- <param name=green3 value="2"> ; Verde3 (1-8)
- <param name=blue1 value="127"> ; Blu1 (0-255)
- <param name=blue2 value="127"> ; Blu2 (0-255)
- <param name=blue3 value="1"> ; Blu3 (1-8)
- <param name=speed value="1"> ; Velocita' (1-8)
- <param name=textscroll value="plasmscr.txt"> ; File per lo scrolltext o "NO"
- <param name=textoffset value="140"> ; Txtscroll posizione y
- <param name=textspeed value="1"> ; Txtscroll velocita'
- <param name=textfont value="Arial"> ; Txtscroll nome font
- <param name=textbold value="NO"> ; Txtscroll grassetto (YES - NO)
- <param name=textsize value="24"> ; Txtscroll grandezza font
- <param name=textshadow value="YES"> ; Txtscroll ombra ("YES" o "NO")
- <param name=TextColR value="200"> ; Txtscroll colore (compon. rossa)
- <param name=TextColG value="255"> ; Txtscroll colore (compon. verde)
- <param name=TextColB value="190"> ; Txtscroll colore (compon. blu)
- <param name=TextSColR value="20"> ; Txtscroll col. ombra (c. rossa)
- <param name=TextSColG value="20"> ; Txtscroll col. ombra (c. verde)
- <param name=TextSColB value="50"> ; Txtscroll col. ombra (c. blu)
- <param name=TextJumpAmp value="0"> ; Txtscroll ampiezza salti
- <param name=TextJumpSpd value="0"> ; Txtscroll velocita' salti
- <param name=memdelay value="1000"> ; Ritardo deallocazione memoria
- <param name=priority value="3"> ; Priorita' applet (1..10)
- <param name=fixnetscape value="NO"> ; Correggi Netscape 3.0 (YES - NO)
- Your browser doesn't suppor Java. ; Msg nei browsers senza java
- </applet> ; Fine classtag
-
-
- NOTA: Non mettere i "; commenti" nell'HTML finale!!!
-
- Copia e incolla nell'html questo tag corretto e "pulito":
-
-
- <applet code="Plasma3.class" width=192 height=192>
- <param name=res value="3">
- <param name=gen1 value="43">
- <param name=gen2 value="31">
- <param name=gen3 value="36">
- <param name=red1 value="0">
- <param name=red2 value="127">
- <param name=red3 value="1">
- <param name=green1 value="127">
- <param name=green2 value="127">
- <param name=green3 value="2">
- <param name=blue1 value="127">
- <param name=blue2 value="127">
- <param name=blue3 value="1">
- <param name=speed value="1">
- <param name=textscroll value="plasmscr.txt">
- <param name=textoffset value="100">
- <param name=textspeed value="2">
- <param name=textfont value="Arial">
- <param name=textbold value="NO">
- <param name=textsize value="36">
- <param name=textshadow value="YES">
- <param name=TextColR value="250">
- <param name=TextColG value="150">
- <param name=TextColB value="250">
- <param name=TextSColR value="20">
- <param name=TextSColG value="20">
- <param name=TextSColB value="50">
- <param name=TextJumpAmp value="0">
- <param name=TextJumpSpd value="0">
- <param name=memdelay value="1000">
- <param name=priority value="3">
- <param name=fixnetscape value="NO">
- Spiacente, ma il tuo browser non supporta il Java
- </applet>
-
-
- ---------
-
-
- Istruzioni dettagliate sul cambiamento dei parametri:
-
-
- La grandezza dell'applet e' determinata dai tag "width" e "height".
-
- Il parametro res determina la risoluzione: con res=1 i pixel sono piccoli,
- ma l'effetto e' piu' lento. Con res=8 i pixel sono grossi (forse troppo), ma
- l'effetto in compenso e' molto piu' veloce. Penso comunque che la migliore
- scelta sia di tenere il res tra 2 e 4.
-
- Per quanto riguarda i generatori di plasma gen1,gen2,gen3, si puo' dire che
- gen1 e' una specie di "quoziente di sfumatura": il minimo e' 8 (molto
- sfumato, annebbiato), e il massimo e' 2000, dove l'effetto diventa a dir
- poco spichedelico (anche troppo, secondo me).
- Gen2 e Gen3 sono i valori di allungamento x e y: possono andare da un minimo
- di 3 (molte piccole curve) ad un massimo di 256 (una grande curva).
-
- Per la palette (tavolozza colori), ci sono 3 parametri per ogni componente
- di Rosso, Verde, Blu (RGB: Red, Green, Blue).
- Questo e' molto complicato, ma da maggiore flessibilita' (anche per quanto
- riguarda la possibilita'di creare colori bruttissimi hehehe).
- I valori red1,green1,blue1 (0-255) sono i "moltiplicatori" di tonalita'.
- I valori red2,green2,blue2 (0-255) sono numeri fissi aggiunti alla tonalita'.
- I valori red3,green3,blue3 (1-8) sono i quozienti di "sfumato/increspato"
- Questo significa, per esempio, che se red1=0, allora green3 e' disabilitato
- (non cambia niente se si modifica) e tutti i 256 colori della palette avranno
- come componente rossa il valore immesso in red2.
- Occorrera' fare qualche esperimento prima di trovare le palette... ma di
- certo si puo' fare di tutto.
- Per chi riuscise a capirla, ecco la formula usata per calcolare la palette,
- spero sia di aiuto: (considerate che r va da 0 a 255):
-
- red = (sin(r*PI*2/(256/red3 ))*red1 )+red2
- green= (sin(r*PI*2/(256/green3))*green1)+green2
- blue = (sin(r*PI*2/(256/blue3 ))*blue1 )+blue2
-
- In ogni caso una componete NON deve superare 255. Facile, no?
-
- Lo speed, (velocita') da 1 a 8, e' utile quando si fanno plasma molto larghi,
- di conseguenza lenti nell'esecuzione... si potra' incrementare un po' questo
- valore, ma il plasma non sara' veramente piu' veloce: semplicemente saranno
- saltati dei fotogrammi, e questo rende piu' scattoso il movimento, per cui
- consiglio di usare sempre speed=1, o al limite mai superare il valore 4.
-
-
- ---------
-
-
- Parametri dello Scrolltext (testo scorrevole) opzionale:
-
-
- Si puo' attivare opzionalmente un testo scorrevole sopra l'applet.
- Se non si desidera lo scrolltext, basta disattivarlo mettendo "NO" al
- parametro "textscroll".
- Altrimenti occorre fornire il name di un file di testo ASCII, dove occorre
- scrivere il tesco che si vuole far scorrere.
- E' supportata solo una linea di testo, che puo' essere lunga quanto si
- desidera.
- Ricordati di uploadare (mandare sul server) anche il file di testo, se
- attivi lo scrolltext!
-
- Se e' attivato, ecco i parametri:
-
- Con "textoffset" si sceglie lo scostamento Y rispetto alla prima linea
- in alto: mettendoci 0 il testo sara' posizionato in cima, per esempio, e
- mettendo un valore vicino all'altezza dell'applet sara' posizionato in
- fondo.
-
- Col parametro "textspeed" si decide la velocita' di scorrimento.
-
- Con "textfont" si sceglie il font del testo (tipo di carattere).
- Non scegliere font strane o non standard, non presenti in tutti i sistemi.
- I font piu' comuni sono "Arial", "TimesRoman" e "Courier".
- Se il font richiesto non e' presente, viene adottato il piu' "vicino".
-
- Settando "textbold" a "YES" si mette il grassetto al font, che quindi
- diventa un po' piu' grosso, altrimenti settandolo a "NO" si hanno i contorni
- normali.
-
- Con "textsize" si puo' cambiare la grandezza del font.
- Le grandezze standard sono: 8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,72.
- Valori intermedi saranno scalati alla grandezza disponibile piu' vicina.
-
- Settando "textshadow" a "YES", un'ombra sara' aggiunta al testo scorrevole.
- Altrimenti, settandolo a "NO", nessuna ombra sara' "proiettata".
-
- Puoi scegliere il colore del testo con:
-
- TextColR = Componente rossa del colore (0-255)
- TextColG = Componente verde del colore (0-255)
- TextColB = Componente blu del colore (0-255)
-
- Per esempio, 0,0,0 e' nero, 255,255,255 e' bianco, 255,0,0 e' rosso,
- 255,255,0 e' giallo, 128,128,128 e' grigio.
- Puoi comporre qualsiasi colore, puoi cercarlo provando "a mano" o usando
- il selettore/miscelatore colori di un qualsiasi programma da disegno, per
- trovare le componenti di rosso, verde, blu (red, green, blue) del colore che
- cerchi.
-
- Con TextSColR,TextSColG,TextSColB puoi selezionare il colore per l'ombra
- del testo.
-
- Se si vuole, e' possibile attivare la funzione di "saltellamento" del testo.
- Se "TextJumpAmp" e' settato a "0", non sara' mostrato alcun saltellamento.
- Ma incrementando il valore si avra' un maggiore saltellamento.. maggiore
- ampiezza = salti piu' alti.
-
- Col parametro "TextJumpSpd" si seleziona la velocita' di saltellaggio.
-
-
- ---------
-
-
- Parametri di compatibilita':
-
-
- Il parametro "memdelay" e' utile solo per far funzionare le applet senza
- problemi in alcune versioni piene di bug (errori) di Netscape 3, che non
- sono in grado di liberare (deallocare) correttamente la memoria occupata
- precedentemente (allocata): questo porterebbe al riempimento di tutta la
- memoria dopo un minuto o due che l'applet e' in esecuzione.
- In certo casi questo provoca anche crash del sistema operativo.
- Le ultime versioni dei browsers hanno corretto questo problema, ma se vuoi
- far funzionare bene le applet anche nelle vecchie ed errate versioni dei
- browsers, si puo' settare "memdelay" a valori bassi, ad esempio "10" o "16".
- Questo pero' rallentera' di molto la velocita' dell'applet, quindi occorre
- scegliere tra l'avere la velocita' (memdelay settato a 1000 o superiori) o
- lentezza compatibile con i vecchi browsers (memdelay settato a 20 o meno).
-
- Il parametro "priority" e' utile principalmente quando si eseguono piu' di
- un'applet nella stessa pagina, e una di queste rallenta o si blocca.
- Se questa applet viene eseguita troppo rallentata, o si blocca perche'
- un'altra ruba tutta la potenza del processore, prova ad incrementare la
- priorita'.
- Altrimenti, se l'applet funziona bene e le altre sono rallentate, decrementa
- la priorita'. Considera che la priorita' minima e' 1, la priorita' normale
- e' 5, e la massima e' 10.
- Normalmente una priorita' di 3 e' giusta per applet singole.
-
- Il parametro "fixnetscape" e' utile solo quando l'applet e' visualizzata
- con Netscape 3, sotto Win95. Infatti, tale netscape commette un errore
- visualizzando l'IndexColorModel, diminuendo i colori e retinando l'immagine.
- Settando "fixnetscape" a "YES", l'effetto sara' piu' lento in tutti i
- browsers, ma avra' i colori corretti in Netscape 3.0.
- Settandolo a "NO", l'effetto funzionera' piu' velocemente in tutti i
- browser, eccetto Netscape 3.0 che li visualizzata in modo peggiore.
- Da notare che Netscape 4 ed explorer non hanno questo problema.
-
-
- ---------
-
-
- Copyright e note sulla distribuzione.
-
-
- Fabio Ciucci e' l'autore e proprietario di questa applet.
- Puoi usare liberamente questa applet per abbellire le tue pagine web.
- Pero', dato che sono l'autore, ho inserito una finestrella segreta che
- apparira' se l'applet e' clickata col mouse: e' esterna al browser, percui
- non danneggera' il design della tua bellissima pagina html.
- Tale piccola finestrella mostra semplicemente il mio nome e chiede se si
- vuole fare una visitina alla pagina delle mie applet, per poterle prendere
- e usare. L'utente potra' connettersi o meno, a seconda delle sue preferenze,
- dopo aver visitato il vostro stupendo sito.
- In ogni caso, se il link (connect) e' accettato, sara' aperta una nuova
- finestra browser, e la tua pagina rimarra' nella finestra originale, in
- questo modo non "perderai" il visitatore.
- Spero che questa credit part non sia un problema eccessivo per te...
- Considera che userai un effetto programmato da me, senza pagare niente!
-
-
-
-
- Fabio Ciucci (Randy/Ram Jam)
-
- fabioc@anfiteatro.it
-
- http://www.anfiteatro.it/java.html
-
-
-