diaporama, compter les photos

diaporama, compter les photos - Flash/ActionScript - Programmation

Marsh Posté le 27-06-2007 à 17:31:46    

Bonjour,
 
J'essaie de faire un diaporama en flash pour l'intégrer ans un site web.
J'aimerais que le nombre de photos ne soit pas fixe, mais que le script s'adapte au nombre de photos dans le dossier.
 
Pour ça j'ai récupéré un exemple avec un compteur en PHP qui envoie le nombre de photos au script flash:
 
Voici mon code actuel de mon fichier flash:
 
var largeur = 135;  
var hauteur = 170;  
var espace = 25;  
var nbr = 3;  
var plop;
 
var php_load = new LoadVars();
php_load.load("http://127.0.0.1/counter.php" );
 
 
php_load.onLoad = function(){
     
    plop = this.count_file;
    plop = plop.substr(0,1);
     
    nbr = Number(plop);
     
    comment.text = nbr;
     
    largeurTotale = nbr*(largeur + espace) + espace;  
   
    this.createEmptyMovieClip("diaporama", 0);  
    diaporama._y = 10;  
     
    for(var i = 0; i < nbr; i++) {  
 
        var mc = diaporama.createEmptyMovieClip("photo"+i, i);  
        mc._x = espace + (largeur + espace)*i;  
        mc.createEmptyMovieClip("conteneur", 0);  
        mc.conteneur.loadMovie("photos/" + i + ".jpg";);  
        mc.createEmptyMovieClip("cadre", 1);  
           
        with(mc.cadre) {  
            lineStyle(1, "0xFFFFFF", 100);  
            moveTo(0, 0);  
            lineTo(largeur, 0);  
            lineTo(largeur, hauteur);  
            lineTo(0, hauteur);  
            lineTo(0, 0);  
        }  
           
        mc.nombre = i;  
           
        /*mc.onRollOver = function() {  
            comment.text = "Photo n°" + this.nombre + " : " + infos[this.nombre];  
        } */
           
        /*mc.onRollOut = function() {  
            comment.text = "";  
        } */
         
        mc.onRelease = function() {
            getURL ("javascript:popup("+this.nombre+";)";);  
        }
       
    }  
     
    onMouseMove = function() {  
        diaporama._x = (700 - largeurTotale)/700*_xmouse;  
    }  
 
}  
 
 
Et voici le code du fichier PHP:
 
<?php
$count =0;
$dir = opendir("photos" )or die("erreur ouverture du dossier" );
while($file = readdir($dir))
{
 if(!is_dir($file))
 {
  $count ++;
 }
}
 
print "count_file=" . urlencode($count);
 
?>  
 
J'obtiens cette erreur:
Erreur : une action 'with' a échoué étant donné que l'objet spécifié n'existe pas.
 
Pouvez-vous m'aider?
 
Merci


Message édité par letesp le 28-06-2007 à 15:08:34
Reply

Marsh Posté le 27-06-2007 à 17:31:46   

Reply

Marsh Posté le 28-06-2007 à 16:27:46    

et si tu mets "var cadre ="  avant "mc.createEmptyMovieClip("cadre", 1);" ?
Et ton with tu le fais sur cadre  


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 28-06-2007 à 17:21:53    

J'ai modifié mon code, mais j'obtiens exactement la même erreur.
 
Erreur : une action 'with' a échoué étant donné que l'objet spécifié n'existe pas.
 
 
var largeur = 135;  
var hauteur = 170;  
var espace = 25;  
var nbr = 3;  
var plop;
 
var php_load = new LoadVars();
php_load.load("http://127.0.0.1/counter.php" );
 
 
php_load.onLoad = function(){
     
    plop = this.count_file;
    plop = plop.substr(0,1);
     
    nbr = Number(plop);
     
    comment.text = nbr;
     
    largeurTotale = nbr*(largeur + espace) + espace;  
   
    this.createEmptyMovieClip("diaporama", 0);  
    diaporama._y = 10;  
     
    for(var i = 0; i < nbr; i++) {  
 
         
        var mc = diaporama.createEmptyMovieClip("photo"+i, i);  
        mc._x = espace + (largeur + espace)*i;  
        mc.createEmptyMovieClip("conteneur", 0);  
        mc.conteneur.loadMovie("photos/" + i + ".jpg" );  
        var cadre = mc.createEmptyMovieClip("cadre", 1);  
           
        with(cadre) {  
            lineStyle(1, "0xFFFFFF", 100);  
            moveTo(0, 0);  
            lineTo(largeur, 0);  
            lineTo(largeur, hauteur);  
            lineTo(0, hauteur);  
            lineTo(0, 0);  
        }  
           
        mc.nombre = i;  
           
        /*mc.onRollOver = function() {  
            comment.text = "Photo n°" + this.nombre + " : " + infos[this.nombre];  
        } */
           
        /*mc.onRollOut = function() {  
            comment.text = "";  
        } */
         
        mc.onRelease = function() {
            getURL ("javascript:popup("+this.nombre+" )" );  
        }
       
    }  
     
    onMouseMove = function() {  
        diaporama._x = (700 - largeurTotale)/700*_xmouse;  
    }  
 
}


Message édité par letesp le 28-06-2007 à 17:22:36
Reply

Sujets relatifs:

Leave a Replay

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