IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Redimensionner un MovieClipLoader() de swf


Sujet :

Flash

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut Redimensionner un MovieClipLoader() de swf
    Bonjour,

    j'ai modifié, adapté ce code ci-dessous pour chargé des animation swf, malheureusement on ne voit pas les swf. On le voit si je cache la ligne qui redimensionne.

    Merci de votre future aide.

    L.Oswald

    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
    25
    26
    // ----------------------- By Prouprou_Sensei -----------------------//
    // Preloader de jpg avec redimensionnement et centrage.
    // Creation d'un MovieCLipLoader
    var mon_mcl = new MovieClipLoader();
    // Et de son ecouteur
    mon_mcl.listener = new Object();
    // Evenement onLoadInit
    mon_mcl.listener.onLoadInit = function(cible) {
        // On enregistre la largeur et la hauteur
        h = cible._height;
        l = cible._width;
        // Suivant le raport largeur sur hauteur on definie la largeur (ou la hauteur)comme etant egale a celle du cadre et on redefinie la hauteur (ou la largeaur) en fonction du raport, puis on centre.
        l/h>=1 ? (cible._width=cible._parent.contour_mc._width, raport=l/cible._width, cible._height=cible._height/raport, cible._y=(cible._parent.contour_mc._height-cible._height)/2) : (cible._height=cible._parent.contour_mc._height, raport=h/cible._height, cible._width=cible._width/raport, cible._x=(cible._parent.contour_mc._width-cible._width)/2);
        // On cache la barre de progression
        cible._parent.progression_mc._visible = false;
    };
    // Evenement onLoadProgress
    mon_mcl.listener.onLoadProgress = function(cible, loaded, total) {
        // Preloader tout con avec le calcul du pourcentage chargé et le redimensionnement de la barre
        cible._parent.progression_mc._width = loaded/total*cible._parent.contour_mc._width;
    };
    // On ajoute l'ecouteur au mcl
    mon_mcl.addListener(mon_mcl.listener);
    // On charge ici les images
    mon_mcl.loadClip("logo/finlab.jpg", image_mc.conteneur_mc);
    mon_mcl.loadClip("videos/video1.swf", image2_mc.conteneur_mc);

  2. #2
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    salut
    pour faire simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    this.createEmptyMovieClip("tester_mc", 1);
    var mclListener:Object = new Object();
    mclListener.onLoadInit = function(target_mc:MovieClip) {
    	trace("movie loaded");
    	target_mc._xscale = target_mc._yscale=300;
    };
    var image_mcl:MovieClipLoader = new MovieClipLoader();
    image_mcl.addListener(mclListener);
    image_mcl.loadClip("anim.swf", tester_mc);
    je te joins le fla

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    Merci beaucoup Jean Philippe de ton aide.

    J'aurais encore une question:

    Pourrais-je améliorer ce code pour que lorsque j'aggrandis ma fenêtre ma video suit cette agrandissement?

    Merci encore.

    Si tu as besoins je te mettrais une source de mon projet, sache que je le mets d'abord à jour.

  4. #4
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    Citation Envoyé par melonmaudic
    Pourrais-je améliorer ce code pour que lorsque j'aggrandis ma fenêtre ma video suit cette agrandissement?
    si tu parles de la fenetre du navigateur, il te faut utiliser l'objet Stage et onResize()

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    En faite, je parlais de la fenêtre du flash player.

    Merci.

  6. #6
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    un truc comme ça :
    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
    //Stage.scaleMode = "noScale";
    Stage.align = "TL";
    this.createEmptyMovieClip("tester_mc", 1);
    var mclListener:Object = new Object();
    mclListener.onLoadInit = function(target_mc:MovieClip) {
    	trace("movie loaded");
    	target_mc._height = Stage.height;
    	target_mc._width = Stage.width;
    };
    var image_mcl:MovieClipLoader = new MovieClipLoader();
    image_mcl.addListener(mclListener);
    image_mcl.loadClip("anim.swf", tester_mc);
    var ecout:Object = new Object();
    ecout.onResize = function() {
    	tester_mc._height = Stage.height;
    	tester_mc._width = Stage.width;
    };
    Stage.addListener(ecout);
    je te joins les sources

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    Merci pour ton aide, c'est vraiment sympa.

    J'ai encore un problème en utilisant ta source, mon swf ne se trouve pas centré si on modifie la taille de la fenêtre. Je te donne donc ci-joint ma source, ainsi que mon projet, on ne sait jamais tu seras peut-être m'aider pour le redimensionnement.

    Désolé d'être aussi mauvais.

    En attendant de tes nouvelles, je continue à cherche par moi même.

    P.s. En faite, pourquoi cette ligne est en commentaire? //Stage.scaleMode = "noScale";

  8. #8
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    Citation Envoyé par melonmaudic
    Merci pour ton aide, c'est vraiment sympa.

    J'ai encore un problème en utilisant ta source, mon swf ne se trouve pas centré si on modifie la taille de la fenêtre.
    il faut que le contenu de video1 soit calé haut à gauche en coordonnées 0,0, comme dans mon exemple

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    642
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 642
    Points : 656
    Points
    656
    Par défaut
    Malheureusement pour moi, video1 a été compiler par un programme de capture d'écran et je ne pourrais donc pas déplacer le contenu en haut à gauche.

    N'y aurait-t-il vraiment pas un autre moyen?

    --------------------------------------------

    J'ai eu l'idée d'insérer le loadMovieClip dans un conteneur qui se trouve être un movieclip (ou le contenu serait au centre et non pas un emptymovieclip, ce qui est étrange c'est que ça ne fonctionne que si je zoom une fois sur la video, sinon c'est comme si je n'avait pas fait de Stage resize. Ou se trouve l'erreur?

    Merci pour ta future aide.

  10. #10
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    jean philippe, j ai essayé ton code, et chez moi j ai plusieurs jeu en swf...qui ne passent jamais, au mieu j ai un perso principal sur la scene mais il ne bouge pas (enfin il bouge sur place)
    je n arrive pas a comprendre le soucis

  11. #11
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    et moi je suis pas devin
    sérieusement comment veux tu que je te reponde ?

  12. #12
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    oui certes je t envoi la reprise de ton archive avec l integration du jeu, le résultat est surprenant, et c est pareil pour tous les autres swf que j introduis.

  13. #13
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    tu veux faire quoi avec ça :
    target_mc._xscale = target_mc._yscale=100;

  14. #14
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    oui effectivement, se serait plutôt 1, j ai écris ça parce que mon clip n est pas représenté en entier sur la scène, il suffit de tester pour voir qu effectivement rien ne se passe, je n arrive vraiment pas à comprendre cette histoire de taille de movieClip...donc j essaie des choses un peu dans le vide

  15. #15
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    Citation Envoyé par jean philippe
    tu veux faire quoi avec ça :
    target_mc._xscale = target_mc._yscale=100;
    que tu mettes 1 ou 100 ce code ne fera rien
    il veut dire que tu veux que l'anim loadée soit à 100%
    donc inutile
    regarde dans l'exemple que j'ai laissé plus haut et compare avec le tien

  16. #16
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    mais justement j ai essayé et même re essayé, as tu essayer de lancer mon anim sans passer par le preloader, puis avec...
    d habitude je comprends assez vite mais la je suis complètement à l ouest.

  17. #17
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    j ai meme trafiqué ton anim.fla en me disant, ça doit être parce que jai du code ou autre...mais rien à faire, ça marche bien en loadant anim.swf mais grenouille.swf foire complètement...
    je ne comprend vraiment pas...
    est ce que quelqu un a une little idée?

  18. #18
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    tu comprends ce que tu codes ?
    pourquoi mets tu ça ? : target_mc._xscale = target_mc._yscale=100;

  19. #19
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    de plus, les animations que tu loades sonbt bourrées de _root, c'est donc normal que cela ne fonctionne pas

  20. #20
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    pour le _yscale et _xscale, comme c est un code récupéré je ne me suis pas posé la question mais effectivement ça ne change rien du tout, en fait faire ça ou rien c est pareil...

    bon, j ai finalement réussi à intégré ton code, il semble que dans mon animation de grenouille, il y ait un problème si je laisse la fonction "onLoad", si j externalise le contenu de la fonction, alors l animation est bien chargée, je ne comprend pas pourquoi car cette fonction devrait s executer aussi! j aimerais beaucoup comprendre.
    J ai viré les _root...qui effectivement posaient problème.

    maintenant le problème vient surtout du chargement, dans ton code il est bien écrit qu à la dispo des méthodes après le chargement du swf, on resize l animation afin de la faire tenir pile poil dans le "conteneur" or l affichage n est absoluement jamais le même en tre deux executions, je joins ici les fichiers.
    Merci pour ta patience (mise à rude épreuve...)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Redimensionnement du swf en AS3 ?
    Par Dayren dans le forum ActionScript 3
    Réponses: 7
    Dernier message: 21/02/2008, 15h55
  2. Réponses: 13
    Dernier message: 07/12/2006, 14h41
  3. Qui sait comment redimensionner un swf
    Par arnolem dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/06/2006, 01h50
  4. Réponses: 2
    Dernier message: 12/01/2006, 01h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo