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 :

movieClip : chargement, redimensionnement, duplication


Sujet :

Flash

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Points : 46
    Points
    46
    Par défaut movieClip : chargement, redimensionnement, duplication
    Bonjour, je vous expose mon problème...

    je voudrais :

    charger une image dans un clip.
    Une fois le chargement effectué je désire :
    1) positionner mon clip en x=100 et y=120
    2)redimensionner l'image width=250 et height=250

    Une fois cela fait je voudrais dupliquer ce premier clip et l'image qu'il contient puis :
    1) positionner mon clip en x=450
    2)redimensionner l'image width=500 et height=500.

    je vous mets mon code fla :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    //Création d'un clip vide
    var conteneur:MovieClip = this.createEmptyMovieClip("conteneur", this.getNextHighestDepth()); 
     
    //Création d'un écouteur
    var mclListener:Object = new Object(); 
     
    //Création de l'évenement loadInit qui sera déclenché par le movieClipLoader lorsque le chargement sera fini
    // target_mc sert à récupérer le clip dans lequel a été fait le chargement
    mclListener.onLoadInit = function(target_mc:MovieClip):Void { 
     
    //Le chargement est fait, on peut alors placer et redimensionner l'image chargée 
     
    //je place mon conteneur à 100px en x et à 120px en y.
    conteneur._x = 100;
    conteneur._y = 120;
    //je donne les dimensions à mon conteneur
    conteneur._width = 250;
    conteneur._height = 250;
    }
     
    //Evénement loadProgress envoyé par le movieClipLoader qui permet de savoir où en le chargement
    mclListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void 
    { 
    //On définit une variable de chargement
    var chargement = new LoadVars();
    //Pour le chargement on fait appel au fichier "info3.php" via la methode "load"
    chargement.load("info3.php");
    //Lorsque le gestionnaire d'évenement "onLoad" est appellé
    chargement.onLoad = function(pSuc) {
    if (pSuc) {
    conteneur.loadMovie(this.image);
    _root.onEnterFrame = function(){
    //Affichage du nb de bit total du conteneur dans le champs de texte dynamique nommé "total":
    total.text = conteneur.getBytesTotal()+" ko";
    charge.text = conteneur.getBytesLoaded()+" ko";
    //Affichage du pourcentage chargé du conteneur dans le champs de texte dynamique nommé "pourcent":
    pourcent.text = Math.floor((conteneur.getBytesLoaded()/conteneur.getBytesTotal())*100) + " %";
    //Si le pourcentage chargé est égal à 100
    if (pourcent.text == "100 %"){
    //On arrète le chargement
    this.onEnterFrame = null;
     
    }
    }
    } 
    } 
    }
     
    //on définit notre movieClipLoader
    var mcl:MovieClipLoader = new MovieClipLoader(); 
    //on lui attache notre écouteur pour qu'il puisse entendre ce que le mcl émét
    mcl.addListener(mclListener);
    //on lance le chargement de l'image
    mcl.loadClip("info3.php", conteneur);
     
    //On duplique le clip accueillant l'image chargée précédemment
    duplicateMovieClip(conteneur, "conteneur2", this.getNextHighestDepth());
    //On attribut une nouvelle position en x.
    conteneur2._x = 450;
    //On lui donne de nouvelle proportions pour que l'image chargée s'affiche en deux fois plus grande
    conteneur2._width=conteneur._width*2
    conteneur2._height=conteneur._height*2
     
    //On charge l'image dans le conteneur2
    conteneur2.loadMovie(chargement.image);
    ça ne marche pas en l'état....

    Or, Si je supprime :
    //je donne les dimensions à mon conteneur
    conteneur._width = 250;
    conteneur._height = 250;

    la première image dans le premier clip s'affiche correctement...

    Dans tous les cas, la grande image ne s'affiche pas....

    Avez-vous une idée?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 65
    Points : 46
    Points
    46
    Par défaut Résolu
    problème résolu (tjrs grace à une grande aide des forums)
    je vous mets le script.
    Au cas ou ça serve à quelqu'un...
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    //Définition des variables :
    //Création des deux conteneurs :
    var conteneur:MovieClip = this.createEmptyMovieClip("conteneur", this.getNextHighestDepth()); 
    var conteneur2:MovieClip = this.createEmptyMovieClip("conteneur2", this.getNextHighestDepth());
    //Création de l'écouteur :
    var mclListener:Object = new Object();  
    //Création du movieClipLoader :
    var mcl:MovieClipLoader = new MovieClipLoader(); 
    //Création de la variable de chargement
    var chargement = new LoadVars();  
     
    //Evènement loadProgress envoyé par le movieClipLoader qui permet de savoir où en est le chargement :
    mclListener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void   
    {   //Affichage du nombre d'octets total dans le champs de texte dynamique nommé "total"
        total.text = bytesTotal+" octets"; 
    	//Affichage du nombre d'octets chargés dans le champs de texte dynamique nommé "charge"
        charge.text = bytesLoaded+" octets";  
          //Affichage du pourcentage d'octets chargés dans le champs de texte dynamique nommé "pourcent"
        pourcent.text = Math.floor((bytesLoaded/bytesTotal)*100) + " %";  
          //Si le pourcentage est égal à 100
        if (pourcent.text == "100 %"){  
             //en général, on fait disparaitre cette info de texte 
             //(il faut l'avoir fait apparaitre à chaque loadClip, ce qui n'est pas fait dans ce code)  
        }  
    }  
    //Création de l'évènement loadInit qui sera déclenché par le movieclipLoader lorsque le chargement sera fini
    //target_mc sert à récupérer le clip dans lequel a été fait le chargement
    mclListener.onLoadInit = function(target_mc:MovieClip):Void {   
    		//Si le chargement a été fait dans "conteneur" on va placer celui-ci aux coordonnées (100,120)
            if(target_mc==conteneur) {
    			conteneur._x = 100;  
            	conteneur._y = 120; 
    			//On définit maintenant les dimensions du conteneur1 (250x250)
            	conteneur._width = 250;  
            	conteneur._height = 250; 
     
            //le premier conteneur est chargé, on charge le 2 ème qui rappellera ici même 
    		//quand il sera prêt via la methode loadClip  
            mcl.loadClip(chargement.image,conteneur2); 
        } 
    	//Sinon, si le chargement a été fait dans "conteneur2" on va placer celui-ci aux coordonnées x=450
        else if(target_mc==conteneur2){ 
            conteneur2._x = 450; 
            //vu ce qu'il a écrit dessous, conteneur doit être là avant conteneur2 
            //pour qu'il puisse s'appuyer sur ses dimensions  
    		//Les dimensions du conteneur2 sont égales au double de celle du conteneur1
            conteneur2._width=conteneur._width*2  
            conteneur2._height=conteneur._height*2 
        }  
    }  
    //On fait appel au gstionnaire d'évènement onLoad
    chargement.onLoad = function(pSuc) {  
        if (pSuc) {  
            trace("chargement demandé de "+this.image+" sur "+conteneur); 
            // Sur conteneur1 on ne peut charger qu'avec le nom de l'image à charger: this.image 
            mcl.loadClip(this.image,conteneur);  
            //en dehors de cette fonction this.image devient accessible comme "chargement.image"    
        }   
    }   
    //On attache l'écouteur au movieclipLoader pour qu'il puisse entendre ce qu'il émet
    mcl.addListener(mclListener);
     
    //Pour finir on fait appel au fichier "info6.php" pour effectuer le chargement via la methode "load"
    chargement.load("info7.php");

  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 d'avoir indiqué ta solution ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Chargement externe movieclip swf instance duplication.
    Par ChapsF dans le forum ActionScript 3
    Réponses: 4
    Dernier message: 23/11/2009, 23h26
  2. [Flash] Redimensionner un MovieClip
    Par SNDP dans le forum Flash
    Réponses: 3
    Dernier message: 25/10/2006, 16h53
  3. [FLASH 8] Redimensionner une image au chargement
    Par robocop2776 dans le forum Flash
    Réponses: 2
    Dernier message: 30/01/2006, 14h18
  4. [AS2] [POO] Problème de duplication d'un MovieClip
    Par segphault dans le forum ActionScript 1 & ActionScript 2
    Réponses: 5
    Dernier message: 11/01/2006, 15h44
  5. [MX2004] redimensionner une image lors du chargement
    Par ouinouin dans le forum Flash
    Réponses: 8
    Dernier message: 18/02/2004, 18h32

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