Bonjour voici les étapes pour créer un diaporama d'images externes assez simplement :
Mettre dans un répertoire disons pour l'exemple nommé "images", avec toutes les images nommées img0.jpg, img1.jpg...imgN.jpg
Dans Flash,
A la racine (sur _root donc pour l'exemple),
Créer un clip vide, avec comme nom d'occurrence : "Image", par exemple, (renommé au passage le calque en "Image" ca change rien et ne sert a rien dans le code, mais c'est plus lisible :) pour s'y repérer) .
Sur _root (toujours) créezun nouveau calque, et un nouveau clip en forme de barre horizontale (labarre de chargement), nommez l'occrruence du clip "BarreChargement".
A nouveau, un nouveau calque et nommez le AS (on va y mettre l'action script) :
Premièrement on ajoute le code suivant pour commencer par cacher la barre de chargement.
BarreChargement._visible = false;
Puis,on va faire 2 variables, une pour l'image en cours, et un eautre pourle nombre d'images total contenu dans le répertoire ...
imageIndex= -1;
maxImages= 10; // pour l'exemple, mais sinon mettre le nombre d'images dans le répertoire
Ensuite, 2 petites fonctions pour 'zapper' les images :
function imageNext(){
==_visible = true;==
onEnterFrame= function(){ //l'enterFrame un fonction executé tout letemps
var pc=Image.getBytesLoaded()*100/_root.getBytesTotal(); //calculedu % de l'image qui est chargé
BarreChargement._xscale=pc; // on change la taille de la barre de chargement
if (pc >= 100){ // et si tout estchargé
BarreChargement._visible =false; // on recache la barre dechargement
delete onEnterFrame; // onsuprimel'enterFrame; // etonsupprime la fonction exécuté en permanace, histoire de pas surgargerleprocesseur pour rien ...
}
}
imageIndex++;
if (imageIndex > maxImages){
imageIndex = 0;
}
Image.loadMovie("images/img"+imageIndex+".jpg");
}
function imagePrev(){
onEnterFrame = function(){
var pc = Image.getBytesLoaded()*100/_root.getBytesTotal();
if (pc == 100){
delete onEnterFrame;
}
}
if (imageIndex <= -1){
imageIndex = maxImages;
}
Image.loadMovie("images/img"+imageIndex+".jpg");
}
sivous souhaitez que la première image soit chargé automatiquement onappel tout de suite imageNext a la suite de la définition des 2fonctions précédentes :
imageNext();
Ilne reste plus qu'a faire 2 boutons, un pour avancer et un pour reculer(de préférence sur un nouveau calque aussi, nommé par exemple boutons)
avec respectivement :
on(release){
imageNext();
}
et
on(release){
imagePrev();
}
Et voilà c'est fini.
Flash sans Limites
_Benjy