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 :

Problème de boucle pour localconnect


Sujet :

Flash

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 104
    Points : 46
    Points
    46
    Par défaut Problème de boucle pour localconnect
    Bonjour,

    le localconnect marche mais la variable photoThumb envoyée est tjs la même la dernière (la dernière de la boucle), comment faire pour qu'au clic sur la miniature c'est la valeur photoThumb correspondante qui soit envoyée?

    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    function showThumbails(index,year:String):Void {
    	_root.theyear = year;
    	var MovieDepthCounter:Number = 10;
    	var photoHolder:MovieClip;
    	var xPos:Number;
    	var yPos:Number = 20;
    	var photoThumb:String;
    	var indice:Number = 0;
    	nombre+= index;
    	indice = nombre/4;
     
    	trace("nombre vaut "+nombre);	
    	trace("index vaut "+index);
    	trace("indice vaut "+indice);
     
    	for (var i:Number = 0; i<RootNode.childNodes.length; i++) 
    	{
     
    		if (RootNode.childNodes[i].attributes.year == year) 
    		{
    			var CategoryXML:XMLNode = RootNode.childNodes[i];
    			TotalPhotos = RootNode.childNodes[i].childNodes.length;
    			trace(year+" has "+TotalPhotos+" photos");
     
    				if (indice == (Math.floor(TotalPhotos/4)) || year == "2003" )
    				{
    					//pr empêcher d'aller en avant qd on est à la dernière photo
     
    					Next_btn.enabled = false;							
     
    				} 
     
    				if ((nombre+1) > (TotalPhotos-4) )
    				{
    					//pr empêcher d'aller en avant qd on est à la dernière photo
     
    					Next_btn.enabled = false;								
     
    				}
     
    				else 
    				{
    					Next_btn.enabled = true;
    				}
     
    				if (nombre == 0) 
    				{
    					//pr empêcher d'aller en arrière qd on est à la première photo
    					Previous_btn.enabled = false;
    					Next_btn.enabled = true;
    				} 
    				else 
    				{
    					Previous_btn.enabled = true;
    				}
     
     
     
    			for (var j:Number = 0; j<4; j++) 
    			{
    				photoThumb = RootNode.childNodes[i].childNodes[j+nombre].childNodes[1].firstChild.nodeValue;
     
    				trace(photoThumb);
    				photoHolder = this.createEmptyMovieClip("photoHolder"+j, MovieDepthCounter);
    				//trace(photoHolder);
    				xPos = 30+65*j;
    				photoHolder._x = xPos;
    				photoHolder._y = yPos;
     
    				var photoHolderLoader:MovieClipLoader = new MovieClipLoader();
     
    				// création de l'écouteur
    				var eLoader:Object = new Object();
    				eLoader.onLoadInit = function(photoHolder:MovieClip):Void  
    				{
    					// p_mcCible correspond à photoHolder
     
    					photoHolder._alpha = 0;
    					photoHolder.onLoad = doFade(photoHolder, "in", 5);
    					photoHolder.onRelease = function() 
    					{
    					   Envoi = new LocalConnection();
    					   Envoi.send("portfolio_thumb_fade", "mamethode", photoThumb);
    					   trace ("photoThumb envoyé correspond à : "+photoThumb);					   			  
    					}
    				};
    				photoHolderLoader.addListener(eLoader);
     
    				photoHolderLoader.loadClip(photoThumb, photoHolder);
     
    				MovieDepthCounter++;
    			}
    		}
    	}
    	//fin du for
     
    }
    //fin de la fonction showThumbails
    Merci d'avance

  2. #2
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 104
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    Pour pouvoir m'y retrouver dans mon swf recepteur, j'ai créé une variable myphoto qui représente l'addition de photoHolder (qui va de 0 à 3) puisque c'est par 4 que j'ai paramétré la galerie miniature et de la variable nombre qui va me permettre finalement d'envoyer un nombre allant de 0 à TotalPhotos contenus dans cette année, le problème c'est que l'envoi de la variable se fait mais elle ne retient que la dernière valeur de la boucle j<4 alors que moi j'ai besoin que lorsqu'on clique ça m'envoie la valeur correspondante !!

    j'aimerais aussi envoyer une deuxième variable à l'autre swf, (la variable year qui va me permettre de savoir dans quel noeud le swf recepteur devra chercher pour afficher photo grandeur max), puis je simplement la rajouter après la première variable avec une virgule ???


    Merci d'avance !

    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
     
    function showThumbails(index,year:String):Void {
        _root.theyear = year;
        var MovieDepthCounter:Number = 10;
        var photoHolder:MovieClip;
        var xPos:Number;
        var yPos:Number = 20;
        var photoThumb:String;
        var indice:Number = 0;
        nombre+= index;
        indice = nombre/4;
     
        trace("nombre vaut "+nombre);   
        trace("index vaut "+index);
        trace("indice vaut "+indice);
     
        for (var i:Number = 0; i<RootNode.childNodes.length; i++)
        {
     
            if (RootNode.childNodes[i].attributes.year == year)
            {
                var CategoryXML:XMLNode = RootNode.childNodes[i];
                TotalPhotos = RootNode.childNodes[i].childNodes.length;
                trace(year+" has "+TotalPhotos+" photos");
     
                    if (indice == (Math.floor(TotalPhotos/4)) || year == "2003" )
                    {
                        //pr empêcher d'aller en avant qd on est à la dernière photo
     
                        Next_btn.enabled = false;                           
     
                    }
     
                    if ((nombre+1) > (TotalPhotos-4) )
                    {
                        //pr empêcher d'aller en avant qd on est à la dernière photo
     
                        Next_btn.enabled = false;                               
     
                    }
     
                    else
                    {
                        Next_btn.enabled = true;
                    }
     
                    if (nombre == 0)
                    {
                        //pr empêcher d'aller en arrière qd on est à la première photo
                        Previous_btn.enabled = false;
                        Next_btn.enabled = true;
                    }
                    else
                    {
                        Previous_btn.enabled = true;
                    }
     
     
     
                for (var j:Number = 0; j<4; j++)
                {
                    photoThumb = RootNode.childNodes[i].childNodes[j+nombre].childNodes[1].firstChild.nodeValue;
     
                    trace(photoThumb);
                    trace("nombre vaut : "+nombre);
                    photoHolder = this.createEmptyMovieClip("photoHolder"+j, MovieDepthCounter);
                    //trace(photoHolder);
                    xPos = 30+65*j;
                    photoHolder._x = xPos;
                    photoHolder._y = yPos;
     
                    var photoHolderLoader:MovieClipLoader = new MovieClipLoader();
                    trace ("photoHolder vaut :"+photoHolder);
                    var recup:String = photoHolder._name.slice(-1); //pr extraire le numéro de la photo (de 0 à3)
                    var recupNumber:Number = parseInt(recup); //pr convertir string en number
                    var myphoto:Number = recupNumber + nombre; //pr pouvoir envoyer à l'autre swf le numéro de la photo correspondante
                    trace ("myphoto vaut : " +myphoto);
                    // création de l'écouteur
                    var eLoader:Object = new Object();
                    eLoader.onLoadInit = function(photoHolder:MovieClip):Void 
                    {
                        // p_mcCible correspond à photoHolder
     
                        photoHolder._alpha = 0;
                        photoHolder.onLoad = doFade(photoHolder, "in", 5);
                        photoHolder.onRelease = function()
                        {
                           Envoi = new LocalConnection();
                           Envoi.send("portfolio_thumb_fade", "mamethode", myphoto);
                           trace("photoThumb envoyé correspond à : "+myphoto);
                           trace ("year correspond à "+year);
                        }
                    };
                    photoHolderLoader.addListener(eLoader);
     
                    photoHolderLoader.loadClip(photoThumb, photoHolder);
     
                    MovieDepthCounter++;
                }
            }
        }
        //fin du for
     
    }
    //fin de la fonction showThumbails
    function doFade(mcName, alphaDirection, changeRate) {
        mcName.onEnterFrame = function() {
            if (alphaDirection == "out") {
                if (this._alpha<=0) {
                    this._alpha = 0;
                    delete this.onEnterFrame;
                } else {
                    this._alpha -= changeRate;
                }
            } else if (alphaDirection == "in") {
                if (this._alpha>=100) {
                    this._alpha = 100;
                    delete this.onEnterFrame;
                } else {
                    this._alpha += changeRate;
                }
            }
        };
    }

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/09/2011, 11h10
  2. Réponses: 6
    Dernier message: 20/10/2009, 10h05
  3. [GD] Problème de boucle pour redimensionner plusieurs images ...
    Par jimmyneutron dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/04/2007, 17h46
  4. Réponses: 3
    Dernier message: 11/01/2006, 17h44

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