Créer rapidement et facilement un petit diaporama d'images externes (avec barre de chargement)

  • [# -;]

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

Adresse d'origine

A voir également
Ce document intitulé « Créer rapidement et facilement un petit diaporama d'images externes (avec barre de chargement) » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous