Bonjour,

Je me demandais si il y existait une méthode ou propriété à appeler sur un clip comportant des actifs masqués pour récupérer ses dimensions "visibles".

Je peux évidemment récupérer les côtes du masque ou encore fixer la propriété scrollRect du clip à la taille du masque...
Mais n'y a t-il pas un moyen plus direct ?

Dans le code ci-après je crée un clip contenant une forme de 300x300 à laquelle un masque de 100x100 est appliquée.
Mais aucune des propiétés du clip relative à ses dimensions que j'ai pu testé ne correspondent à sa partie visible.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
// Création du clip conteneur
var clip:Sprite = new Sprite();
addChild(clip);
 
// Création de la forme maquée
var forme:Shape = new Shape();
forme.graphics.beginFill(0x666666);
forme.graphics.drawRect(0, 0, 300, 300);
forme.graphics.endFill();
clip.addChild(forme);
 
// Création et application du masque
var masque:Shape = new Shape();
masque.graphics.beginFill(0xFF0000);
masque.graphics.drawRect(0, 0, 100, 100);
masque.graphics.endFill();
clip.addChild(masque);
forme.mask = masque;
 
// Sortie
trace(clip.width);           //=> 300
trace(clip.getRect(this));   //=> (x=0, y=0, w=300, h=300)
trace(clip.getBounds(this)); //=> (x=0, y=0, w=300, h=300)