Forums Développement Multimédia

Aller au contenu

Masque sur swf chargé dynamiquement

PAO Flash

4 réponses à ce sujet

#1 tekmedias

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 11 November 2011 - 14:06 PM

Bonjour à tous,

Pour un projet web AS3, en cours d'élaboration, j'utilise un swf parent (main.swf) qui charge dynamiquement sur la scène des swf enfants (ex: about.swf) au travers d'un menu de navigation.

J'utilise la méthode Loader / URLRequest pour charger dynamiquement mes swf enfants :

Citation

var url:String = "about.swf";
var urlReq:URLRequest = new URLRequest(url);
var ldr:Loader = new Loader();

Pour ce qui est du chargement et de l'ajout sur la scène pas de problème tout fonctionne. Mon problème intervient au niveau des dimensions des swf enfants. Je souhaite que mes swf aient pour dimensions (width:800px / height: 300px). Mes paramètres de scène sont donc bien renseignés sur mes .fla enfants sauf que pour certains fichiers il y a des éléments qui dépasse de la scène. J'ai donc crée un masque sur mon swf enfant afin de n'afficher que les dimensions de ma scène. Le masque fonctionne correctement lors de la publication, mais lorsque je test mon animation dans le swf parent (main.swf) il me décale complétement mon swf enfant car pour lui mon swf enfant a pour dimensions (width:1028px / height: 654px).

J'ai donc essayé de créer un masque sur mon loader :

Citation

var rect:Shape = new Shape();
rect.graphics.drawRect(0, 0, 800, 300);
addChild(rect);

ldr.mask = rect;

Mais rien n'y fait je ne parvient pas à masquer mon swf enfants pour qu'il ait comme dimensions (width:800px / height: 300px)

Pouvez-vous m'indiquer comment je peux masquer dynamiquement mes swf enfants ?

Merci d'avance

#2 deuxsucres

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 115 messages

Posté 11 November 2011 - 14:51 PM

Bonjour,

Avez-vous essayé d'ajouter le masque au parent qui contient le movieClip chargé dynamiquement, de sorte que le movieClip et le masque aient le même parent ?

#3 tekmedias

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 11 November 2011 - 15:46 PM

Voir le messagedeuxsucres, le 11 November 2011 - 14:51 PM, dit :

Bonjour,

Avez-vous essayé d'ajouter le masque au parent qui contient le movieClip chargé dynamiquement, de sorte que le movieClip et le masque aient le même parent ?


Bonjour,

J'ai essayé dans un premier temps de masquer le swf enfant seulement sans succès.

J'ai ensuite essayé d'appliquer un masque sur le swf enfant + un masque dynamique sur le swf parent sans succès.

J'ai également essayé d'intégrer le loader dans un clip et d'y appliquer un masque dynamique sans succès.

Quand je fait un trace des dimensions de mon clip contenant le swf chargé j'obtiens toujours (width:1028px / height: 654px) alors que le masque qui lui est appliqué fait 800px / 300px.

Je ne comprends pas ...

#4 deuxsucres

    Ceinture Marron

  • Members
  • PipPipPipPipPipPip
  • 115 messages

Posté 11 November 2011 - 16:58 PM

Lorsque vous chargez un SWF, vous chargez en réalité un MovieClip et le stage du SWF chargé est substitué par le Stage du SWF chargeur. Hors, lorsque vous définissez les dimensions d'une animation, c'est les dimensions de son Stage que vous définissez.

Donc, comme vous ne récupérez que le MovieClip, les propriétés width et height s'appliquent à ce movieClip, donc à la largeur et à la hauteur de son contenu. Si ce MovieClip ne contient qu'un symbole de 10x10 positionné en x:1542 y:-485, les valeurs des propriétés width et height du MovieClip seront 10 et 10.

Pour le masque, je ne comprends pas pourquoi ça ne fonctionne pas.

#5 tekmedias

    Ceinture Blanche

  • Members
  • Pip
  • 3 messages

Posté 12 November 2011 - 21:02 PM

Voir le messagedeuxsucres, le 11 November 2011 - 16:58 PM, dit :

Lorsque vous chargez un SWF, vous chargez en réalité un MovieClip et le stage du SWF chargé est substitué par le Stage du SWF chargeur. Hors, lorsque vous définissez les dimensions d'une animation, c'est les dimensions de son Stage que vous définissez.

Donc, comme vous ne récupérez que le MovieClip, les propriétés width et height s'appliquent à ce movieClip, donc à la largeur et à la hauteur de son contenu. Si ce MovieClip ne contient qu'un symbole de 10x10 positionné en x:1542 y:-485, les valeurs des propriétés width et height du MovieClip seront 10 et 10.

Pour le masque, je ne comprends pas pourquoi ça ne fonctionne pas.


Bonsoir,

Je suis finalement parvenu à corriger mon problème en faisant une nouvelle tentative de masque sur le clip conteneur et ceci avec succès.

Merci pour vos conseils !



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)