ciao ragazzi , sono riuscito ad ottenere un effetto simile creandomi la mia goccia e poi duplicandola, ma vorrei sapere come ottenere un effetto cosi' realistico.. per il movimento intendo....
qui
![]()
![]()
ciao ragazzi , sono riuscito ad ottenere un effetto simile creandomi la mia goccia e poi duplicandola, ma vorrei sapere come ottenere un effetto cosi' realistico.. per il movimento intendo....
qui
![]()
![]()
-Nextart.it Graphic Solutions
Immagino che tu habbia creato la discesa con un "This._y += i;" posto nel codice del tuo mc, dove "i" rappresenta un valore dato da un Math.random del tipo: "i=2+Math.random()*2"..quindi non so io proverei a racchiudere il codice all'interno di una funzione, che in seguito richiamerei con un intervallo casuale in questo modo:
La funzione che fa muovere le gocce:onClipEvent (load) {
// specifico la grandezza dello stage
movieWidth = 550;
movieHeight = 450;
// imposto la variabile che permette la caduta della goccia
i = 1+Math.random()*1;
// assegno a ciascuna goccia duplicata delle caratteristiche proprie
this._xscale = this._yscale=50+Math.random()*100;
this._alpha = 75+Math.random()*100;
this._x = -10+Math.random()*movieWidth;
this._y = -10+Math.random()*movieHeight;
lento=1;
}
la duplicazione delle gocce avviene sul codice del frame principale con il solito ciclo "For"onClipEvent (enterFrame) {
function muovi() {
// creo una condizione che mi permette di gestire la velocità in base allo stato attuale delle gocce
if(lento==1){
i = 2+Math.random()*5;
lento=0;
} else {
i = 1+Math.random()*1;
lento=1
}
}
//imposto l'intervallo casuale, con un tetto minimo di 3 secondi. In questo modo ogni goccia avrà un'accelerazione casuale, data anche dallo stato in cui si trova (lento=0 / lento=1)
myInterval = setInterval(this, "muovi", random(5000)+3000);
this._y += i/2;
//faccio in modo che le gocce ritornino su una volta attraversato lo stage
if (this._y>=movieHeight) {
this._y = -5;
}
if ((this._x>=movieWidth) || (this._x<=0)) {
this._x = -10+Math.random()*movieWidth;
this._y = -5;
}
}
Mi pare che funzioni...ma credo si possa migliorare smanettando un pò sul codice.
Fammi sapere!
ciao, poi provero' a vedere con il tuo codice, ora sono riuscito ad arrivare a questo effetto:
esempio
![]()
-Nextart.it Graphic Solutions
sgamella l'animazione è sempre uguale!!!
Scherzo naturalmente...l'effetto è abbastanza carino anche così, ma dopo 15 secondi l'utente si accorge che si tratta di una seguenza ripetuta...il che non rende giustizia alla grafica molto curata con cui hai creato le gocce.
Se ti va prova a randomizzarlo un pò sfruttando il codice che ti ho proposto...sarei curioso di vedere il risultato!![]()
ok, ora non riesco, provero' a casa e ti faro' sapere...........
forse ho sbagliato il titolo del thread,, era meglio gocce su superficie....
![]()
-Nextart.it Graphic Solutions
questo e' applicando il tuo codice su un movie 550*400
esempio
ciao
![]()
-Nextart.it Graphic Solutions
hmmm...strano...ti linko la prova che ho fatto io:
le mie gocce danno la sensazione di cera sciolta piuttosto che di acqua...ma le ho fatte al volo non farci caso..!![]()
prova gocce
bisogna posizionare il mc della goccia nell'angolo in alto a sinistra dello stage, in modo tale che si setti sulle coordinate globali del filmato e le gocce nascano tutte al di sopra dell'area visibile.
![]()
ok, l'ho posizionata in alto a sx..... prova a guardare ora.... :-)
-Nextart.it Graphic Solutions
Mi sembra un buon risultato...anche se proverei a farlo andare un pò più lento...questo è un acquazzone!
In ogni caso non capisco perchè le tue gocce continuino a nascere anche all'interno dello stage...a me non succede...
Farei un'ultima modifica al codice finale:
in sostituzione a quella precedente, in modo da aumentare la casualità delle gocce, e poi verifica che la tua goccia sia posizionata bene sul proprio centro relativo...è molto strano dovrebbero rinascere solo al di sopra dello stage...byeif (this._y>=movieHeight) {
this._y = -5;
this._x = random(movieWidth);
}
questo è un acquazzone!![]()
![]()
ora il framerate e' 24, ho diminuito anche il numero di gocce duplicate , ora e' 30
la goccia e' posizionata a coordinate (0,0)
![]()
ho apportato la modifca al codice e ho aggiunto anche il suono,![]()
pioggia
grazie di tutto
ciao
![]()
-Nextart.it Graphic Solutions