Discussion: Effet de distorsion
Afficher un message
  #1 (permalink)  
Vieux 14/12/2003, 13h39
CooLSlayeR CooLSlayeR est déconnecté
Petit-posteur
 
Date d'inscription: August 2003
Messages: 24
Effet de distorsion

ActionScript Code:
  1. MovieClip.prototype.bump = function(x,y,radius,force){
  2.    for(z in this){
  3.       var distx = this[z]._x - x;
  4.       var disty = this[z]._y - y;
  5.       var distance=Math.sqrt(distx*distx + disty*disty);
  6.       if(distance==0) distance=1;
  7.       var cos = distx/distance;
  8.       var sin = disty/distance;
  9.       if(distance<radius)
  10.       {
  11.          this&#91;z]._x += force*cos*(radius-distance);
  12.          this&#91;z]._y += force*sin*(radius-distance);
  13.       }
  14.    }
  15. }

Par exemple: pour un clip nommé 'test' avec plein de carrés alignés dedans (pour bien voir l'effet) je mets:

ActionScript Code:
  1. _root.test.bump(0,0,200,0.3);

Une petite précision: les coordonnées x et y du centre de la lentille sont exprimées dans le clip, pas dans le root, de ce fait la position de 'test' importe peu, la distortion est toujours la même.

Tuto par Damien
Réponse avec citation