Trouver la largeur de la partie visible d'un displayObject

Résolu
Signaler
Messages postés
92
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
5 décembre 2010
-
Messages postés
4
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
1 avril 2010
-
Bonjour à tous,

Une belle question me pose problème.
Je met au pont un système de redimenssionnement pour mon site. Je me base en principe sur la taille de mon container principal pour diriger le centrage et le redimensionnement.
Seulement j'ai un souci dans la partie galerie du site. Elle contient une bande de movie clips masqués pour un diaporama. Et la longueur de mon container se trouve affectée par la partie masquée.
J'essaie de trouver une solution avec les objet géometriques, mais en fait je cherche une methode soit pour qu'un clip me renvoie un Rectangle ne prenant en compte que sa partie visible. quleque chose comme un getVisibleBounds (on se dépèche mr Adobe !) soit de pouvoir sans changer le fonctionnement de base du slider tromper le container sur la partie masquée ... Est-ce qu'un clip.scrollRect a la place d'un clip.mask, par exemple, peut influer ?
Est-ce que quelqu'un pourrait me donner une idée de la piste la plus pertinente à suivre afin que je ne perde pas de temps à tout essayer.
Merci d'avance d'avoir pris le temps de me lire.
Steph

3 réponses

Messages postés
92
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
5 décembre 2010

Je me reponds au cas ou cela pourrait rendre service à ceux qui pourrait se trouver dans le même cas que le mien.

La bonne piste de celles évoquées plus haut c'est scrollRect
qui croppe le displayObject visé ! donc ma bande de MovieClip qui faisait plus de 1500 pixels et decalait tout le clip
container qui au lieu de faire les 900 pixels attendus, se retrouvait à en faire 1900...

dans le contexte de ma classe (extends MovieClip)

J'ai donc remplacé cette ligne là
            //layer_images.mask = layer_masque;

Par celles-ci
            var rectMasque:Rectangle = layer_masque.getBounds(this);
            this.scrollRect = rectMasque;

Sans rien changer aux interpolations et cela fonctionne parfaitement !

Conclusion : à moins d'avoir une forme autre que parallelepipédique à masquer, scrollRect c'est mieux si on a une fonction de resizing qui opère !

Steph
Messages postés
92
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
5 décembre 2010

sans oublier bien sur de desactiver le masque aux actions souris

layer_masque.mouseEnabled = false;

(ça marche mieux !)

Steph
Messages postés
4
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
1 avril 2010

Merci Steph.
Je sais pas où t'as trouvé ça, mais chapeau.

J'ai presque envie de chialer tellement c'est beau.

Merci Steph.