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 :

Développement d'un portfolio en flash+xml


Sujet :

Flash

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Développement d'un portfolio en flash+xml
    Bonjour à tous,
    Je réalise en ce momen l'évolution de mon site portfolio en flash+xml, et n'ayant pas toutes les connaissances requises pour réaliser cela seul, j'ai des petits soucis et blocages, c'est pour cela que je fais appel à vos connaissances et à votre aide.

    j'ai plusieurs problèmes on va éssayé de les régler un par un si vous voulez bien.

    Le premier tout d'abord, j'ai un menu déroulant qui s'affiche en roll over, et je voudrait plutôt qui soit toujours visible, pas qu'il n'apparaisse qu'au survol de la souris, et je ne trouve pas quoi changer pour arriver à cela.

    voici la partie du code pour le menu :

    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
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
     
     
     
     
     
    // création et affichage du menu
    	for (i=0; i<nbrMenus; i++) {
    		_root.attachMovie("elementMenutop", "menutop"+i, i+10);
    		_root["menutop"+i]._x = 30+(i*137);
    		_root["menutop"+i]._y = 180;
    		_root["menutop"+i].numeroDeMenu = i;
    		_root["menutop"+i].nomElement = racine.childNodes[0].childNodes[i].attributes.Nom;
    		var Hmenu = _root["menutop"+i]._height;
     
    		// création et affichage du sous menu
    		_root["menutop"+i].onRollOver = function() {
    			var nbrElementsMenu = racine.childNodes[0].childNodes[this.numeroDeMenu].childNodes.length;
    			effacerelementsDeMenus();
    			var racineMC = _root;
    			for (i=0, j=1000; i<nbrElementsMenu; i++, j++) {
     
    				if(nbrElementsMenu>15){
    					_root.attachMovie("elementMenuDeroulScroll","elementDeMenuSc",j);
    					racineMC = _root.elementDeMenuSc;
    					_root.attachMovie("mc_barreScroll","mc_barreScroll",j+1);
    					_root.mc_barreScroll._x = this._x+128;
    					_root.mc_barreScroll._y = this._y+18;
    					_root.mc_barreScroll.attachMovie("fondMasque","mc_masque",1);
    					_root.mc_barreScroll.mc_masque._x = -128;
    					_root.mc_barreScroll.mc_masque._y = 0;
    					_root.mc_barreScroll.mc_masque._width = 135;
    					_root.mc_barreScroll.mc_masque._height = 238;
    					_root.mc_barreScroll.mc_masque.setRGB(0x68fcfd);
    					racineMC.setMask(_root.mc_barreScroll.mc_masque);
    				}
     
    				racineMC.attachMovie("elementMenuDeroul", "elementSSMenu"+i, j);
    				racineMC["elementSSMenu"+i]._x = this._x;
    				//racineMC["elementDeMenu"+i]._y = (this._y-2)+(i*21.3)+21.3;
    				racineMC["elementSSMenu"+i]._y = this._y+(i*(racineMC["elementSSMenu"+i]._height-2))+Hmenu;
    				racineMC["elementSSMenu"+i].nomElement = racine.childNodes[0].childNodes[this.numeroDeMenu].childNodes[i].attributes.Nom;
     
    				racineMC["elementSSMenu"+i].numeroDeMenu = this.numeroDeMenu;
    				racineMC["elementSSMenu"+i].numeroElement = i;
    				//trace(racineMC["elementDeMenu"+15]._height);
     
    				// action quand on clic sur un sous menu
    				racineMC["elementSSMenu"+i].onPress = function() {
    					var infosElementDuMenu = racine.childNodes[0].childNodes[this.numeroDeMenu].childNodes[this.numeroElement
    ];
    					URL = infosElementDuMenu.attributes.url.toUpperCase();
    					gotoAndStop(URL);
    					effacerelementsDeMenus();
    				}
     
    				// roll over des sous menu du menu déroulant
    				racineMC["elementSSMenu"+i].onRollOver = function() {
    					affiche = 1;
    					this.couleurDeFond.setRGB(0x67fdfc);
    					this.fond.lineStyle(1,0x67fdfc,100)
    				}
    				// roll out des sous menu du menu déroulant				
    				racineMC["elementSSMenu"+i].onRollOut = function() {
    					this.couleurDeFond.setRGB(0xffffff);
    					this.fond.lineStyle(1,0x67fdfc,100)
    				}
     
    				// Déplacement du clip et de l'ascenseur
    				var ascY = 16;
    				var MaxY = 206;
    				var PosMin = 0;
    				var PosMax = _root.mc_barreScroll._height-racineMC._height;
    				//trace (PosMax);
    				_root.mc_barreScroll.bt_descendre.onPress = function() {
    					this.onEnterFrame = function() {
    						if(racineMC._y>PosMax){
    							coefAscenseur = ((racineMC._y)/PosMax);
    							_root.mc_barreScroll.ascenseur._y = ascY+((MaxY-17)*coefAscenseur);
    							racineMC._y -= 2;
    							if(racineMC._y==(PosMax-0.001)) _root.mc_barreScroll.ascenseur._y = MaxY-17;
    						}
    					}
    				}
    				_root.mc_barreScroll.bt_descendre.onRelease = _root.mc_barreScroll.bt_descendre.onReleaseOutside=function () {
    					delete this.onEnterFrame;
    				}
    				_root.mc_barreScroll.bt_descendre.onRollOver = function() { this.couleurDeFond.setRGB(0x67fdfc); }
    				_root.mc_barreScroll.bt_descendre.onRollOut  = function() { this.couleurDeFond.setRGB(0x000000); }
     
    				_root.mc_barreScroll.bt_monter.onPress = function() {
    					this.onEnterFrame = function() {
    						if(racineMC._y<PosMin){
    							coefAscenseur = (racineMC._y/PosMax);
    							_root.mc_barreScroll.ascenseur._y = ascY+(MaxY*coefAscenseur);
    							racineMC._y += 2;
    							if(racineMC._y==0) _root.mc_barreScroll.ascenseur._y = ascY;
    						}
    					}
    				}
    				_root.mc_barreScroll.bt_monter.onRelease = _root.mc_barreScroll.bt_monter.onReleaseOutside=function () {
    					delete this.onEnterFrame;
    				}
    				_root.mc_barreScroll.bt_monter.onRollOver = function() { this.couleurDeFond.setRGB(0x67fdfc); }
    				_root.mc_barreScroll.bt_monter.onRollOut  = function() { this.couleurDeFond.setRGB(0x000000); }
     
    				//trace("MaxScroll="+(ascY+218));
    				_root.mc_barreScroll.ascenseur.onPress = function() {
    					startDrag(this, false, 8, ascY, 8, MaxY);
    					this.onMouseMove = function() {
    						racineMC._y = (PosMax*((this._y-ascY)/(MaxY-ascY)));
    						//trace(PosMax);
    					}
    				}
    				_root.mc_barreScroll.ascenseur.onRelease = _root.mc_barreScroll.ascenseur.onReleaseOutside=function () {
    					stopDrag();
    					if(racineMC._y==0) _root.mc_barreScroll.ascenseur._y = ascY
    						delete this.onEnterFrame;
    					}
    				}
    			}
    		}
     
     
     
    			//bt_flecheNav.couleurDeFond.setRGB(0xFFFFFF);
    	_root.retourCulture.onRollOver = function() { this.txt_cheminNav.setTextFormat(couleurTxtHover); bt_flecheNav.couleurDeFond.setRGB(0x67fdfc); }
    	_root.retourCulture.onRollOut  = function() { this.txt_cheminNav.setTextFormat(couleurTxt); bt_flecheNav.couleurDeFond.setRGB(0xFFFFFF); }
     
    	var longcheminNav = new Array;
     
    }
    // fonction d'éffacement du menu
    effacerelementsDeMenus = function () {
    	for (i=0; i<j; i++) {
    		_root["elementSSMenu"+i].removeMovieClip();
    		_root.elementDeMenuSc.removeMovieClip();
    		_root.mc_barreScroll.removeMovieClip();
    	}
    }
    // effacement du menu déroulant en roll out
    _root.mc_trans.onRollOver = function() {
    	effacerelementsDeMenus();
    }
    D'avance merci.

  2. #2
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour,
    sans le source complet c'est pas facile de voir comment ça marche.
    Pour régler ton problème essayes de supprimer la fonction "roll out" et remplacer la fontion "roll over" par un onRelease...
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    j'ai éssayé, mais en fait je voudrait que le menu soit visible dès le chargement du swf, pas qu'il s'affiche en roll over ou en clic

    je vous met la totalité des codes, d'avance merci


    code pour les preload, placement des clips, déplacement, ...
    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
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
     
     
    MovieClip.prototype.traceRectangle=function(xPos,yPos,width,height,fillColor,lineColor,alpha){
       this.beginFill(fillColor,alpha); 
       this.lineStyle(1,lineColor,alpha); 
       this.moveTo(xPos,yPos); 
       this.lineTo(xPos+width,yPos); 
       this.lineTo(xPos+width,yPos+height); 
       this.lineTo(xPos,yPos+height); 
       this.lineTo(xPos,yPos); 
       this.endFill();
    }
     
    MovieClip.prototype.setPreloader=function(obj){
       //Récup valeur(1,2,3,4)
       var level = obj.level;
     
       this.traceRectangle(0,0,150,9,0xffffff,0x515151,100);
       this.createEmptyMovieClip("barre",1);
       this.barre._x=5;
       this.barre._y=5;
       this.barre.percent=0;
       this.createTextField("message",2,63,10,40,20);
       this.onEnterFrame = function() {
          this.barre.clear();
          this.barre.traceRectangle(-3,-3,100*this.barre.percent,5,0x67fdfc,0xffffff,100);
          this.barre.percent=obj.getBytesLoaded()/obj.getBytesTotal();
     
    	  //Récupération du % t
    	  partChargement = Math.ceil((obj.getBytesLoaded()/obj.getBytesTotal())*100);
    	  affichageChargement = partChargement+" %";
    	  this.message.text=affichageChargement;
    	  var my_message:TextFormat = new TextFormat();
      	  my_message.font = "Verdana";
          my_message.color = 0x000000;
          this.message.setTextFormat(my_message);
     
    	  /*****************************************************************/
          if (this.barre.percent>=0.99&&!isNaN(this.barre.percent)) {
             if(this._parent.massLoadWorking!=undefined)
                this._parent.massLoadWorking=false;
             this.removeMovieClip();
          }
       }
    }
     
    MovieClip.prototype.loadFile=function(obj){
       /* 
       ** la variable en parametre est un objet du type:
       ** {type:a,file:b,newName:c,level:d}
       */
       var type=obj.type;
       var file=obj.file;
       var newName = obj.newName;
       var newlegende = obj.newLegende;
       var width = obj.width;
       var height = obj.height;
       var level = obj.level;
     
       //positionnement du clip-photo "newName" + clip-preload
       if (height<width) { clipX = 195+((level-1)*677); }
       else				 { clipX = 195+((level-1)*677); }
     
       this.createEmptyMovieClip("control",(level+1));
       this.control._x=clipX+((width-150)/2);
       this.control._y=((height-40)/2);
     
       this.createEmptyMovieClip(level+newName,level);
       this[level+newName].loadMovie(file);
       this[level+newName]._x = clipX;
       trace("newName"+this[level+newName]);
       this.control.setPreloader(this[level+newName]);
       //trace("OK loadFile");
    }
     
    MovieClip.prototype.chargeTexte=function(obj){
       /* 
       ** la variable en parametre est un objet du type:
       ** {type:a,file:b,newName:c,level:d}
       */
       var type=obj.type;
       var file=obj.file;
       var newName = obj.newName;
       var newlegende = obj.newLegende;
       var width = obj.width;
       var height = obj.height;
       var level = obj.level;
     
       //positionnement du clip-Texte "text"
       if (height<width) { posX = ((level-1)*677); posY = 5; }
       else				 { posX = ((level-1)*677); posY = 5; }
     
       var texte = "text"+(level-1);
       this.attachMovie("text", texte, (level-1));
       //trace("Niveau text="+(level-1));
       this[texte].nomTitre = newName;
       this[texte].nomLegende = newlegende;
       this[texte]._x = posX;
       this[texte]._y = posY;
     
       //trace("OK chargeTexte");
    }
     
    // Variables de paramétrage de la navigation basse
    // infos slide pages galerie
    var vitesse = 0.25;
    var frottement = 0.40;
    var placex = 0;
    // Création du tableau qui contient les positions de la slide
    var position = 0;
    var ordonnee = new Array();
    // Changement de couleur du texte en Rollover
    var couleurTxt = new TextFormat();
    couleurTxt.color = 0x000000;
    var couleurTxtHover = new TextFormat();
    couleurTxtHover.color = 0x67fdfc;
     
    MovieClip.prototype.chargeNav=function(obj){
    	var i = (obj.level-1);
    	var nbrMenus = obj.nbrMenus;
    	// Récupération des ordonnées de chaque page(oeuvre)
    	var tab = new Array;
    	tab = (310-(i*677));
    	ordonnee.push(tab);
     
    	_root["menu"+i].element_Inst.setTextFormat(couleurTxt);
     
    	//trace("chargeNav Level="+i+" Ordonnée="+ordonnee[i]);
    	_root["menu"+i].onPress = function() {
    		destX = destX == ordonnee[i] ? 310 : ordonnee[i];
    		position = i;
    		trace("Position i="+_global.position);
    		mc_calcul.onEnterFrame = function() {
    			decalx = vitesse*(destX-_root.mc_oeuvre._x);
    			placex += decalx;
    			placex *= frottement;
    			_root.mc_oeuvre._x += placex;
    			//trace("Position McOeuvre="+_root.mc_oeuvre._x);
    		}
    	}
     
    	// Rollover sur les boutons de pages
    	_root["menu"+i].onRollOver = function() {
    		this.couleurDeFond.setRGB(0x67fdfc);
    		this.element_Inst.setTextFormat(couleurTxtHover);
    	}
    	_root["menu"+i].onRollOut = function() {
    		this.couleurDeFond.setRGB(0x000000);
    		this.element_Inst.setTextFormat(couleurTxt);
    	}
    	// déplacemement des boutons suivant/précédent
    	//trace("Position="+i+" NbrMenus"+nbrMenus);
    	_root.bt_flecheD.couleurDeFond.setRGB(0x000000);
    	_root.bt_flecheD.onPress = function() {
    		if(position<(nbrMenus-1)) position += 1;
    		destX = destX == (ordonnee[position]) ? mc_oeuvre._x : (ordonnee[position]);
    		mc_calcul.onEnterFrame = function() {
    			decalx = vitesse*(destX-mc_oeuvre._x);
    			placex += decalx;
    			placex *= frottement;
    			mc_oeuvre._x += placex;
    		}
    	}
    	_root.bt_flecheD.onRollOver = function() { this.couleurDeFond.setRGB(0x67fdfc); }
    	_root.bt_flecheD.onRollOut  = function() { this.couleurDeFond.setRGB(0x000000); }
     
    	_root.bt_flecheG.couleurDeFond.setRGB(0x000000);
    	_root.bt_flecheG.onPress = function() {
    		if(position>0) position -= 1;
    		destX = destX == (ordonnee[position]) ? mc_oeuvre._x : (ordonnee[position]);
    		mc_calcul.onEnterFrame = function() {
    			decalx = vitesse*(destX-mc_oeuvre._x);
    			placex += decalx;
    			placex *= frottement;
    			mc_oeuvre._x += placex;
    		}
    	}
    	_root.bt_flecheG.onRollOver = function() { this.couleurDeFond.setRGB(0x67fdfc); }
    	_root.bt_flecheG.onRollOut  = function() { this.couleurDeFond.setRGB(0x000000); }
     
    	// déplacemement des boutons début/fin
    	_root.bt_flecheGG.couleurDeFond.setRGB(0x000000);
    	_root.bt_flecheGG.onPress = function() {
    		position = 0;
    		destX = destX == 310 ? mc_oeuvre._x : 310;
    		mc_calcul.onEnterFrame = function() {
    			decalx = vitesse*(destX-mc_oeuvre._x);
    			placex += decalx;
    			placex *= frottement;
    			mc_oeuvre._x += placex;
    		}
    	}
    	_root.bt_flecheGG.onRollOver = function() { this.couleurDeFond.setRGB(0x67fdfc); }
    	_root.bt_flecheGG.onRollOut  = function() { this.couleurDeFond.setRGB(0x000000); }
     
    	if(i==(nbrMenus-1)){
    		//trace("i="+i);
    		_root.bt_flecheDD.couleurDeFond.setRGB(0x000000);
    		_root.bt_flecheDD.onPress = function() {
    			//this.couleurDeFond.setRGB(0xFFFFFF);
    			position = nbrMenus-1;
    			destX = destX == (310-((nbrMenus-1)*677)) ? mc_oeuvre._x : (310-((nbrMenus-1)*677));
    			mc_calcul.onEnterFrame = function() {
    				decalx = vitesse*(destX-mc_oeuvre._x);
    				placex += decalx;
    				placex *= frottement;
    				mc_oeuvre._x += placex;
    			}
    		}
    		_root.bt_flecheDD.onRollOver = function() { this.couleurDeFond.setRGB(0x67fdfc); }
    		_root.bt_flecheDD.onRollOut  = function() { this.couleurDeFond.setRGB(0x000000); }
    	}
    }
     
    var preloadOK=new Array();
    var menuOK=new Array();
    var prelaodAll=false;
    var j=0;
     
    MovieClip.prototype.massLoad = function(objects){
       /* 
       ** les variables en parametre sont des objets du type:
       ** {type:a,file:b,newName:c,level:d}
       */
       this.massLoadWorking=false;
       this.massLoadList=new Array();
     
       for(var i=0;i<arguments.length;i++)
          this.massLoadList.push(arguments[i]);
    	  //trace("éléments Tab="+this.massLoadList.length);
     
       this.onEnterFrame=function(){
          if(!this.massLoadWorking&&this.massLoadList.length>0){
    		 //trace("OK"+this.massLoadList.length);
    		 var remplir = this.massLoadList.shift();
    		 this.loadFile(remplir);
    		 this.mc_texte.chargeTexte(remplir);
    		 _root["menu"+j].chargeNav(remplir);
    		 /*on met la valeur Length(0/1/2/3...) dans un tableau une fois l'image chargée */
    	     preloadOK.push(this.massLoadList.length);
             //trace("OK preload="+preloadOK);
             /* et on précise que maintenant, on est plus à l'arret
             ** donc la fonction attendra d'avoir fini le chargement pour en lancer un autre */
             this.massLoadWorking=true;
    		 j++;
          }
    	  //if(this.massLoadWorking&&!this.massLoadList.length>0){ prelaodAll = true; trace("Prelaod des images fini") }
       }
    }

    code une fois le xml chargé, pour la récupération des infos et la créations des menu, galerie,...
    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
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
     
     
    stop();
     
    // Charge le xml
    var chargementDocXML = new XML();
    chargementDocXML.load("1-10.xml");
    chargementDocXML.ignoreWhite = true;
     
    // quand le xml est chargé
    chargementDocXML.onLoad = function() {
    	var racine = this.firstChild;
    	var nbrMenus = racine.childNodes[0].childNodes.length;
    	var nbrArtistes = racine.childNodes[1].childNodes.length;
    	var nbrChemin = racine.childNodes[2].childNodes.length;
     
    	// création du clip contenant les pages de la galerie et de son masque
    	_root.createEmptyMovieClip("mc_oeuvre", 1);
    	mc_oeuvre._x = 310;
    	mc_oeuvre._y = 185;
    	mc_oeuvre.setMask(masque);
     
    	// Clip vide pour recevoir le texte
    	_root.mc_oeuvre.createEmptyMovieClip("mc_texte", 500);
     
    	//Appel à la fonction de prelaod dynamique "massload" + création var de reprise chargement si arrêté 
    	_root.mc_oeuvre.massLoad();
    	var repriseLoad = false;
     
    	for (i=0; i<nbrArtistes; i++) {
     
    		//Récupération des éléments du XML pour affichage
    		var numMenu = new Array;     numMenu[i] = racine.childNodes[1].childNodes[i].attributes.Num;
    		var nomJPG = new Array;      nomJPG[i] = racine.childNodes[1].childNodes[i].attributes.NomJPG;
    		var titreJPG = new Array;    titreJPG[i] = racine.childNodes[1].childNodes[i].attributes.Titre;
    		var legendeJPG = new Array;  legendeJPG[i] = racine.childNodes[1].childNodes[i].attributes.Legende;
    		var nomHauteur = new Array;  nomHauteur[i] = racine.childNodes[1].childNodes[i].attributes.Hauteur;
    		var nomLargeur = new Array;  nomLargeur[i] = racine.childNodes[1].childNodes[i].attributes.Largeur;
     
    		//Déterminer le nom du tableau Array IMG + création des tableaux
    		var file = "file"+(i+1);
    		file={type:"image",file:+nomJPG[i], newName:titreJPG[i], newLegende:legendeJPG[i], width:nomLargeur[i], height:nomHauteur[i], level:numMenu[i], nbrMenus:nbrArtistes};
    		_root.mc_oeuvre.massLoadList.push(file);
    		//trace("loadImg"+_root.mc_oeuvre.massLoadList.length);
     
    		// Positionnement des boutons de navigation
    		_root.attachMovie("elementMenu", "menu"+i, i+20);
    		//trace("Niveau elementMenu"+(i+20));
    		_root["menu"+i]._x = (508+(474-(nbrArtistes*20))/2)+(i*20);
    		_root["menu"+i]._y = 555;
    		_root["menu"+i].numeroDeMenu = i;
    		_root["menu"+i].numMenu = numMenu[i];
    		//trace("elementMenu="+_root["menu"+i]._level);
     
    		// place les flèches suivant/précédent
    		_root.bt_flecheG._x = (_root["menu"+0]._x)-10;
    		_root.bt_flecheG._y = 552;
    		_root.bt_flecheD._x = (_root["menu"+i]._x)+25;
    		_root.bt_flecheD._y = 552;
     
    		_root.bt_flecheGG._x = (_root["menu"+0]._x)-15;
    		_root.bt_flecheGG._y = 552;
    		_root.bt_flecheDD._x = (_root["menu"+i]._x)+50;
    		_root.bt_flecheDD._y = 552;
    	}
     
    	// création et affichage du menu
    	for (i=0; i<nbrMenus; i++) {
    		_root.attachMovie("elementMenutop", "menutop"+i, i+10);
    		_root["menutop"+i]._x = 30+(i*137);
    		_root["menutop"+i]._y = 180;
    		_root["menutop"+i].numeroDeMenu = i;
    		_root["menutop"+i].nomElement = racine.childNodes[0].childNodes[i].attributes.Nom;
    		var Hmenu = _root["menutop"+i]._height;
     
    		// création et affichage du sous menu
    		_root["menutop"+i].onRollOver = function() {
    			var nbrElementsMenu = racine.childNodes[0].childNodes[this.numeroDeMenu].childNodes.length;
    			effacerelementsDeMenus();
    			var racineMC = _root;
    			for (i=0, j=1000; i<nbrElementsMenu; i++, j++) {
     
    				if(nbrElementsMenu>15){
    					_root.attachMovie("elementMenuDeroulScroll","elementDeMenuSc",j);
    					racineMC = _root.elementDeMenuSc;
    					_root.attachMovie("mc_barreScroll","mc_barreScroll",j+1);
    					_root.mc_barreScroll._x = this._x+128;
    					_root.mc_barreScroll._y = this._y+18;
    					_root.mc_barreScroll.attachMovie("fondMasque","mc_masque",1);
    					_root.mc_barreScroll.mc_masque._x = -128;
    					_root.mc_barreScroll.mc_masque._y = 0;
    					_root.mc_barreScroll.mc_masque._width = 135;
    					_root.mc_barreScroll.mc_masque._height = 238;
    					_root.mc_barreScroll.mc_masque.setRGB(0x68fcfd);
    					racineMC.setMask(_root.mc_barreScroll.mc_masque);
    				}
     
    				racineMC.attachMovie("elementMenuDeroul", "elementSSMenu"+i, j);
    				racineMC["elementSSMenu"+i]._x = this._x;
    				//racineMC["elementDeMenu"+i]._y = (this._y-2)+(i*21.3)+21.3;
    				racineMC["elementSSMenu"+i]._y = this._y+(i*(racineMC["elementSSMenu"+i]._height-2))+Hmenu;
    				racineMC["elementSSMenu"+i].nomElement = racine.childNodes[0].childNodes[this.numeroDeMenu].childNodes[i].attributes.Nom;
    				racineMC["elementSSMenu"+i].numeroDeMenu = this.numeroDeMenu;
    				racineMC["elementSSMenu"+i].numeroElement = i;
    				//trace(racineMC["elementDeMenu"+15]._height);
     
    				// action quand on clic sur un sous menu
    				racineMC["elementSSMenu"+i].onPress = function() {
    					var infosElementDuMenu = racine.childNodes[0].childNodes[this.numeroDeMenu].childNodes[this.numeroElement];
    					URL = infosElementDuMenu.attributes.url.toUpperCase();
    					gotoAndStop(URL);
    					effacerelementsDeMenus();
    				}
     
    				// roll over des sous menu du menu déroulant
    				racineMC["elementSSMenu"+i].onRollOver = function() {
    					affiche = 1;
    					this.couleurDeFond.setRGB(0x67fdfc);
    					this.fond.lineStyle(1,0x67fdfc,100)
    				}
    				// roll out des sous menu du menu déroulant				
    				racineMC["elementSSMenu"+i].onRollOut = function() {
    					this.couleurDeFond.setRGB(0xffffff);
    					this.fond.lineStyle(1,0x67fdfc,100)
    				}
     
    				// Déplacement du clip et de l'ascenseur
    				var ascY = 16;
    				var MaxY = 206;
    				var PosMin = 0;
    				var PosMax = _root.mc_barreScroll._height-racineMC._height;
    				//trace (PosMax);
    				_root.mc_barreScroll.bt_descendre.onPress = function() {
    					this.onEnterFrame = function() {
    						if(racineMC._y>PosMax){
    							coefAscenseur = ((racineMC._y)/PosMax);
    							_root.mc_barreScroll.ascenseur._y = ascY+((MaxY-17)*coefAscenseur);
    							racineMC._y -= 2;
    							if(racineMC._y==(PosMax-0.001)) _root.mc_barreScroll.ascenseur._y = MaxY-17;
    						}
    					}
    				}
    				_root.mc_barreScroll.bt_descendre.onRelease = _root.mc_barreScroll.bt_descendre.onReleaseOutside=function () {
    					delete this.onEnterFrame;
    				}
    				_root.mc_barreScroll.bt_descendre.onRollOver = function() { this.couleurDeFond.setRGB(0x67fdfc); }
    				_root.mc_barreScroll.bt_descendre.onRollOut  = function() { this.couleurDeFond.setRGB(0x000000); }
     
    				_root.mc_barreScroll.bt_monter.onPress = function() {
    					this.onEnterFrame = function() {
    						if(racineMC._y<PosMin){
    							coefAscenseur = (racineMC._y/PosMax);
    							_root.mc_barreScroll.ascenseur._y = ascY+(MaxY*coefAscenseur);
    							racineMC._y += 2;
    							if(racineMC._y==0) _root.mc_barreScroll.ascenseur._y = ascY;
    						}
    					}
    				}
    				_root.mc_barreScroll.bt_monter.onRelease = _root.mc_barreScroll.bt_monter.onReleaseOutside=function () {
    					delete this.onEnterFrame;
    				}
    				_root.mc_barreScroll.bt_monter.onRollOver = function() { this.couleurDeFond.setRGB(0x67fdfc); }
    				_root.mc_barreScroll.bt_monter.onRollOut  = function() { this.couleurDeFond.setRGB(0x000000); }
     
    				//trace("MaxScroll="+(ascY+218));
    				_root.mc_barreScroll.ascenseur.onPress = function() {
    					startDrag(this, false, 8, ascY, 8, MaxY);
    					this.onMouseMove = function() {
    						racineMC._y = (PosMax*((this._y-ascY)/(MaxY-ascY)));
    						//trace(PosMax);
    					}
    				}
    				_root.mc_barreScroll.ascenseur.onRelease = _root.mc_barreScroll.ascenseur.onReleaseOutside=function () {
    					stopDrag();
    					if(racineMC._y==0) _root.mc_barreScroll.ascenseur._y = ascY
    						delete this.onEnterFrame;
    					}
    				}
    			}
    		}
     
     
     
    			//bt_flecheNav.couleurDeFond.setRGB(0xFFFFFF);
    	_root.retourCulture.onRollOver = function() { this.txt_cheminNav.setTextFormat(couleurTxtHover); bt_flecheNav.couleurDeFond.setRGB(0x67fdfc); }
    	_root.retourCulture.onRollOut  = function() { this.txt_cheminNav.setTextFormat(couleurTxt); bt_flecheNav.couleurDeFond.setRGB(0xFFFFFF); }
     
    	var longcheminNav = new Array;
     
    }
    // fonction d'éffacement du menu
    effacerelementsDeMenus = function () {
    	for (i=0; i<j; i++) {
    		_root["elementSSMenu"+i].removeMovieClip();
    		_root.elementDeMenuSc.removeMovieClip();
    		_root.mc_barreScroll.removeMovieClip();
    	}
    }
    // effacement du menu déroulant en roll out
    _root.mc_trans.onRollOver = function() {
    	effacerelementsDeMenus();
    }

  4. #4
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour,
    qu'est-ce qui t'empeche d'executer le code contenu dans la fonction rollOver? en dehors de la dite fonction??
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    ben je ne sais pas comment modifier le code, jai éssayer de l'enlever de la fonction roll-over, sa ne marche plus, jai ptet du mal fair quelques chose, je ne suis un gran connaisseur au nivo code, j'ai fait tous ces codes à partir des plusieurs code trouver sur le net, puis quelqu'un m'a un peu aider à le modifier, mais il ne peut plus m'aider (c'était dans une entreprise où je travaillais) et voila.

    merci de me proposer un code pour que ça séxécute dès l'ouverture du swf.

  6. #6
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    pour bien faire il nous faudrait un petit exemple le fichier source simplifié avec le menu si je tape ton code dans mon éditeur flash ça donne rien et je suis quand même un peu parresseux...
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  7. #7
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    voici un .rar contenant la galerie flash (flash cs3)

    tu poura ainsi voir son fonctionnement, et l'ensemble du code.

    http://shal-limited.com/seb/galerie_seb.rar

    merci de ton aide

  8. #8
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bon j'ai commencé à y jeter un coup d'oeil mais c'est moins facile que je ne le pensais initialement.
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  9. #9
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    merci de ton aide, j'attend ta réponse

  10. #10
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour,
    avant de me remercier attends que j'ai résolu ton problème ce qui est mal parti car le code est trop compliqué, j'ai du mal à m'y retrouver.
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  11. #11
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    salut,
    bon j'ai trouvé une immonde rustine
    En premier lieu il faut (il me semble) simplifier ton code et virer le "for" qui permet de faire plusieur menus alors qu'il y en a qu'un. Ensuite il faut remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _root["menutop"+i].onRollOver = function() {
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _root["menutop"+i].onEnterFrame = function() {
    ensuite il faut "tuer" le onEnterFrame à peu près à ce niveau là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    _root.mc_barreScroll.ascenseur.onRelease=_root.mc_barreScroll.ascenseur.onReleaseOutside=function () {
    stopDrag();
    if(racineMC._y==0) _root.mc_barreScroll.ascenseur._y = ascY
    }
    delete _root["menutop"+i].onEnterFrame;
    }
    et enfin supprimer la fonction onRollOut
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  12. #12
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    euh il y aurait 2 menus en fait :
    - un a gauche avec la liste des travaux
    - un sous les images ki sont des chiffres correspondant au nombre de foto contenu dans le "travaux" sélectionné

    (sa c'est un autre soucis, à voir plus tard)

    peux tu me renvoyé le .fla avc les modif que tu as trouver, que je vois directement si c'est ça que je veux stp.

    d'avance encore merci, et si tu veux bien continué par msn sa serais plus simple et plus rapide, merci.

  13. #13
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    voici mon "bidouillage"
    Pièce jointe 37021

    je ne suis pas sur que ce soit bien "compréhensible" mais à ce stade le code est trop compliqué pour trouver une solution simple (enfin pour moi)
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  14. #14
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    merci mais sa ne marche pas, :s il ne reste pa tout le temps affiché, et tu a enlevé la partie galerie, et kan je la remet, ça ne marche plus :s ten pi merci, jéssaierais de trouver quelqu'un qui sy connait plus et pourra m'aider

    si tu en connais un envoi le moi, merci, voila mon msn dr_graff_it@hotmail.com

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/12/2005, 15h30
  2. Réponses: 2
    Dernier message: 28/11/2005, 13h20
  3. [FLASH MX ] flash + xml + css
    Par girardeau dans le forum Flash
    Réponses: 1
    Dernier message: 25/08/2005, 12h07
  4. [FLASH MX] flash+xml : Fichier introuvable
    Par bariot dans le forum Flash
    Réponses: 1
    Dernier message: 02/08/2005, 13h31
  5. Réponses: 6
    Dernier message: 08/02/2005, 17h50

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