PDA

Volledige versie bekijken : FadeIn en FadeOut overgang foto's


allardjong
%Europe/Berlin %825 %2006, 20:48
Beste forumleden,

Ik heb al vanalles geprobeerd, maar kom er toch niet uit en kan ook de oplossing niet vinden in het forum. Vandaar de volgende vraag waar iemand misschien antwoord op heeft.
Ik wil graag een een aantal foto's extern inladen (m.b.v. xml script) en deze vervolgens een voor een laten infaden en weer outfaden.
Totnutoe is dat wel gelukt, alleen nu fade de volgende foto pas weer in nadat de eerste foto geheel is uitgefade.
Wat ik graag wil is dat de fadeout van foto1 overgaat in de fadein van foto2 enz.
Ik heb al zitten klungelen met aanpassing van het script door de visibility van doos2_mc op true te zetten, maar dat geeft niet het gewenste resultaat.
Weet iemand hoe het wel werkt?

Alvast bedankt voor evt. hulp,

Groet,

Allard (newbie)
Flash MX2004



Onderstaand is het script wat ik momenteel gebruik:


MovieClip.prototype.loadjpg = function(afbeelding) {
this.createEmptyMovieClip("lBar", 99999);
with (this.lBar) {
lineStyle(0, 0, 0);
moveTo(0, 0);
beginFill(0, 0);
lineTo(0,0);
lineTo(0,0);
lineTo(0,0);
lineTo(0,0);
endFill();
}
this.createEmptyMovieClip("holder", 1);
this.holder.loadMovie(afbeelding);
this.onEnterFrame = function() {
var loaded = Math.round(this.holder.getBytesLoaded());
var total = Math.round(this.holder.getBytesTotal());
var percent = Math.round((loaded/total) * 100);
this.lBar._width = percent;
if (this.holder.getBytesLoaded() > 1 && this.holder.getBytesLoaded() >= this.holder.getBytesTotal()) {
this.lBar.removeMovieClip();
delete this.onEnterFrame;
}
}
}
//-------------------------------------------------------------------
// inlezen xml bestand
//
// aantal! opslaan in array

p_arr = new Array();
// naam >> uit array
function init(xfile){
teller1 = 0;//Teller voor het aanmaken van de fotonaam
teller2 = 1;//Teller voor het aanmaken van de fotonaam
showtime = 4000;//Tijd in ms dat de foto met alpha 100 getoond wordt
OutSpeed = 50; //Interval in ms waarmee alpha-waarde steeds met 1 minderd wordt
InSpeed = 50;
doos2_mc = _root.createEmptyMovieClip("doos2_mc", 120);
doos1_mc = _root.createEmptyMovieClip("doos1_mc", 121);
doos2_mc._visible = false;
p_XML = new XML();
p_XML.ignoreWhite = true;
p_XML.onLoad = pLaden;
p_XML.load(xfile);
}


function pLaden (success){
if (success){
_global.aantal = p_XML.firstChild.childNodes.length;
for (var i=0; i<aantal; i++){
_root.p_arr.push(p_XML.firstChild.childNodes[i].attributes.foto)
}
}
naam2 = _root.p_arr[teller1];
_root.doos2_mc.loadjpg(naam2);
StartSlideShow();
}


//-------------------------------------------------------------------
HPos = 0;
VPos = 0;
/*
teller1 = 0; //Teller voor het aanmaken van de fotonaam
teller2 = 1; //Teller voor het aanmaken van de fotonaam
showtime = 2000; //Tijd in ms dat de foto met alpha 100 getoond wordt
OutSpeed = 10; //Interval in ms waarmee alpha-waarde steeds met 1 minderd wordt
InSpeed = 10; //Interval in ms waarmee alpha-waarde steeds met 1 verhoogd wordt
*/
//------------------------------------------------------------------------------------------

function StartSlideShow() {
TimerFadeIn = setInterval(FadeIn, InSpeed);
naam1 = _root.p_arr[teller1];
_root.doos1_mc.loadjpg(naam1);
_root.doos1_mc._x = HPos;
_root.doos1_mc._y = VPos;
_root.doos1_mc._alpha = 0;
naam2 = _root.p_arr[teller2]; //Het aanmaken van de naam uit array
_root.doos2_mc.loadjpg(naam2); //Plaats deze in doos2_mc
//----------------------------------
(teller1 == aantal-1)? teller1 = 0 : teller1++;
(teller2 == aantal-1)? teller2 = 0 : teller2++;
}
//-------------------------------------------------------------------
function FadeIn() {
_root.doos1_mc._alpha = _root.doos1_mc._alpha+1;//Verhoog de alpha waarde van doos1_mc met 1
if (_root.doos1_mc._alpha>100) { //als de alpha groter is dan 100
clearInterval(TimerFadeIn); //schakel TimerFadeIn uit
TimerShow = setInterval(Show, showtime);//Start interval timer voor de functie Show
}
}
//--------------------------------------------------------------------
function FadeOut() {
_root.doos1_mc._alpha = _root.doos1_mc._alpha-1;//Verlaag de alpha waarde van doos1_mc met 1
if (_root.doos1_mc._alpha<0) { //als de alpha waarde minder is dan nul
clearInterval(TimerFadeOut); //schakel TimerFadeOut uit
StartSlideShow();
}
}
//--------------------------------------------------------------------
function Show() {
TimerFadeOut = setInterval(FadeOut, OutSpeed); //Start interval timer voor de functie FadeOut
//De functie FadeOut wordt nu elke "Outspeed" in ms uitgevoerd
clearInterval(TimerShow);//Schakel de TimerShow uit
}
//-------------------------------------------------------------------
function StopSlideShow(){
clearInterval(TimerFadeIn);
clearInterval(TimerShow);
clearInterval(TimerFadeOut);
}

init("xml/images.xml");

// end code