home *** CD-ROM | disk | FTP | other *** search
-
- AnfyFire 2.1 - Copyright (C) by Fabio Ciucci 1996/97
-
-
- Questa applet puo' generare e animare un effetto "fiamma" 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... :)
- Questa e' la versione 2.0, molto piu' veloce della 1.0, credo che sia il
- massimo possibile in Java, a meno che non si precalcoli un'animazione col
- fuoco e si rivisualizzi, ma cio' farebbe finire la memoria e richiederebbe
- un sacco di tempo all'inizio, e la gente avrebbe gia' cambiato pagina :)
- Ricordate che servono sia fire.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="fire.class" width=140 height=256> ; Nome, larghezza, altezza
- <param name=fwidth value="70"> ; larghezza (1-1024)
- <param name=fheigth value="64"> ; altezza (1-1024)
- <param name=resx value="2"> ; risoluzione orizzontale (1-8)
- <param name=resy value="4"> ; risoluzione verticale (1-8)
- <param name=fcut value="7"> ; inizio del taglio fiamma (1-127)
- <param name=fsub value="4"> ; valore graduale di taglio (1-127)
- <param name=deflight value="30"> ; luce minima alla base (0-127)
- <param name=fmode value="2"> ; modalita' (1=rettangolo 2=cono)
- <param name=rndrep value="4"> ; tipo di generatore casuale (1-9)
- <param name=paletteR value="5"> ; quantita' rosso (0-8)
- <param name=paletteG value="3"> ; quantita' verde (0-8)
- <param name=paletteB value="1"> ; quantita' blu (0-8)
- <param name=textscroll value="firescr.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="fire.class" width=140 height=256>
- <param name=fwidth value="70">
- <param name=fheigth value="64">
- <param name=resx value="2">
- <param name=resy value="4">
- <param name=fcut value="7">
- <param name=fsub value="4">
- <param name=deflight value="30">
- <param name=fmode value="2">
- <param name=rndrep value="4">
- <param name=paletteR value="5">
- <param name=paletteG value="3">
- <param name=paletteB value="1">
- <param name=textscroll value="firescr.txt">
- <param name=textoffset value="1">
- <param name=textspeed value="1">
- <param name=textfont value="Arial">
- <param name=textbold value="NO">
- <param name=textsize value="18">
- <param name=textshadow value="NO">
- <param name=TextColR value="255">
- <param name=TextColG value="55">
- <param name=TextColB value="0">
- <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:
-
-
- fwidth e fheight sono la larghezza e altezza "interne" del fuoco, ma sono
- quelle "reali" dell'applet solo se resx=1 e resy=1. Infatti, resx e resy
- sono una specie di moltiplicatori di dimensioni, uno zoom: se fwidth e
- fheigth sono a 8 e 10 rispettivamente, e resx=2 & resy=2, la grandezza reale
- sara' 16x20. Cioe' la grandezza reale e' fwidth*resx X fheight*resy.
- Questo effetto e' migliore quando resy e' maggiore di resy.
-
- In quando ai valori di "taglio" delle fiamme, fcut e fsub, considerate che
- fcut deve essere maggiore di fsub, e alcuni valori generano effetti sbagliati
- e a dir poco orribili. I valori possono andare da 1 a 127.
-
- Il deflight (0-127) determina la luce minima alla base del fuoco... quindi
- mettendolo a 0 il fuoco avra' piu' "buchi" neri che mettendolo a 127, dove
- spariscono tutti (il fuoco pero' diventa piatto).
-
- Se preferisci il fuoco come un blocco rettangolare, setta fmode=1, oppure
- settalo a 2 per avere una fiamma conica (che si restringe salendo).
-
- Si puo' decidere il grado di "sfumatura" del generatore casuale, tramite
- il parametro rndrep (1-9)... con valori piu' bassi si hanno fiamme meno
- sfumate, piu' "vive e selvagge", e vice-versa.
-
- Per quanto riguarda la palette, ci sono 3 valori per Rosso Vered Blu (RGB),
- che possono andare da 0 (niente) a 8 (pieno), e sono chiamati paletteR,
- paletteG, paletteB.
- Quindi puoi generare fiamme rosse (fuoco), verdi (magia), blu (gas) eccetera
- eccetera, come preferisci... ci sono 700 combinazioni possibili, scegli
- quella che preferisci.
-
-
- ---------
-
-
- 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
-
-
-