Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: zoom sur image
Envoyé: 20 mai 2004, 9h25 par dada
il peut y avoir plusieurs manières de le faire, on peut utiliser différents types de mouvements, avec accélération, décélération, etc...
Voici un moyen utilisant juste une décélération. Le "0.5" est un ajustement pour terminer les boucles 'enterFrame'plus rapidement. J'utilise ici le prototype de la classe MovieClip, ce qui fait que cette fonction peut être utilisée par nimporte quel clip de ton animation, en ré-affectant le "onPress" à un autre clip.
Le clip que j'utilise a pour nom d'occurence "clip".
Utilisation : tu écris juste une fois la premiere fonction (jusqu'à avant le 'onPress'), et après tu affecte autant de "onPress" à autant de clips que tu veux. Note que tu n'es pas obligé d'utiliser le "onPress", ce qui compte, c'est juste la ligne qu'il contient (this.ChangerEchelle(200);). Le 200 correspond à 200% de la taille originale, tu mets ici le grossissement que tu désires...
-------------------------------------
clip.bascule = 1;
MovieClip.prototype.ChangerEchelle = function(Echelle) {
with (this) {
if (bascule == 1) {
this.bascule = 2;
this.onEnterFrame = function() {
_xscale = _yscale += (Echelle-_xscale)/8;
trace(_xscale);
if (_xscale>=Echelle-0.5) {
_xscale = Echelle;
delete this.onEnterFrame;
}
};
} else {
this.bascule = 1;
this.onEnterFrame = function() {
_xscale = _yscale -= (_xscale-100)/8;
trace(_xscale);
if (_xscale<=100+0.5) {
_xscale = 100;
delete this.onEnterFrame;
}
};
}
}
};
clip.onPress = function() {
this.ChangerEchelle(200);
};
-------------------------------------
++
dada
Réponses
|