Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: créer une loupe ;-)
Envoyé: 15 octobre 2002, 2h01 par Oznog
C'est une technique asser simple, l'astuce est surtout dans la grandeur de la carte. Mais pas facile à dire...
Une carte de 500x500 avec un agrandissement à 200% demande un ajustement de (250 - _x) * 2 et (250 - _y) * 2. C'est tout ce qu'il y a de compliqué. Ensuite c'est le Drag d'un mask au dessus de la carte original.
1. Tu fait ta carte dans un movieClip bien centré avec l'alignement (on stage).
2. Tu glisse cette carte sur la scène (centré) et tu barre ce calque (layer).
3. Tu fait un nouveau calque (layer) au dessus de la carte et tu glisse une seconde carte (centré).
4. Tu clic la nouvelle carte pour la sélectionner et tu la transforme en movieClip, nomme le "loupe"
5. Tu lui donne aussi le nom d'instance "loupe" sur la scène.
5. Tu doubleClic sur cette carte pour l'éditer (ou tu passe par la librairie).
6. La première chose à faire c'est de doubler sa grandeur, dans la palette "Transformation" coche "Constrain" et met 200% et de lui donner le nom d'instance "carte2".
7. Tu fait une nouveau calque (layer) pour le masque au dessus de la carte2 et tu dessine une forme qui sera l'espace visible de la carte2.
8. Tu transforme ce calque en mask.
9. Tu dessine sur un troisième calque la loupe visible.
Ouf! Tout les éléments sont en place.
-Un MC carte sur la scène barré.
-Un MC loupe sur la scène qui est un mask de la carte à 200% (avec une loupe au dessus).
Reste le code.
1. Tu ajoute sur le "frameAction" de la loupe le drag.
startDrag("/loupe", true);
2. Tu doubleClic sur la loupe pour l'éditer.
3. [F6] sur le cadre 1 (frame 1) de la carte "carte2".
4. [F6] sur le mask de la carte2.
5. [F7] sur le cadre 2 (frame 2) de la loupe visible.
Tu as donc 2 cadres (frames), tu dois mettre l'ajustement de la carte2 sur les deux cadre du calque de la loupe. Parceque la loupe se drague, elle change de position mais on ne veut pas que la carte change elle sa position, alors on ajoute pour toutjours la replacer à sa place.
setProperty("carte2", _x, (250-_x)*2);
setProperty("carte2", _y, (250-_y)*2);
Ciao
Oznog
Réponses
|