Grid in flash

forumgenootjes,

Ik ben in flash aan een thumbnailgellary bezig… Deze word in een grid geladen, mooie rollovers op gezet, en als je op een plaatje klikt dan krijg je naarst de grid een vergroting te zien…
Dat ziet er allemaal prima uit! Alleen wil ik m’n grid beperken tot 36 plaatjes (6 rijen van 6)…
De info word uit een xml bestand geladen.

Nu, als er meer plaatjes in zitten dan 30 dan zou ie volgende en vorige knoppen moeten laten zien, en als je daar dan op klikt dan worden de overige plaatjes in de grid geladen, zijn er bv 120plaatjes dan moet heb dus een paar “pagina’s” plaatjes…

Ik krijg het alleen niet voormaar om de grid op te splitsen… Kan iemand me hier mee helpen?

Groeten
jonas

Werken met een array.

Is hier toevallig ergens een tutorial over te vinden? Want ik zou niet echt weten hoe ik er aan moet beginnen?

Groeten
Jonas

op www.kirupa.com staat er een fotoalbum dat werkt met vorige en volgende dmv een array. zoek eens op die site.

Ik heb ff gekeken, maar ik krijg het maar niet voormekaar om ze op te spitsen. Ben ondertussen al 100 keer begonnen met wat ik had en daar over verder gebouwd, maar ik heb alles uit verschillende tutorials gehaald, en het combineren lukt niet echt.

Ook wil ik in alle thumbs nog een preloader, en dit moet via moviecliploader class, maar het lukt me niet om de preloader aan de thumbs te koppelen.

HIer is een voorbeeldje van wat ik al heb:
Voorbeeld

En dit is de code die ik hier voor gebruik:

[code:1:91d90df930]function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
soort = [];
titel = [];
author = [];
date = [];
uitleg = [];
thumbnails = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
soort[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
titel[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
author[i] = xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue;
date[i] = xmlNode.childNodes[i].childNodes[4].firstChild.nodeValue;
uitleg[i] = xmlNode.childNodes[i].childNodes[5].firstChild.nodeValue;
thumbnails[i] = xmlNode.childNodes[i].childNodes[6].firstChild.nodeValue;
thumbnails_fn(i);
}
firstImage();
} else {
trace(content);
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("fotos/fotos.xml");
/////////////////////////////////////
previous_btn.onRelease = function() {
prevImage();
};
next_btn.onRelease = function() {
nextImage();
};
/////////////////////////////////////
onEnterFrame = function () {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
getPercent = (loaded/filesize)10;
preloader._visible = true;
if (loaded != filesize) {
trace(loaded);
preloader.preload_bar._xscale = 300
loaded/filesize;
preloader.progress_txt.text = Math.round(getPercent10)+"%";
} else {
preloader._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};
p = 0;
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[p], 1);
info.soort.text = soort[p];
info.titel.text = titel[p];
info.author.text = author[p];
info.date.text = date[p];
info.uitleg.text = uitleg[p];
}
}
}
function prevImage() {
if (p>0) {
p–;
picture._alpha = 0;
picture.loadMovie(image[p], 1);
info.soort.text = soort[p];
info.titel.text = titel[p];
info.author.text = author[p];
info.date.text = date[p];
info.uitleg.text = uitleg[p];
}
}
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[0], 1);
info.soort.text = soort[p];
info.titel.text = titel[p];
info.author.text = author[p];
info.date.text = date[p];
info.uitleg.text = uitleg[p];
}
}
function thumbnails_fn(k) {
thumbnail_mc.createEmptyMovieClip("t"+k, thumbnail_mc.getNextHighestDepth());
tlistener = new Object();
tlistener.onLoadInit = function(target_mc) {
target_mc.pictureValue = k;
target_mc.onRelease = function() {
p = this.pictureValue-1;
nextImage();
};
target_mc.onRollOver = function() {
this._alpha = 50;
thumbNailScroller();
};
target_mc.onRollOut = function() {
this._alpha = 100;
};
};
image_mcl = new MovieClipLoader();
image_mcl.addListener(tlistener);
image_mcl.loadClip(thumbnails[k], "grid"+k);
}
//////////////////////////////////////////////////////////////////
gridx = 110;
gridy = 90;
image_mcl = new MovieClipLoader();
listener = new Object();
image_mcl.addListener(listener);
image_mcl.loadClip(thumbnails[k], "grid"+num);
num = 0;
for (var i = 0; i<6; i++) {
for (var j = 0; j<6; j++) {
grid.duplicateMovieClip("grid"+num, num);
mc = this["grid"+num];
mc._x = gridx
j+15;
mc._y = gridy*i+15;
num++;
}
}
grid._visible = 0;
[/code:1:91d90df930]

Is er iemand die me een beetje op de goeie weg kan zetten?
Er zitten nog een paar fouten in de code, hij zou een stuk makkelijker kunnen, en een stuk korter, maar dat lukt me dus niet…

Groeten
Jonas