Ik ben bezig met een zelfgemaakt loop van images. Ik wilde niet de standaard "slideshow" gebruiken die je overal kan vinden want die gaan állemaal tussen de plaatjes door faden naar wit om de nieuwe te laden. Dit is niet wat ik wil. Ik wil dat de nieuw geladen afbeelding fade-in terwijl de oude fade-out. Een soepele en mooie overgang is het resultaat.
Het is allemaal nogal een gehaast karwijtje en is nog heel ruw, maar ik zit nu toch wel met een groot probleem. Ik maak namelijk om dit te bereiken gebruik van de attachMovie manier om ieder nieuw plaatje op een aparte Depth te creëren. Tegelijkertijd laat ik de voorgaande MC (eveneens gemaakt door attachMovie) een fade-out doen met aan het eind een: this.unloadMovie();
Zo ziet de main timeline eruit.
Frame 1:
Frame 2:
Frame 3:
Vervolgens heb ik in de imageloader timeline:
Frame 1:
Frame 2 = blanc
Frame 3:
En bij de laatste frame dus hetgeen waar het om gaat:
Het probleem is dus dat ondanks dat ik bij het laden van iedere opvolgende MC de oude unloadMovie laat doen, de animatie naar verloop van tijd ontzettend gaat stotteren... alsof er ergens nog iets achterblijft dat niet gewist wordt.
Is er ergens een buffer ofzo die ik kan wissen?
Het is allemaal nogal een gehaast karwijtje en is nog heel ruw, maar ik zit nu toch wel met een groot probleem. Ik maak namelijk om dit te bereiken gebruik van de attachMovie manier om ieder nieuw plaatje op een aparte Depth te creëren. Tegelijkertijd laat ik de voorgaande MC (eveneens gemaakt door attachMovie) een fade-out doen met aan het eind een: this.unloadMovie();
Zo ziet de main timeline eruit.
Frame 1:
code:
1
2
3
4
| _global.k = 1; // First image to load _global.kmax = 4; // Total number of images _global.l = 0; // Layer (depth) counter _global.slidedelay = 1000; // Picture interval |
Frame 2:
code:
1
2
3
4
5
6
7
8
9
| function loadImage() {
this.attachMovie("imageloader", l, this.getNextHighestDepth());
_global.k = k++;
_global.image_old = l-1;
++l;
if (k == kmax + 1) {k = 1};
};
loadImage(); |
Frame 3:
code:
1
2
3
4
5
6
7
| stop();
myInterval = setInterval(pause_slideshow, slidedelay);
function pause_slideshow() {
clearInterval(myInterval);
gotoAndPlay(2);
}; |
Vervolgens heb ik in de imageloader timeline:
Frame 1:
code:
1
| loadMovie(["images/intro/" + k + ".jpg"], imagecontainer); |
Frame 2 = blanc
Frame 3:
code:
1
2
3
4
5
6
7
8
9
10
| stop();
if (imagecontainer.getBytesLoaded() >= imagecontainer.getBytesTotal())
{
gotoAndPlay("fade_in");
_root[image_old].gotoAndPlay("fade_out");
}
else {
gotoAndPlay(2)
}; |
En bij de laatste frame dus hetgeen waar het om gaat:
code:
1
2
| this.unloadMovie();
trace("unloading" + this._name); |
Het probleem is dus dat ondanks dat ik bij het laden van iedere opvolgende MC de oude unloadMovie laat doen, de animatie naar verloop van tijd ontzettend gaat stotteren... alsof er ergens nog iets achterblijft dat niet gewist wordt.
Is er ergens een buffer ofzo die ik kan wissen?