[Flash8 XML] bouton precedent de la galerie photo

bouton precedent de la galerie photo [Flash8 XML] - Flash/ActionScript - Programmation

Marsh Posté le 06-02-2006 à 17:07:51    

mon probleme vient qu'il arrive pas à revenir sur l'image precedente lorsque c'est la 1er qui est afficher  
 
 
 
 
voici le code principal pour faire une galerie

Code :
  1. // Chargement XML et initialisation
  2. galerie_xml = new XML();
  3. galerie_xml.ignoreWhite = true;
  4. galerie_xml.onLoad = function(ok) {
  5. //initialisation des variables
  6. if (ok) {
  7.  noeuds = galerie_xml.firstChild.childNodes;
  8.  // on se positionne au second niveau
  9.  nbrPhotos = noeuds.length;
  10.  // on récupère le nombre de noeuds à ce niveau
  11.  premierePhoto = this.firstChild.firstChild;
  12.  // on sélectionne le premier noeud
  13.  dernierePhoto = this.firstChild.lastChild;
  14.  // on sélectionne le dernier noeud
  15.  enCours = premierePhoto;
  16.  // enCours correspond au noeud en cours d'affichage
  17.  // ici, la premiere photo sera donc la premiere affichée
  18.  affichePhoto(enCours);
  19.  // on affiche la photo du premier noeud
  20. }
  21. };
  22. galerie_xml.load("body/fr/galerie.xml" );
  23. // affichage de la photo
  24. //
  25. function affichePhoto(photo) {
  26. // Création du conteneur
  27. var mon_mcl:MovieClipLoader = new MovieClipLoader();
  28. // La fameuse classe qui n'existe pas ds Flash MX
  29. monEcouteur1 = new Object();
  30. // Création de l'écouteur qui va 'guetter' l'état de chargement de la photo
  31. // Le dimensionnement / positionnement se fait ds la fonction 'onLoadInit'
  32. monEcouteur1.onLoadInit = function(cible) {
  33.  cible._height = 137;
  34.  cible._width = 106;
  35.  //cible._x = 30;
  36.  //cible._y = 100;
  37. };
  38. // Load an image into the Loader.
  39. p_barG.source = conteneur;
  40. //mx.transitions.TransitionManager.start(conteneur, {type:mx.transitions.Zoom, direction:1, duration:10, easing:mx.transitions.easing.Bounce.easeOut, param1:empty, param2:empty});
  41. monEcouteur1.onLoadComplete = function(cible) {
  42.  play();
  43.  // on redémarre dès que la photo est chargée
  44. };
  45. mon_mcl.addListener(monEcouteur1);
  46. import mx.transitions;
  47. mon_mcl.loadClip(photo.attributes.fichier, conteneur);
  48. // On arrête ici la lecture tant que la photo n'est pas chargée
  49. //stop();
  50. textes = photo.attributes.num+"/"+nbrPhotos+" : "+photo.attributes.desc;
  51. }


 
le code des boutons suivant et precedent
 
suivant :

Code :
  1. on (press) {
  2. if (enCours.attributes.num == nbrPhotos) {
  3.  enCours = premierePhoto;
  4. } else {
  5.  enCours = enCours.nextSibling;
  6. }
  7. affichePhoto(enCours);
  8. }


 
precedent
 

Code :
  1. on (press) {
  2. if (enCours.attributes.num == nbrPhotos) {
  3.  enCours = dernierePhoto;
  4. } else {
  5.  enCours = enCours.previousSibling;
  6. }
  7. affichePhoto(enCours);
  8. }


 
le xml pour charger les photos ainsi que les commentaires :
 

Code :
  1. <?xml version="1.0"?>
  2. <photos>
  3.   <photo num="1" fichier="villa/photo_123.jpg" 
  4.   desc="Une maison où il fait bon vivre, à l'image de son créateur Joaquim Pires, elle reflète la chaleur, et la sérénité."/>
  5.   <photo num="2" fichier="villa/photo_12.jpg" 
  6.   desc="Passer du rêve à la réalité c'est possible grâce à un metteur en scène au nom de 'Joaquim Pires' un grand merci à toute son equipe."/>
  7.   <photo num="3" fichier="villa/photo_29.jpg" 
  8.   desc="La beauté de la décoration mexicaine nous a toujours séduit.Joaquim Pires a su, sans conteste, nous le reproduire avec beaucoup de goût."/>
  9.    <photo num="4" fichier="villa/photo_1.jpg" 
  10.   desc="La beauté de la décoration mexicaine nous a toujours séduit.Joaquim Pires a su, sans conteste, nous le reproduire avec beaucoup de goût."/>
  11. </photos>


 
merci d'avance


Message édité par sakuraba le 07-02-2006 à 14:12:26

---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 06-02-2006 à 17:07:51   

Reply

Marsh Posté le 06-02-2006 à 17:18:13    

reflechit 2 secondes a ce que tu fait ici (pour suivant):

Code :
  1. on (press) {
  2.         if (enCours.attributes.num == nbrPhotos) {
  3.              enCours = premierePhoto;
  4.         } else {
  5.              enCours = enCours.nextSibling;
  6.         }
  7.         affichePhoto(enCours);
  8. }


et la (pour precedent):

Code :
  1. on (press) {
  2.         if (enCours.attributes.num == nbrPhotos) {
  3.              enCours = premierePhoto;
  4.         } else {
  5.              enCours = enCours.previousSibling;;
  6.         }
  7.         affichePhoto(enCours);
  8. }


rien ne te choque...

Spoiler :

cherche du cote du if, que teste tu ?


Message édité par mechkurt le 06-02-2006 à 17:18:36

---------------
D3
Reply

Marsh Posté le 06-02-2006 à 17:29:37    

suis trop c**

Code :
  1. enCours.attributes.num == 1

:sol:


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 06-02-2006 à 17:54:07    

[:azitwaz]


---------------
D3
Reply

Marsh Posté le 06-02-2006 à 20:16:04    

:sarcastic:


---------------
Newsletter RCZ : inscriptions compliquées ou réceptions tardives ? Mon blog la partage sans délai. C est ici que ça se passe : https://gravelparis.com/
Reply

Marsh Posté le 27-02-2006 à 23:22:50    

:) Salut
je suis tombé sur ton code qui m’intéresse beaucoup !!
j’ai dupliquer ton code tel quel mais il ne donne pas grand-chose ??
Je pense que le "MovieClipLoader" ne fonctionne pas correctement.
Pourrais tu me dire si ton code est complet ?  
 
je l'ai testé avec ma version "8 pro"
 
MERCI d'avance !!

Reply

Marsh Posté le 28-02-2006 à 07:44:47    

met des trace() un peu partout pour savoir ce qui marche et ce qui ne marche pas...
exemple:
monEcouteur1.onLoadInit = function(cible) {
   trace("monEcouteur1.onLoadInit = function("+cible+" )" );
   cible._height = 137;
   cible._width = 106;
};


---------------
D3
Reply

Marsh Posté le 28-02-2006 à 16:04:31    

:) Merci pour ta réponse !!
 
 :??: La trace sur "onLoadInit" ne donne rien ( pas de sortie )
 :??: J’ai ajouté un "onloadError" avec ça trace , et même chose, rien !!
 
 :) La trace sur le nœud en cours fonctionne.
 
Apparemment l’initialisation ne se fait pas correctement !!


Message édité par olimann le 28-02-2006 à 16:37:06
Reply

Marsh Posté le 28-02-2006 à 16:36:48    

:pfff: Honte à moi, j'ai tout simplement oublié du coché le format "jpg" dans les paramétres de publication.
merci quand même pour ton aide
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed