Forum de discussion
Forum « Flash et Shockwave » (archives)
slideshows avec thumbnail sur des rangée et colonnes
Envoyé: 9 mars 2006, 18h25 par pup
J'ai un script qui liste un array pour afficher des thumbnail sur une ligne horizontale ... mais je n'arrive pas à les mettre en colonnes et rangées comme dans un tableau. genre 3 colonne et x nbre de rangees
J'ai essayé d'ajouter une fonction AttachIntervalle( ) trouvé sur le net mais ca pas l'air a marcher
si quequ'un a une idée ...
// le code des fonction Interval et init()
----------------------------------
var PICPATH:String = "folder/"; // folder with jpgs
var NPICS:Number = picnames.length; // number of pictures to load
var PICX:Number = 10; // x loc of big picture
var PICY:Number = 10; // y loc
var THUMBHOLDERX:Number = 0; // x location of thumbnail holder movieclip
var THUMBHOLDERY:Number = 230; // y location
var THUMBW:Number = 72; // width of each thumbnail
var THUMBH:Number = 40; // height
var MARGIN:Number = 10; // margin between thumbnails
var TOTALBYTES:Number = 106000;
var totalloaded:Number = 0;
var ipic:Number;
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(this);
// ...... //
function attacheIntervalle(clipTarget, nLignes, nCols, delay, clipAttache, hSpace, lSpace) {
clipTarget.i = 0 ;
clipTarget.attache = function () {
//tant que i est inférieur à compte je fais mon attachmovie
//en lignes et colonnes
if (this.i < nLignes * nCols) {
var mc = this.attachMovie(clipAttache, "mc"+this.i, this.i) ;
mc._x = lSpace*(this.i%nLignes) ;
mc._y = hSpace*Math.floor(this.i/nCols)});
//j'incrémente i à chaque passage
this.i++;
}else{
//quand i=compte je clear mon intervalle
clearInterval(this.monIntervalle);
}
}
clip.monIntervalle = setInterval(clipTarget, "attache", delay);
};
function init() {
createEmptyMovieClip("pic_mc", 1);
pic_mc._x = PICX;
pic_mc._y = PICY;
createEmptyMovieClip("thumbs_mc", 2);
thumbs_mc.beginFill(0, 100);
thumbs_mc.moveTo(0, 0);
thumbs_mc.lineTo((MARGIN + THUMBW) * NPICS,0);
thumbs_mc.lineTo((MARGIN + THUMBW) * NPICS, THUMBH + 2 * MARGIN);
thumbs_mc.lineTo(0, THUMBH + 2 * MARGIN);
thumbs_mc.endFill();
thumbs_mc._x = THUMBHOLDERX;
thumbs_mc._y = THUMBHOLDERY;
thumbs_mc.tabIndex = 4;
createTextField("pct_txt", 3, 200, 100, 40, 100);
var tf:TextFormat = new TextFormat();
tf.align = "center";
tf.size = 12;
tf.font = "Verdana";
tf.color = 0xFFFF00;
pct_txt.setNewTextFormat(tf);
for (var i:Number = 0; i < NPICS; i++) {
var mc:MovieClip = thumbs_mc.createEmptyMovieClip("mc"+i, i+1);
attacheIntervalle (pom, 5, 6, 1000, ("mc"+i, i+1), 50, 50) ;
mc._x = MARGIN + i*(MARGIN + THUMBW);
mc._y = MARGIN;
}
ipic = 0;
loader.loadClip(PICPATH + picnames[ipic] + ".jpg", thumbs_mc["mc"+ipic]);
}
init();
------------------------------------