[AS3] Une sorte de masque d'écrêtage en AS3 ?... c'possible ?

vedelvetsyn Messages postés 45 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 22 avril 2010 - 30 mars 2010 à 15:34
vedelvetsyn Messages postés 45 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 22 avril 2010 - 31 mars 2010 à 17:12
Bonjour tout le monde :-)

Aujourd'hui j'ai une question sympa, à mon avis pas super compliquée, mais faut juste le savoir.

Sur ma scène, j'ai un élément de type MovieClip créé dynamiquement, dans lequel j'ai disposé des éléments de type SimpleButton.
Le problème, c'est que j'aimerai faire une sorte de masque d'écrêtage et ne voir mes SimpleButton qu'au travers du MovieClip, et que je ne sais pas comment faire.

Ensuite, je poserai.. mais je n'en suis pas encore là ^^

Merci d'avance !

6 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
30 mars 2010 à 16:04
Bonjour,

Vois du côté de la propriété DisplayObject.mask;

Peg'
0
vedelvetsyn Messages postés 45 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 22 avril 2010
31 mars 2010 à 01:22
Merci pour ta réponse.

mais comme d'hab, j'y arrive pas du premier coup.
une fois mon code posé, le masque a en quelque sorte tout cacher.
A mon avis, ça viens du fait que mon clip conteneur n'à pas de largeur/hauteur.
J'ai toujours eu l'habitude de dessiner mes clip sur la scène, mais le clip en question est créé dynamiquement.
Ducoup, je suis un peu pommé pour ce qui est du paramétrage de ces 2 données.
J'ai cherché comment les définir, mais je ne trouve que les commandes AS2...

A moins que ca ne viennent pas de ça ?

z'en pensez quoi ?

var monMovieClip:Movieclip = new MovieClip();
var mesSimpleButton:SimpleButton= new SimpleButton();
monMovieClip.addChild(SimpleButton);
addChild(SimpleButton);
mesSimpleButton.mask = monMovieClip ;


J'ai pas mis tout le code, mais je rassure, mes buttons sont remplis de données :-)
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
31 mars 2010 à 01:31
ton movieClip est vide, il ne contiens rien ... Donc un masque de 0x0 n'affiche rien, ce qui est normal.
Dessine un carré dedans à l'aide des méthodes de dessin : Graphics.drawRect();

Peg'
0
vedelvetsyn Messages postés 45 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 22 avril 2010
31 mars 2010 à 11:28
Je teste et re teste, mais je dois oublier quelque chose...
surement encore une erreur d'inattention...

Grosso modo, pour le moment, j'ai ça :


//mon contenu
var monClipContenu:MovieClip = new MovieClip();
var rectContenu:Shape = new Shape();
rectContenu.graphics.drawRect(x, y, width, height);
var unBouton:SimpleButton= new unBouton();

//mon mask
var monClipMask:MovieClip = new MovieClip();
var rectMask:Shape = new Shape();
rectMask.graphics.drawRect(x, y, width, height);

clipContMenu.addChild(rectMenu);
clipContMenu.addChild(unBouton); // il y en a plusieurs généré par une boucle
monClipMask.addChild (rectMask);
monClipMask.addChild (clipContMenu);
clipContMenu.mask = monClipMask;



La logique est-elle bonne ?
Sachant que mes rectangles générés ont bien une position et des dimensions qui font en sorte de se chevaucher.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vedelvetsyn Messages postés 45 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 22 avril 2010
31 mars 2010 à 11:32
j'ai juste oublié de noter (dans le code juste au dessus) : addChild (monClipMask);
0
vedelvetsyn Messages postés 45 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 22 avril 2010
31 mars 2010 à 17:12
C'est bon, j'ai compris d'où venait l'erreur...
A force de décomposer le code que j'avais tapé, il ne me restait presque plus rien.

En fait, je ne sais pas pourquoi, mas j'avais dans l'idée que le contenu devait être enfant du mask.. et en fait pas du tout ^^, ils sont au même niveau.

Pfiouuu, encore une victoire de canard ^^

Merci Peg' pour ton aiguillage, toujours autant juste ;-)
0
Rejoignez-nous