Voici une petite fonction que je viens de taper, et qui permet de générer facilement un masque et de l'appliquer à n'importe quel clip de notre animation. Il y a sans doute des optimisations à apporter par-ci par-là...
Attention, ceci ne fonctionne (a priori) qu'en AS2.
En espèrant que ça pourra vous être autant utile qu'à moi :)
PS: c'est le premier code que je poste, alors soyez indulgents !
Source / Exemple :
function masquer(mc:MovieClip,largeur:Number,hauteur:Number,posX:Number,posY:Number){
//on isole le nom du Clip
mcNom=mc._name
var nomMasque:String="masque_"+mcNom;
var profondeur:Number=mc._parent.getNextHighestDepth();
//création du masque
mc._parent.createEmptyMovieClip(nomMasque, profondeur);
largeur=largeur || mc._width;
hauteur=hauteur || mc._height;
posX=mc._x+posX || mc._x
posY=mc._y+posY || mc._y
//récupération du chemin du masque
cheminMasque=mc._parent[nomMasque]
//on trace le masque
cheminMasque.lineStyle(1, 0x000000, 100);
cheminMasque.beginFill(0x990000);
cheminMasque.moveTo(posX, posY);
cheminMasque.lineTo(posX, posY);
cheminMasque.lineTo(posX, (posY+hauteur));
cheminMasque.lineTo((posX+largeur), (posY+hauteur));
cheminMasque.lineTo((posX+largeur), posY);
cheminMasque.endFill();
//on applique le masque
mc.setMask(cheminMasque);
}
Conclusion :
exemples d'utilisation :
masquer(monClip)
masquer(monClip.autreClip)
masquer(monClip,100,150)
masquer(monClip,100,100,12,10)
etc.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.