Fonction pour masquer un clip dynamiquement

Contenu du snippet

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.

A voir également

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.