home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / ANJAVAPP.EXE / PLASMA / plasma3it.txt < prev    next >
Encoding:
Text File  |  1997-08-24  |  12.5 KB  |  279 lines

  1.  
  2.           AnfyPlasma 2.0 - Copyright (C) by Fabio Ciucci 1996/97
  3.  
  4.  
  5. Questa applet puo' generare e animare un effetto "plasma" calcolato in
  6. tempo reale. Questo significa che non e' un'animazione (il cui caricamento
  7. in rete richiederebbe minuti), ma e' il risultato di formule complicatissime
  8. che eseguono miliardi di istruzioni per ogni fotogramma. Piu' o meno... :)
  9. Ricordate che servono sia Plasma3.class che Lware.class.
  10. Dovete uploadare sul vostro sito questi 2 file .class e aggiungere il
  11. tag <applet> al documento html per inserire l'applet nella vostra pagina.
  12. L'applet e' pienamente parametrizzata, per cui si puo' generare qualsiasi
  13. tipo di plasma. Ecco un esempio di cio' che si deve scrivere nell'html
  14. (le cose dopo i ; sono commenti con i valori minimi-massimi accettati):
  15.  
  16.  
  17. <applet code="Plasma3.class" width=192 height=192> ; Nome, larghezza, altezza
  18. <param name=res value="3">                ; risoluzione (1-8)
  19. <param name=gen1 value="43">              ; generatore1 (8-2000)
  20. <param name=gen2 value="31">              ; generatore2 (3-256)
  21. <param name=gen3 value="36">              ; generatore3 (3-256)
  22. <param name=red1 value="0">               ; Rosso1 (0-255)
  23. <param name=red2 value="127">             ; Rosso2 (0-255)
  24. <param name=red3 value="1">               ; Rosso3 (1-8)
  25. <param name=green1 value="127">           ; Verde1 (0-255)
  26. <param name=green2 value="127">           ; Verde2 (0-255)
  27. <param name=green3 value="2">             ; Verde3 (1-8)
  28. <param name=blue1 value="127">            ; Blu1 (0-255)
  29. <param name=blue2 value="127">            ; Blu2 (0-255)
  30. <param name=blue3 value="1">              ; Blu3 (1-8)
  31. <param name=speed value="1">              ; Velocita' (1-8)
  32. <param name=textscroll value="plasmscr.txt"> ; File per lo scrolltext o "NO"
  33. <param name=textoffset value="140">          ; Txtscroll posizione y
  34. <param name=textspeed value="1">          ; Txtscroll velocita'
  35. <param name=textfont value="Arial">       ; Txtscroll nome font
  36. <param name=textbold value="NO">          ; Txtscroll grassetto (YES - NO)
  37. <param name=textsize value="24">          ; Txtscroll grandezza font
  38. <param name=textshadow value="YES">       ; Txtscroll ombra ("YES" o "NO")
  39. <param name=TextColR value="200">         ; Txtscroll colore (compon. rossa)
  40. <param name=TextColG value="255">         ; Txtscroll colore (compon. verde)
  41. <param name=TextColB value="190">         ; Txtscroll colore (compon. blu)
  42. <param name=TextSColR value="20">         ; Txtscroll col. ombra (c. rossa)
  43. <param name=TextSColG value="20">         ; Txtscroll col. ombra (c. verde)
  44. <param name=TextSColB value="50">         ; Txtscroll col. ombra (c. blu)
  45. <param name=TextJumpAmp value="0">        ; Txtscroll ampiezza salti
  46. <param name=TextJumpSpd value="0">        ; Txtscroll velocita' salti
  47. <param name=memdelay value="1000">        ; Ritardo deallocazione memoria
  48. <param name=priority value="3">           ; Priorita' applet (1..10)
  49. <param name=fixnetscape value="NO">       ; Correggi Netscape 3.0 (YES - NO)
  50. Your browser doesn't suppor Java.         ; Msg nei browsers senza java
  51. </applet>                                 ; Fine classtag
  52.  
  53.  
  54. NOTA: Non mettere i "; commenti" nell'HTML finale!!!
  55.  
  56. Copia e incolla nell'html questo tag corretto e "pulito":
  57.  
  58.  
  59. <applet code="Plasma3.class" width=192 height=192>
  60. <param name=res value="3">
  61. <param name=gen1 value="43">
  62. <param name=gen2 value="31">
  63. <param name=gen3 value="36">
  64. <param name=red1 value="0">
  65. <param name=red2 value="127">
  66. <param name=red3 value="1">
  67. <param name=green1 value="127">
  68. <param name=green2 value="127">
  69. <param name=green3 value="2">
  70. <param name=blue1 value="127">
  71. <param name=blue2 value="127">
  72. <param name=blue3 value="1">
  73. <param name=speed value="1">
  74. <param name=textscroll value="plasmscr.txt">
  75. <param name=textoffset value="100">
  76. <param name=textspeed value="2">
  77. <param name=textfont value="Arial">
  78. <param name=textbold value="NO">
  79. <param name=textsize value="36">
  80. <param name=textshadow value="YES">
  81. <param name=TextColR value="250">
  82. <param name=TextColG value="150">
  83. <param name=TextColB value="250">
  84. <param name=TextSColR value="20">
  85. <param name=TextSColG value="20">
  86. <param name=TextSColB value="50">
  87. <param name=TextJumpAmp value="0">
  88. <param name=TextJumpSpd value="0">
  89. <param name=memdelay value="1000">
  90. <param name=priority value="3">
  91. <param name=fixnetscape value="NO">
  92. Spiacente, ma il tuo browser non supporta il Java
  93. </applet>
  94.  
  95.  
  96.                              ---------
  97.  
  98.  
  99. Istruzioni dettagliate sul cambiamento dei parametri:
  100.  
  101.  
  102. La grandezza dell'applet e' determinata dai tag "width" e "height".
  103.  
  104. Il parametro res determina la risoluzione: con res=1 i pixel sono piccoli,
  105. ma l'effetto e' piu' lento. Con res=8 i pixel sono grossi (forse troppo), ma
  106. l'effetto in compenso e' molto piu' veloce. Penso comunque che la migliore
  107. scelta sia di tenere il res tra 2 e 4.
  108.  
  109. Per quanto riguarda i generatori di plasma gen1,gen2,gen3, si puo' dire che
  110. gen1 e' una specie di "quoziente di sfumatura": il minimo e' 8 (molto
  111. sfumato, annebbiato), e il massimo e' 2000, dove l'effetto diventa a dir
  112. poco spichedelico (anche troppo, secondo me).
  113. Gen2 e Gen3 sono i valori di allungamento x e y: possono andare da un minimo
  114. di 3 (molte piccole curve) ad un massimo di 256 (una grande curva).
  115.  
  116. Per la palette (tavolozza colori), ci sono 3 parametri per ogni componente
  117. di Rosso, Verde, Blu (RGB: Red, Green, Blue).
  118. Questo e' molto complicato, ma da maggiore flessibilita' (anche per quanto
  119. riguarda la possibilita'di creare colori bruttissimi hehehe).
  120. I valori red1,green1,blue1 (0-255) sono i "moltiplicatori" di tonalita'.
  121. I valori red2,green2,blue2 (0-255) sono numeri fissi aggiunti alla tonalita'.
  122. I valori red3,green3,blue3 (1-8) sono i quozienti di "sfumato/increspato"
  123. Questo significa, per esempio, che se red1=0, allora green3 e' disabilitato
  124. (non cambia niente se si modifica) e tutti i 256 colori della palette avranno
  125. come componente rossa il valore immesso in red2.
  126. Occorrera' fare qualche esperimento prima di trovare le palette... ma di
  127. certo si puo' fare di tutto.
  128. Per chi riuscise a capirla, ecco la formula usata per calcolare la palette,
  129. spero sia di aiuto: (considerate che r va da 0 a 255):
  130.  
  131.       red =  (sin(r*PI*2/(256/red3  ))*red1  )+red2
  132.       green= (sin(r*PI*2/(256/green3))*green1)+green2
  133.       blue = (sin(r*PI*2/(256/blue3 ))*blue1 )+blue2
  134.  
  135. In ogni caso una componete NON deve superare 255. Facile, no?
  136.  
  137. Lo speed, (velocita') da 1 a 8, e' utile quando si fanno plasma molto larghi,
  138. di conseguenza lenti nell'esecuzione... si potra' incrementare un po' questo
  139. valore, ma il plasma non sara' veramente piu' veloce: semplicemente saranno
  140. saltati dei fotogrammi, e questo rende piu' scattoso il movimento, per cui
  141. consiglio di usare sempre speed=1, o al limite mai superare il valore 4.
  142.  
  143.  
  144.                              ---------
  145.  
  146.  
  147. Parametri dello Scrolltext (testo scorrevole) opzionale:
  148.  
  149.  
  150. Si puo' attivare opzionalmente un testo scorrevole sopra l'applet.
  151. Se non si desidera lo scrolltext, basta disattivarlo mettendo "NO" al
  152. parametro "textscroll".
  153. Altrimenti occorre fornire il name di un file di testo ASCII, dove occorre
  154. scrivere il tesco che si vuole far scorrere.
  155. E' supportata solo una linea di testo, che puo' essere lunga quanto si
  156. desidera.
  157. Ricordati di uploadare (mandare sul server) anche il file di testo, se
  158. attivi lo scrolltext!
  159.  
  160. Se e' attivato, ecco i parametri:
  161.  
  162. Con "textoffset" si sceglie lo scostamento Y rispetto alla prima linea
  163. in alto: mettendoci 0 il testo sara' posizionato in cima, per esempio, e
  164. mettendo un valore vicino all'altezza dell'applet sara' posizionato in
  165. fondo.
  166.  
  167. Col parametro "textspeed" si decide la velocita' di scorrimento.
  168.  
  169. Con "textfont" si sceglie il font del testo (tipo di carattere).
  170. Non scegliere font strane o non standard, non presenti in tutti i sistemi.
  171. I font piu' comuni sono "Arial", "TimesRoman" e "Courier".
  172. Se il font richiesto non e' presente, viene adottato il piu' "vicino".
  173.  
  174. Settando "textbold" a "YES" si mette il grassetto al font, che quindi
  175. diventa un po' piu' grosso, altrimenti settandolo a "NO" si hanno i contorni
  176. normali.
  177.  
  178. Con "textsize" si puo' cambiare la grandezza del font.
  179. Le grandezze standard sono: 8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,72.
  180. Valori intermedi saranno scalati alla grandezza disponibile piu' vicina.
  181.  
  182. Settando "textshadow" a "YES", un'ombra sara' aggiunta al testo scorrevole.
  183. Altrimenti, settandolo a "NO", nessuna ombra sara' "proiettata".
  184.  
  185. Puoi scegliere il colore del testo con:
  186.  
  187. TextColR = Componente rossa del colore (0-255)
  188. TextColG = Componente verde del colore (0-255)
  189. TextColB = Componente blu del colore (0-255)
  190.  
  191. Per esempio, 0,0,0 e' nero, 255,255,255 e' bianco, 255,0,0 e' rosso,
  192. 255,255,0 e' giallo, 128,128,128 e' grigio.
  193. Puoi comporre qualsiasi colore, puoi cercarlo provando "a mano" o usando
  194. il selettore/miscelatore colori di un qualsiasi programma da disegno, per
  195. trovare le componenti di rosso, verde, blu (red, green, blue) del colore che
  196. cerchi.
  197.  
  198. Con TextSColR,TextSColG,TextSColB puoi selezionare il colore per l'ombra
  199. del testo.
  200.  
  201. Se si vuole, e' possibile attivare la funzione di "saltellamento" del testo.
  202. Se "TextJumpAmp" e' settato a "0", non sara' mostrato alcun saltellamento.
  203. Ma incrementando il valore si avra' un maggiore saltellamento.. maggiore
  204. ampiezza = salti piu' alti.
  205.  
  206. Col parametro "TextJumpSpd" si seleziona la velocita' di saltellaggio.
  207.  
  208.  
  209.                              ---------
  210.  
  211.  
  212. Parametri di compatibilita':
  213.  
  214.  
  215. Il parametro "memdelay" e' utile solo per far funzionare le applet senza
  216. problemi in alcune versioni piene di bug (errori) di Netscape 3, che non
  217. sono in grado di liberare (deallocare) correttamente la memoria occupata
  218. precedentemente (allocata): questo porterebbe al riempimento di tutta la
  219. memoria dopo un minuto o due che l'applet e' in esecuzione.
  220. In certo casi questo provoca anche crash del sistema operativo.
  221. Le ultime versioni dei browsers hanno corretto questo problema, ma se vuoi
  222. far funzionare bene le applet anche nelle vecchie ed errate versioni dei
  223. browsers, si puo' settare "memdelay" a valori bassi, ad esempio "10" o "16".
  224. Questo pero' rallentera' di molto la velocita' dell'applet, quindi occorre
  225. scegliere tra l'avere la velocita' (memdelay settato a 1000 o superiori) o
  226. lentezza compatibile con i vecchi browsers (memdelay settato a 20 o meno).
  227.  
  228. Il parametro "priority" e' utile principalmente quando si eseguono piu' di
  229. un'applet nella stessa pagina, e una di queste rallenta o si blocca.
  230. Se questa applet viene eseguita troppo rallentata, o si blocca perche'
  231. un'altra ruba tutta la potenza del processore, prova ad incrementare la
  232. priorita'.
  233. Altrimenti, se l'applet funziona bene e le altre sono rallentate, decrementa
  234. la priorita'. Considera che la priorita' minima e' 1, la priorita' normale
  235. e' 5, e la massima e' 10.
  236. Normalmente una priorita' di 3 e' giusta per applet singole.
  237.  
  238. Il parametro "fixnetscape" e' utile solo quando l'applet e' visualizzata
  239. con Netscape 3, sotto Win95. Infatti, tale netscape commette un errore
  240. visualizzando l'IndexColorModel, diminuendo i colori e retinando l'immagine.
  241. Settando "fixnetscape" a "YES", l'effetto sara' piu' lento in tutti i
  242. browsers, ma avra' i colori corretti in Netscape 3.0.
  243. Settandolo a "NO", l'effetto funzionera' piu' velocemente in tutti i
  244. browser, eccetto Netscape 3.0 che li visualizzata in modo peggiore.
  245. Da notare che Netscape 4 ed explorer non hanno questo problema.
  246.  
  247.  
  248.                              ---------
  249.  
  250.  
  251. Copyright e note sulla distribuzione.
  252.  
  253.  
  254. Fabio Ciucci e' l'autore e proprietario di questa applet.
  255. Puoi usare liberamente questa applet per abbellire le tue pagine web.
  256. Pero', dato che sono l'autore, ho inserito una finestrella segreta che
  257. apparira' se l'applet e' clickata col mouse: e' esterna al browser, percui
  258. non danneggera' il design della tua bellissima pagina html.
  259. Tale piccola finestrella mostra semplicemente il mio nome e chiede se si
  260. vuole fare una visitina alla pagina delle mie applet, per poterle prendere
  261. e usare. L'utente potra' connettersi o meno, a seconda delle sue preferenze,
  262. dopo aver visitato il vostro stupendo sito.
  263. In ogni caso, se il link (connect) e' accettato, sara' aperta una nuova
  264. finestra browser, e la tua pagina rimarra' nella finestra originale, in
  265. questo modo non "perderai" il visitatore.
  266. Spero che questa credit part non sia un problema eccessivo per te...
  267. Considera che userai un effetto programmato da me, senza pagare niente!
  268.  
  269.  
  270.  
  271.  
  272. Fabio Ciucci (Randy/Ram Jam)
  273.  
  274. fabioc@anfiteatro.it
  275.  
  276. http://www.anfiteatro.it/java.html
  277.  
  278.  
  279.