Diaporama en carton

Résolu
weblyne
Messages postés
13
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
14 mars 2007
- 18 déc. 2006 à 13:31
weblyne
Messages postés
13
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
14 mars 2007
- 19 déc. 2006 à 19:23
bonjout tout le monde.
mon probleme est le suisvant, mon diaporama affiche les photos parfaitement en local mais des que je l'upload en ligne, il ne m'affiche plus que la 1er photo dans certain cas de script, et d'en d'autre cas la 1er et la derniere photos.
j'ai testé de tres nombreux script, et à chaque foi je retrouve le meme probleme, j'ai tester aussi d'autre style de script (forum,..) mais des que mon script fait appel a des variables j'ai l'impression qu'il y à un probleme, j'ai repris un script sur ce site pour un album qui devrai d'apres les commentaires marcher en ligne et qui marche tres bien en local;
Apres de longue recherche je remarque que bcp de gens rencontre ce meme probleme mais aujourd' hui pas bcp on la reponse je vous demande de bien vouloir me donner une piste, pour savoir ou est mon erreur.
Je travaille avec flash 8
J'ai une dedibox qui est bien administrer (sauf erreur de ma part bien sur)
voici le code que j'utilise pour que mon xml me restitu les images dans mon diaporamas.
merci aux surdoués.

// Chargement XML et initialisation
photos_xml = new XML();
photos_xml.ignoreWhite = true;
photos_xml.onLoad = function(ok) {
    //_root.fond.ecran.album1.ecran1._x = -233;
    //_root.fond.ecran.album1.ecran1._y = -233;
    //on lui donne la taille du flash
    //_root.fond.ecran.album1.ecran1.setSize(5, 5);
    //initialisation des variables
    if (ok) {
        noeuds = photos_xml.firstChild.childNodes;
        // on se positionne au second niveau
        nbrPhotos = noeuds.length;
        // on récupère le nombre de noeuds à ce niveau
        premierePhoto = this.firstChild.firstChild;
        // on sélectionne le premier noeud
        dernierePhoto = this.firstChild.lastChild;
        // on sélectionne le dernier noeud
        enCours = premierePhoto;
        // enCours correspond au noeud en cours d'affichage
        // ici, la premiere photo sera donc la premiere affichée
        affichePhoto(enCours);
        // on affiche la photo du premier noeud
    }
};
photos_xml.load("photos.xml");
// affichage de la photo
function affichePhoto(photo) {
    loadMovie(photo.attributes.fichier, vision.ecran1);
    textes = photo.attributes.num + "/" + nbrPhotos + " : " + photo.attributes.desc;
}
// Gestion du bouton Suivant
suivant.onRelease = function() {
    if (enCours.attributes.num == nbrPhotos) {
        enCours = premierePhoto;
    } else {
        enCours = enCours.nextSibling;
    }
    affichePhoto(enCours);
};
// Gestion du bouton Précédent
precedent.onRelease = function() {
    if (enCours.attributes.num == 1) {
        enCours = dernierePhoto;
    } else {
        enCours = enCours.previousSibling;
    }
    affichePhoto(enCours);
};

3 réponses

Blacknight91titi
Messages postés
1732
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
9 mars 2015
2
18 déc. 2006 à 22:43
Bonsoir,

Non le fait que tu utilise flash 8 au lieu de flash 7 n'a rien a voir la dedans.
L'important est que le player reconaissent toute les fonctions, Flash 8 est le dernier sortie (quoi qu'il y a déja flash 9 version alpha) donc il suporte actuellement tout (d'ou la sortie de flash 9 pour l'as.3.0 => Plus d'infos : http://www.blog.flash-nouvelle.com/lect.php?i=5)

Pour ton problème :
En local sa marche, donc si en ligne il y a un problème c'est que :
- Soit les liens indiqués pour charger les images sont erroné ou incorect
- Soit tu n'a pas pris en compte dans ton script le temps de chargement des images.
Je mise plus sur la deuxième possibilité. Tu éxécute surement ton code dès que tu as anoncé le chargement de l'image. En local aucun soucis puisque l'image se charge directement.
Mais en ligne, ce n'est pas le cas.

Il faut donc que tu vérifie l'état de chargement de ton image avant d'éxécuter ton code.
Pour cela il y a un group de fonction autre que onLoad qui permet d'accéder à plusieurs informations quant à l'état de chargement de l'image appelé.
Renseigne toi sur la class : MovieClipLoader
Elle devrai t'aider.
Le plus simple serai donc de regarder dans le dico as fournit avec flash.

Autrement il y a quelques sources et topics sur flashkod. Tu ne devrai pas avoir de mal a trouvé en recherchant le mot clé MovieClipLoader

Pour les futures personnes qui passerai ici, vous pourrez trouver une source contenant l'utilisation de la class MovieClipLoader sur le site :
www.flash-nouvelle.com

Blacknight
http://www.flash-nouvelle.com/ La révolution arrive ! Tous les outils et toutes les réponses pour les flasheurs !
3
weblyne
Messages postés
13
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
14 mars 2007

18 déc. 2006 à 19:22
je savait bien que ma question été dure, faut dire que c'est un probleme assez vague!
je comprend que ce soit tres dure a repondre!
bienvenu au plus malin doué d'entre vous.
ma piste==> est que le code que j'utilise est fait sur macromedia flash7 et j'utilise macromedia flash 8 je sais pas si sa peut etre une cause du pour quoi?, surement que l'actionscript1.0 et 2.0 ce sont deux chose differente.
0
weblyne
Messages postés
13
Date d'inscription
lundi 13 novembre 2006
Statut
Membre
Dernière intervention
14 mars 2007

19 déc. 2006 à 19:23
merci mille foi de ton aide, aprés de trés longue recherche j'ai put répondre à de nombreux problème mais bien sur pas le mien.
Heureusement par hazard j'ai remarquez que l'extention de mon image ete du genre mon "image.JPG" dan mon xml je lui et dit d'aller chercher l'image "image.jpg" erreur de majuscule qui l'aurai cru.
donc je te remercie bcp de ton aide
c'est en cherchant que l'on aime apprendre.
0