Redimensionner un swf

Signaler
Messages postés
7
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
22 octobre 2008
-
Messages postés
618
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
27 août 2010
-
Bonjour,

Voilà, j'ai récupéré un lecteur flash de flv. Une fois transformé en swf (on va dire swf 1), je l'ai intégré dans une autre annimation flash, un site en fait (swf 2). Le problème est le suivant : quand je lance le swf 2, la vidéo s'adapte automatiquement à la taille du swf 2. Je voudrais que si la taille du swf 2 est de 400x400 et que celle du swf 1 est de 100x100, le rendu total montre bien une animation de 400x400 avec une vidéo de 100x100 à l'intérieur.
Petite précision : en intégrant direvtement un flv dans un flash, il n'y a aucun problème de cette nature, le flv conserve bien sa taille et ne s'adpate pas à la taille de l'animation. Je pense donc que le problème pourrait venir du lecteur de flv qui possède peut-être une fonction de redimension automatique. Si c'est le cas, quel type de fonction faut-il chercher dans le fla du lecteur ? Y a-t-il des fonction de dimensionnement fixe pour une video dans un lecteur de flv ?

Merci d'avance de vos propostitions.

9 réponses

Messages postés
618
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
27 août 2010
2
Salut,
quand tu dis "je l'ai intégré dans une autre animation flash", qu'est-ce que tu entends exactement par la ? loadMovie, loadMovieNum, import dans la bibliothèque ????

Tout vient à qui sait attendre
Messages postés
7
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
22 octobre 2008

Slt,

Voilà le code :
this.createEmptyMovieClip("image", 999);
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip("video accueil.swf",image);

Le swf intégré est présent dans le répertoire racine de l'animation principale.
Messages postés
618
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
27 août 2010
2
Salut,
Désolé, je ne vois pas, ça dois venir du code lié a l'appelle du flv dans ton anim 1. Si d'une façon ou d'une autre dans ton code tu as un _root, ça lie ton flv à ton anim 2. Il faudrait allors essayer de remplacer le _root par image (le nom de ton anim1... en fin du clip qui la porte).
Désolé de ne pouvoir en dire plus.

Tout vient à qui sait attendre
Messages postés
7
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
22 octobre 2008

Merci de m'aider.
En fait, le flv est externe à l'anim 1 et c'est une playlist qui permet de l'appeler.
Je vais essayer de chercher encore.
Messages postés
7
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
22 octobre 2008

Si ça peut aider, j'ai résolu mon problème et voilà le code.
Pour résumé, il s'agissait de pouvoir ouvrir un swf (ce swf lit un flv qu'il va chercher dans une playlist xml) dans un autre swf sans que le 1er n'adapte sa taille au second et qu'on puisse lui donner une taille définie.

this.createEmptyMovieClip("video", 1);
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
   
    target_mc._xscale = 40;      //=> c'est un % de la taille du swf 1. Si on met 100%, le swf 1 prend la taille du swf 2 (Largeur)
    target_mc._yscale = 40;      //=> idem pour la Hauteur
};
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("video accueil.swf", video);

Voilà, vu que j'y connais rien, ça m' a pris 2 jours. Merci quand même à inaden
Messages postés
11
Date d'inscription
dimanche 17 octobre 2004
Statut
Membre
Dernière intervention
8 septembre 2008

Bonjour,

J'ai aussi un probleme similaire mais en niveau "vrai débutant" !

en fichier recevant j'ai fait :
    _root.createEmptyMovieClip ("conteneur",3);
    conteneur._x = menu._x + menu._width +5 ;
    conteneur._y = menu._y;
    conteneur._width = (Stage.width - (menu._x + menu._width))-50;
    conteneur._height = menu._height;

    mask._x = menu._x + menu._width +5 ;
    mask._y = menu._y;
    mask._width = conteneur._width;
    mask._height = conteneur._height;
    conteneur.setMask ("mask");
   
        menu.coiffure.coiffure_btn.onPress = function (){
        conteneur.loadMovie("essai.swf");
        }

au click du bouton coiffure, mon swf appelé s'intégre dans mon conteneur mais est étiré.
Comment et ou ecrire le xscale et yscale, pour faire un rapport avec le clip "conteneur" du fichier principal ?

Merci.
Messages postés
618
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
27 août 2010
2
Salut,
c'est normale que ton clip soit étiré puisque ta largeur de scène et ta hauteur de scène ne sont pas les mêmes quand tu utilises les formules :
  conteneur._width = (Stage.width - (menu._x + menu._width))-50;
    conteneur._height = menu._height;
tu casses la proportion hauteur / largeur de ton clip puisque ta hauteur est défini par rapport à ton menu et ta largeur par rapport à ton menu + ta scène - un truc fixe.
Je ne sais pas trop pourquoi tu fais ça, mais donne à ton clip la bonne hauteur et largeur à travers les éléments qu'il contient et contente-toi de le positionner correctement. Ce sera plus simple et le résultat sera mieux.
Bonne chance

Tout vient à qui sait attendre
Messages postés
11
Date d'inscription
dimanche 17 octobre 2004
Statut
Membre
Dernière intervention
8 septembre 2008

Bonjour inaden,

Oui, tout de suite ça parrait plus simple !
Et quant à "pourquoi je fais compliquée" aahh, je me le demande tous les jours !
Je ne sais pas être simple, vous avez un tutoriel ?!

Merci à toi.
Messages postés
618
Date d'inscription
mercredi 4 avril 2007
Statut
Membre
Dernière intervention
27 août 2010
2
Le Tao !

Tout vient à qui sait attendre