PDA

Volledige versie bekijken : Fotoslide met flash en xml


jbulckens
%Europe/Berlin %921 %2006, 23:07
Beste

Ik heb een probleem. Heb ernaar gezocht maar niet gevonden.
Ik zou graag foto's willen laten overvloeien in elkaar en bij elke foto een tekst laten bijkomen.
Dat is niet zo moeilijk als je dat doet gewoon via de tijdsbalk maar wil het liever geprogrameerd zien. Ik heb gezocht en heb 2 tutorials gevonden waarmee ik iets kan doen.

A1. Een xml die foto's inlaadt (maar je moet wel klikken om de volgende te zien en vloeit niet in elkaar over) met bijhorende tekst erbij
A2. Een flash bestand dat foto's in elkaar laat overvloeien.

Ik zal hieronder de code van beiden zetten. Ik ken er niet genoeg van om ze te kunnen samenvoegen. Of weet iemand hier al een tutorial van die hetzelfde doet?

Alvast bedankt voor te kijken. (Ik heb het even gemaakt geowon op de tijdsbalk en dan ziet het er zo uit: http://www.7de.be/test2/grotefoto.swf

A1:
slides_xml = new XML();
slides_xml.onLoad = startSlideShow;
slides_xml.load("slides.xml");
slides_xml.ignoreWhite = true;
//
// Show the first slide and intialize variables
function startSlideShow(success) {
if (success == true) {
rootNode = slides_xml.firstChild;
totalSlides = rootNode.childNodes.length;
firstSlideNode = rootNode.firstChild;
currentSlideNode = firstSlideNode;
currentIndex = 1;
updateSlide(firstSlideNode);

}
}
//
// Updates the current slide with new image and text
function updateSlide(newSlideNode) {
imagePath = newSlideNode.attributes.jpegURL;
slideText = newSlideNode.firstChild.nodeValue;
loadMovie(imagePath, targetClip);
}
//
// Event handler for 'Next slide' button
next_btn.onRelease = function() {
nextSlideNode = currentSlideNode.nextSibling;
if (nextSlideNode == null) {
break;
} else {
currentIndex++;
updateSlide(nextSlideNode);
currentSlideNode = nextSlideNode;
}
};
//
// Event handler for 'Previous slide' button
back_btn.onRelease = function() {
previousSlideNode = currentSlideNode.previousSibling;
if (previousSlideNode == null) {
break;
} else {
currentIndex--;
currentSlideNode = previousSlideNode;
updateSlide(previousSlideNode);
}
};

en A2:

var pics=new Array("001","blanq1.jpg","duovaten.jpg","champ1.jpg","trap.jpg","ermitage.jpg","sterke.jpg","fleshals.jpg","straffe.jpg","kist.jpg","champ2.jpg","vaten.jpg","blanq2.jpg","bak1.jpg");
var picdir="bgimgs/";
var curfad_mc=bgp1_mc;
var other_mc=bgp2_mc;
var counter=0;
var curpic=0;
var sw=0;
var swMC=new Array(iMiddenBalk.iYour, iMiddenBalk.iDrink, iMiddenBalk.iLink)
var swB=new Array(600,1000,1300);
var swX=new Array(120,189,236);
var swSp=new Array(6,8,10);
var swT1=500;
var swT2=1000;

bgp2_mc._alpha=0;
bgp1_mc.loadMovie(picdir+pics[curpic++]);

function FadeStep()
{
counter++;
if(counter==1)
{
other_mc.loadMovie(picdir+pics[curpic++]);
if(curpic==pics.length) curpic=0;
other_mc._alpha=100;
}
if(counter>50)
{
if(curfad_mc._alpha>0)
curfad_mc._alpha-=4;
else
{
curfad_mc.swapDepths(other_mc);
var temp_mc=curfad_mc;
curfad_mc=other_mc;
other_mc=temp_mc;
counter=0;
}
}
}

function ResetPicturen()
{
for(i=0; i<3; i++) swMC[i]._x=swB[i];
}

function LinkSwoosh()
{
sw++;
for(i=0; i<3; i++)
{
if(sw>0 && sw<=swT1) { if(swMC[i]._x>swX[i]) swMC[i]._x-=swSp[i]; }
if(sw>swT1 && sw<=swT2) { if(swMC[i]._x<swB[i]) swMC[i]._x+=swSp[i]; }
if(swMC[i]._x<swX[i]) swMC[i]._x=swX[i];
if(swMC[i]._x>swB[i]) swMC[i]._x=swB[i];
}
if(sw==swT2) sw=0;
}

ResetPicturen();
setInterval(FadeStep,70);
setInterval(LinkSwoosh,10);

function PlayTekstVlak()
{
if(iTekstVlak._currentframe==1)
iTekstVlak.play();
else
{
if(iTekstVlak._currentframe==16) iTekstVlak.gotoAndPlay(12);
}
}

lookaa
%Europe/Berlin %355 %2006, 09:31
XML might be an option for creating foto slideshow with Flash, but the easiest way to use the 3rd party slideshow creator like ' Wondershare Flash Slideshow Builder (http://www.photo2vcd.com/flash-slide-show.html) ' . I've done easy my work with it.