Questa è una base:
Codice PHP:
fluttua = function (target) {
// velocità
target.vel = 1;
//
var nuovaPosizione = function () {
// prossima posizione casuale
target.rndx = random(100);
target.rndy = random(100);
};
// prossima posizione
nuovaPosizione();
// animazione
target.onEnterFrame = function() {
with (this) {
// calculate angle of current position to target position
deltax = _x-rndx;
deltay = _y-rndy;
angolo = -Math.atan2(deltax, deltay)/(Math.PI/180);
// sposta l'istanza verso la prossima posizione
_y -= vel*Math.cos(angolo*(Math.PI/180));
_x += vel*Math.sin(angolo*(Math.PI/180));
// quando arriva in prossimità del punto finale
if (Math.sqrt((deltax*deltax)+(deltay*deltay))<vel) {
// posiziona l'istanza sul punto finale
_x = rndx;
_y = rndy;
// calcola nuova posizione
nuovaPosizione();
}
}
};
};
// inizia movimento istanze
fluttua(mc1);
fluttua(mc2);
fluttua(mcN);
Ho creato una funzione alla quale passi semplicemente il target per specificare l'istanza da muovere, come puoi vedere in fondo allo script.
Per ora il movimento risulta scattoso quando l'istanza cambia direzione, ovviamente lo script puoi implementarlo come preferisci.
Ho commentato le varie azioni per capire meglio come funziona
Provalo e fammi sapere..