begin process at 2010 02 09 23:45:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Divers

 > 

Débutant(e)

 > 

diaporama flash n'affiche pas les photo


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

diaporama flash n'affiche pas les photo

samedi 14 février 2009 à 19:42:17 | diaporama flash n'affiche pas les photo

tazagaga

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>
<body bgcolor="#e4e4e4">
<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">
    <param name="SRC" value="flash\diaporama\diaporama2\diaporama.swf">
    <param name="QUALITY" value="high">
    <param name="BGCOLOR" value="#e4e4e4">
    <embed src="flash\diaporama\diaporama2\diaporama.swf" pluginspage="http://www.macromedia.com/shockwave/download/" type="application/x-shockwave-flash" width="800" height="600" quality="high" bgcolor="#e4e4e4">
    </embed>
    </object>

</center>
</body>
</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.

dimanche 15 février 2009 à 11:39:56 | Re : diaporama flash n'affiche pas les photo

docodoc

Membre Club
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+
dimanche 15 février 2009 à 11:58:05 | Re : diaporama flash n'affiche pas les photo

tazagaga

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 -_-".
samedi 21 février 2009 à 00:43:56 | Re : diaporama flash n'affiche pas les photo

zairino

salut,
alors une chose tous simple ton fichier xml html et tes photo son sous le meme repertoire?
dimanche 22 février 2009 à 16:21:23 | Re : diaporama flash n'affiche pas les photo

tazagaga

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 ?
lundi 23 février 2009 à 09:36:11 | Re : diaporama flash n'affiche pas les photo

zairino

Réponse acceptée !
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
lundi 23 février 2009 à 20:19:47 | Re : diaporama flash n'affiche pas les photo

tazagaga

Réponse acceptée !
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>
    <photo nom="phototest" url="ma_photo.jpg" mignature="ma_photo.jpg"/>
</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>
    <photo nom="phototest" url="mon_fichier_de_photo/ma_photo.jpg" mignature="mon_fichier_de_photo/ma_photo.jpg"/>
</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
<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">
                                    <param name="allowScriptAccess" value="sameDomain" />
                                    <param name="allowFullScreen" value="false" />
                                    <param name="movie" value="menu.swf" />
                                    <param name="quality" value="high" />
                                    <param name="bgcolor" value="#cccccc" />   
                                    <embed src="menu.swf" quality="high" bgcolor="#cccccc" width="600" height="400" name="menu" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
                                    </object>
                                </noscript>
</body>

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
lundi 23 février 2009 à 20:28:38 | Re : diaporama flash n'affiche pas les photo

zairino

Denada et a bientot... content que sa fonctionne pour toi.


Cette discussion est classée dans : function, root, indice, mctarget, holder


Répondre à ce message

Sujets en rapport avec ce message

a l'aide pour lancer la 1er image [ par nanostre ] voilà le code et comme étant un noob en flash je me demandait comment faire pour que le swf charge automatiquement la 1er image du xml. merci d'avance il me manque la touche finale a l'aide! [ par nanostre ] bon voila le bout de code que j'ai reccupéré mais le problème est que aprés quelques modifications reussies et compte tenu de mon faible niveau en fla probleme sur un script de galerie dynamique [ par bidoutouch ] bonjour, j'ai récupéré un code sur internet et après l'avoir décortiqué, j'ai essayé de l'adapter dans un swf, histoire de voir si j'avais bien compri probleme de variables dans une fonction [ par mapi3 ] Voila j'ai une fonction XMLimage.onLoad = function(){ .........}. A l'interieur le tableau tabImage (défini à l'exterieur) se remplit de mes éléments Au secours, je n'arrive pas à récupérer la taille de mon tableau [ par mapi3 ] Je souhaiterai déterminer la taille du tableau tabimage. Malheureusement l'objet est inaccessible en dehors de la fonction meme si je l'ai défini en d Function et Variable besoin d aide [ par Martino26 ] Reegarder mon code vous allez p-t comprendre _global.calculer = function (x,p) { _global["fauxtotal"+p] = ["total"+p] + hasard statusrep = x; if ( Flash 8 serait-il plus sensible que son prédécesseur? [ par Gizmil ] Salut,   Je viens de passer sous Flash 8 et, ô stupeur, en testant une animation qui fonctionnait sans problème avec Flash 7, je réalise que celle-ci Bonsoir j'ai un probleme de lecture inverse [ par timore ] RZAREK, Bonsoir, Je n'arrive pas a faire revenir la tete de lecture de mon anime la ou je voudrais aprés une fonction de lecture inverse d'un clip!! Mise en forme avec createTextField [ par zered ] Bonjour,J'ai un souci avec la mise en forme d'une texte dynamique. Sur mon player mp3, j'ai des champs qui affichent le temps écoulé / total / pourcen [FL8] Problème d'envoie d'image d'une webcam à un serveur via PHP [ par BenXbox ] Salut à tous, Voila, j'utilise deux code que j'ai trouvé sur le net : 1 - Pour afficher afficher la webcam. 2 - Et l'autre pour envoyer mon image à


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,385 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales