Diaporama flash n'affiche pas les photo

Résolu
cs_tazagaga Messages postés 31 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 23 février 2009 - 14 févr. 2009 à 19:42
zairino Messages postés 34 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 23 février 2009 - 23 févr. 2009 à 20:28
bonjour j'ai un probleme et je bute dessus depuis une bonne semaine.
j'ai récupéré un code flash ici meme pour un diaporama simple en flash avec resize des image.
il fonctionne tres bien sur mon pc quand je lance le swf
néanmoin je l'ai intégré dans une page html pour afficher mes photo:
le flash se lance bien j'ai l'interface, je voit les bouton, mais pas d'image !!!
j'ai essayé plusieur diaporama et toujours le meme résultat,  l'interface mais pas d'image et parfois meme les bouton sont figé.

voila ma page html (tout simple pour les test)

<html>
<head>
<title>Titre de la page</title>
</head>

<center>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#3,0,0,0" width="800" height="600">
   
   
   
   
   
    </object>

</center>

</html>

et voila le code action script:

/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%% CONSTANTE DE PARAMETRES %%%%%%%%%%%%%% */
//marge entre le cadre et l'image : doit etre > 0
ECART_DE_RECHERCHE = 0.1;
//largeur/hauteur d'un clip/image/bouton numero (vignette)
LARGEUR_VIGNETTE = 58.65;
HAUTEUR_VIGNETTE = 40.65;
//espacement entre les vignettes
ESPACEMENT = 5;
//interval de temps en milliseconde pour le diaporama
TEMPS_INTERVAL = 3000;
/* %%%%%%%%%%%%%% CONSTANTE DE PARAMETRES %%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
_root.INDICE = -1;
_root.PIC = new Array();
//ecouteurs sur chargement
Ec = new Object();
Ec.onLoadProgress = function(MCtarget, loadedBytes, totalBytes) {
    _root.loadbar.percent = Math.floor(loadedBytes*100/totalBytes);
    _root.loadbar.gotoAndStop(_root.loadbar.percent);
    _root.loadbar.percent += "%";
};
Ec.onLoadInit = function(MCtarget) {
    while (MCtarget._width>_root.cadre._width or MCtarget._height>_root.cadre._height) {
        MCtarget._xscale -= ECART_DE_RECHERCHE;
        MCtarget._yscale -= ECART_DE_RECHERCHE;
    }
    while (MCtarget._width<=_root.cadre._width and MCtarget._height<=_root.cadre._height) {
        MCtarget._xscale += ECART_DE_RECHERCHE;
        MCtarget._yscale += ECART_DE_RECHERCHE;
    }
    MCtarget._x = _root.cadre._x+(_root.cadre._width-MCtarget._width)/2;
    MCtarget._y = _root.cadre._y+(_root.cadre._height-MCtarget._height)/2;
    _root.loadbar.gotoAndStop(1);
    _root.loadbar.percent = "";
};
//objet chargement
MCloader = new MovieClipLoader();
MCloader.addListener(Ec);
//effet de la souris sur les vignettes
function setMouseEffect(clip) {
    //si la souris passe dessus
    clip.onRollOver = function() {
        this.gotoAndStop(2);
    };
    //si la souris n'est plus dessus
    clip.onRollOut = function() {
        if (_root.INDICE+1 == this.num) {
            this.gotoAndStop(4);
        } else {
            this.gotoAndStop(1);
        }
    };
    //si on clique
    clip.onPress = function() {
        this.gotoAndStop(3);
    };
    //si on relache
    clip.onRelease = function() {
        //this.gotoAndStop(1);
        _root.PREV_INDICE = _root.INDICE;
        _root.INDICE = this.num;
        B_previous.onRelease();
    };
    //si on relache hors du bouton
    clip.onReleaseOutside = function() {
        this.gotoAndStop(1);
    };
}
//objetXML
MCXML = new XML();
MCXML.load("photos.xml");
MCXML.ignoreWhite = true;
MCXML.onLoad = function(succes) {
    function Pic_Desc(n, u) {
        this.name = n;
        this.url = u;
        this.small = undefined;
    }
    if (succes) {
        //extraction des images du fichier XML
        var i = 0;
        while (this.firstChild.childNodes[i] != undefined) {
            _root.PIC[i] = new Pic_Desc(this.firstChild.childNodes[i].attributes.nom, this.firstChild.childNodes[i].attributes.url);
            if (this.firstChild.childNodes[i].attributes.mignature != undefined) {
                _root.PIC[i].small = this.firstChild.childNodes[i].attributes.mignature;
            }
            i++;
        }
        _root.MAX = i;
        //affichage des numeros d'images ou des mignatures
        for (i=1; i<=_root.MAX; i++) {
            var newClip;
            if (_root.PIC[i-1].small != undefined) {
                //chargement des vignettes si besoin.
                newClip = v_holder.holder.attachMovie("mignature", "bn_"+i, i+100);
                Ecm = new Object();
                Ecm.onLoadInit = function(MCtarget) {
                    MCtarget = MCtarget._parent;
                    MCtarget._width = LARGEUR_VIGNETTE;
                    MCtarget._height = HAUTEUR_VIGNETTE;
                    setMouseEffect(MCtarget);
                    MCtarget.num = Number(MCtarget._name.substring(3));
                };
                MCloaderm = new MovieClipLoader();
                MCloaderm.addListener(Ecm);
                MCloaderm.loadClip(_root.PIC[i-1].small, newClip.holder);
            } else {
                newClip = v_holder.holder.attachMovie("B_numero", "bn_"+i, i+100);
                newClip.num = i;
                newClip._width = LARGEUR_VIGNETTE;
                newClip._height = HAUTEUR_VIGNETTE;
                setMouseEffect(newClip);
            }
            newClip._x = (i-1)*(ESPACEMENT+LARGEUR_VIGNETTE);
            newClip._y = 0;
        }
        //pour afficher la premiere image directement
        B_next.onRelease();
    }
};
//boutons
B_next.onRelease = function() {
    //chargement de l'image selectionnée
    v_holder.holder["bn_"+(_root.INDICE+1)].gotoAndStop(1);
    v_holder.holder["bn_"+(_root.PREV_INDICE+1)].gotoAndStop(1);
    _root.INDICE++;
    if (_root.INDICE == _root.MAX) {
        _root.INDICE = 0;
    }
    _root.MCloader.loadClip(_root.PIC[_root.INDICE].url, "_root.holder");
    _root.desc = _root.PIC[_root.INDICE].name;
    v_holder.holder["bn_"+(_root.INDICE+1)].gotoAndStop(4);
    v_holder.slideTo(_root.INDICE);
};
B_previous.onRelease = function() {
    //chargement de l'image selectionnée
    v_holder.holder["bn_"+(_root.INDICE+1)].gotoAndStop(1);
    v_holder.holder["bn_"+(_root.PREV_INDICE+1)].gotoAndStop(1);
    _root.INDICE--;
    if (_root.INDICE<0) {
        _root.INDICE = _root.MAX-1;
    }
    _root.MCloader.loadClip(_root.PIC[_root.INDICE].url, "_root.holder");
    _root.desc = _root.PIC[_root.INDICE].name;
    v_holder.holder["bn_"+(_root.INDICE+1)].gotoAndStop(4);
    v_holder.slideTo(_root.INDICE);
};
B_diapo.sw = false;
B_diapo.onRelease = function() {
    if (!sw) {
        inter = setInterval(B_next.onRelease, TEMPS_INTERVAL);
        sw = true;
        _root.raye._alpha = 0;
    } else {
        clearInterval(inter);
        sw = false;
        _root.raye._alpha = 100;
    }
};
//**********************************************************************
//********************* ECOUTEUR SUR LE CLAVIER ************************
//**********************************************************************
var keyListener = new Object();
keyListener.onKeyDown = function() {
    switch (Key.getCode()) {
    case Key.RIGHT :
        B_next.onRelease();
        break;
    case Key.LEFT :
        B_previous.onRelease();
        break;
    case Key.SPACE :
        B_diapo.onRelease();
        break;
    }
};
Key.addListener(keyListener);

alors je sait pas quel actionscript cela est mais c'est le seul diaporama avec resize des image qui fonctionne nickel. j'essai daprendre l'AS3.

si vous pouviez m'aider svp

Cordialement tazagaga.

7 réponses

zairino Messages postés 34 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 23 février 2009
23 févr. 2009 à 09:36
salut,

Pour ma part le swf doit etre dans la meme racine que le html, par contre rien ne t empeche d avoir tes photo dans un autre repertoire, ce quil faut dans ton xml c lui donnée un chemin absolue.

voili voilou
3
cs_tazagaga Messages postés 31 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 23 février 2009
23 févr. 2009 à 20:19
A propos du chemin relatif dans un xml pour les photo d'un diaporama


OK c'est bon je met la solution trouvé si ca peut en aidé certain.
merci beaucoup au passage
voila un shéma de mon implentation:

//dossier
monsite
//sous dossier
=>index.php
=>mon_flash
=>mon_xml
=>ma_photo

et il me faut:

//dossier
monsite
//sous dossier
=>index.php
=>mon_flash
=>mon_xml
=>mon_fichier_de_photo
           //sous sous dossier
            =>ma_photo

voila un exemple de mon xml:
avant:
<?xml version='1.0' encoding='UTF-8' ?>
<root>
   
</root

remarque: le miniature est présent car il s'agit d'un diaporama avec des photo afficher en miniature avant visionnage.
il nous reste simplement a mettre le chemin relatif.

<?xml version='1.0' encoding='UTF-8' ?>
<root>
   
</root>

a propos du visionnage du flash sur une page html/php sous IE ou firefox

car c'était un de mes probleme au moment ou jai posé ce  post.

pour s'éxécuter le flaash a besoin d'un fichier "AC_RunActiveContent" que vous pouvez mettre dans un sous dossier "script"
néanmoins le flash  a besoin d'etre dans le meme dossier que la page html/php qui l'affiche
voila ce qu'il faut mettre dans le <head></head> de votre page:

<head>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="Script/AC_RunActiveContent.js" language="javascript"></script>   //voyez ici le sous dossier script contenant le fameux fichier
</head>
//puis ce code dans le body

<script language="javascript">
                                    if (AC_FL_RunContent == 0) {
                                        alert("Cette page nécessite le fichier AC_RunActiveContent.js.");
                                    } else {
                                        AC_FL_RunContent(
                                            'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
                                            'width', '200',
                                            'height', '200',
                                            'src', 'menu',
                                            'quality', 'high',
                                            'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
                                            'align', 'middle',
                                            'play', 'true',
                                            'loop', 'true',
                                            'scale', 'showall',
                                            'wmode', 'window',
                                            'devicefont', 'false',
                                            'id', 'menu',
                                            'bgcolor', '#cccccc',
                                            'name', 'menu',
                                            'menu', 'true',
                                            'allowFullScreen', 'false',
                                            'allowScriptAccess','sameDomain',
                                            'movie', 'menu',
                                            'salign', ''
                                            ); //end AC code
                                    }
                                </script>
//il ya plein de trruc je ne sait meme pas a quoi cela sert mais sa fonctionne comme ca. en approfondissant ce sont plein d'option que vous n'aurez surement pas besoin
//puis votre fichier flash qui s'apelle ici "menu.swf"
<noscript>
                                    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="600" height="400" id="menu" align="middle">
                                   
                                   
                                   
                                   
                                       
                                   
                                    </object>
                                </noscript>

voila j'ai pas mal galéré mais c'est en forgeant que l'on devient forgeron. en espérans que cela aide d'autre personne, vous gagnerez du temp pour les débutant comme moi :D

merci a zairino de m'avoir aidé a trouver la solution

a+ all
3
docodoc Messages postés 1671 Date d'inscription dimanche 6 mars 2005 Statut Membre Dernière intervention 21 juillet 2013 4
15 févr. 2009 à 11:39
salut
tu devrais poser la question directement a l'auteur de la source a l'endroit ou tu as recupere ce script sur ce site
bonne continuation
a+
0
cs_tazagaga Messages postés 31 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 23 février 2009
15 févr. 2009 à 11:58
le probleme c'est que c'est une source qui date, il n"y a plus de suivi edssus.
et je vien de découvrir pire, j'ai mis le fichier HTML sous wamp (car je pensait qu'il y avait un probleme de serveur avec l'envoie de donnée javascript) et la j'ai meme pas de flash qui s'affiche -_-".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zairino Messages postés 34 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 23 février 2009
21 févr. 2009 à 00:43
salut,
alors une chose tous simple ton fichier xml html et tes photo son sous le meme repertoire?
0
cs_tazagaga Messages postés 31 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 23 février 2009
22 févr. 2009 à 16:21
mon xml et photo son sous le meme repertoire le fichier html est sur un repertoire au dessus.
quand je met tout dans le meme repertoire  ca fonctionne, mais ca met le bordel dans le fichier car j'ai une 50 aine de photos avec mes flash plus mes pages. c'est ingerable.
et ouais je vien de découvrir pour qu'un flash fonctionne bien il doit etre dans le meme reprtoire que la page .
mais est ce vraiment obligé ?? on ne peut pas jouer avec le "run active content" et les flash ?
0
zairino Messages postés 34 Date d'inscription vendredi 30 mars 2007 Statut Membre Dernière intervention 23 février 2009
23 févr. 2009 à 20:28
Denada et a bientot... content que sa fonctionne pour toi.
0