Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: Taille d'un clip en fonction de la position, règle de trois.
Envoyé: 11 février 2005, 13h35 par dada
Il s'agit surtout d'un problème de Maths ;)
Il faut faire une règle de trois entre les positions minis et maxis et l'échelle maxi et mini du clip.
J'ai fait un petit exemple ; pour le tester il faut créer un clip "monClip" sur la scène et placer le code sur la première image du scénar.
La seule ligne importante est celle de la formule de trois.
----------------------------------------
var y0:Number = 400; // le _y correspondant à une échelle de 100%
var y1:Number = 0; // le _y correspondant à une échelle plus petite (par exemple 50%)
var scale0:Number = 100; // l'échelle pour le y0
var scale1:Number = 50; // l'échelle pour le y1
var actualY:Number;
var newScale:Number
monClip._y= 400; // on positionne le clip à y = 400
this.onEnterFrame = function ()
{
monClip._y -= 5; // on fait remonter le clip de 5 pixels à chaque image
actualY = monClip._y; // on récupère la position actuelle de 'monClip'
// Formule mathématique permettant de faire varier linéairement l'échelle
// (de scale0 à scale1) sur la plage s'étendant de y0 à y1 (c'est grosso-modo une règle de trois)
newScale = (scale0-scale1)*(actualY/(y0-y1)) + scale1;
// on applique la nouvelle échelle au clip
monClip._xscale = monClip._yscale = newScale;
// affichage des valeurs
trace("actualY : "+actualY+", newScale : "+newScale);
}
----------------------------------------
++
dada
Réponses
|