PDA

Volledige versie bekijken : ZSM~! XML load, unload, newload~ iemand pls?


VVP
%Europe/Berlin %779 %2008, 19:41
Hoi AS/FF'ers,

Ik moet ZSM ( P) ) een soort image gallery maken met 3 foto's aan de linkerkant (thumbnails) en 1 grotere foto in het midden dat de uitvergroting is van de thumbnails. Als ik op een photo klik moet een XML uitgeladen worden en een nieuwe ingeladen.

bijv.

xml1 (soort categorië):
photo 1 is een auto;
photo 2 is een boot;
photo 3 is een fiets;

xml2:
photo 1 is een auto1;
photo 2 is een auto2;
photo 3 is een auto3;

xml3:
photo 1 is een boot1;
photo 2 is een boot2;
photo 3 is een boot3;

xml4:
photo 1 is een fiets1;
photo 2 is een fiets2;
photo 3 is een fiets3;

als 1st word xml1 geladen, als ik op photo1 klick (de auto), dan moet xml1 uitgeladen worden en xml2 ingeladen worden hoe berijk ik dit?

--

ik zit hier ergens fout bij de function 'ifMouseUp' [mischien wel bij meerdere], en is het wel verstandig om een mouseUp te gebruiken?

tot zo ver mijn AS:


import caurina.transitions.*;

var xml:XML;
var xmlList:XMLList;
var imageLoader:Loader;
var xmlLoader:URLLoader = new URLLoader();
var imageText:TextField = new TextField();

function loadXML(loadWhat)
{
xmlLoader.load(new URLRequest(loadWhat));
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
}

loadXML("data/images1.xml");

function xmlLoaded(event:Event):void
{
xml = XML(event.target.data);
xmlList = xml.children();

for (var i:int = 0; i < 3; i++)
{
imageLoader = new Loader();
imageLoader.load(new URLRequest(xmlList[i].@thumb));
imageLoader.name = xmlList[i].@source;
addChild(imageLoader);
imageLoader.x = 65.3;
imageLoader.y = 150 + (i*100);
trace(imageLoader.name);
imageLoader.addEventListener(MouseEvent.CLICK, showPicture);
imageLoader.addEventListener(MouseEvent.MOUSE_UP, ifMouseUp);
}
}

function ifMouseUp(event:MouseEvent)
{
xmlLoader.unload();
switch (event.target.name)
{
case "images/image01.jpg" :
loadXML("data/images1.xml");
break;
case "images/image02.jpg" :
loadXML("data/images2.xml");
break;
case "images/image03.jpg" :
loadXML("data/images3.xml");
break;
default :
trace("error MouseUp");
break;
}
}

function showPicture(event:MouseEvent):void
{
imageLoader = new Loader();
imageLoader.load(new URLRequest(event.target.name));
imageLoader.x = 234.3;
imageLoader.y = 150;
imageLoader.alpha = 0;
Tweener.addTween(imageLoader, {alpha:1, time:2, transition:"easeOutExpo"});
addChild(imageLoader);
}




graag ZSM hulp,
alvast bedankt.

Greets! 8)

Flashingback
%Europe/Berlin %792 %2008, 20:01
URLLoader heeft bij mijn weten geen unload method Loader daar in tegen wel dus wrs moet dit

xmlLoader.unload(); dit worden imageLoader.unload();

VVP
%Europe/Berlin %914 %2008, 22:57
thanx Flashingback :D
ok ben iig een stukje verder.

hij werkt nog niet helemaal goed. Kan iemand aub kijken naar mijn .fla en andere bestanden die ik in mijn 1ste post als bijlagen heb meegegeven wat ik fout heb gedaan ik heb de rar bestand al aangepast.

is die xml1 dan trouwens nog steets geladen?...
mischien klopt hij daarom nog steets niet.



function ifMouseUp(event:MouseEvent)
{
imageLoader.unload();

switch (event.target.name)
{
case "images1/image01.jpg" :
loadXML("data/images2.xml");
break;
case "images1/image02.jpg" :
loadXML("data/images3.xml");
break;
case "images1/image03.jpg" :
loadXML("data/images4.xml");
break;
default :
trace("error MouseUp");
break;
}
}




*// [nadat ik de cotegorie heb gekozen]: als ik op 1 van de afbeeldingen klik dan verdwijnt de 3de foto..

Output:
alles klopt zelfs die error MouseUp klopt..
maar tog werkt hij niet.


//Output:

images1/image01.jpg
images1/image02.jpg
images1/image03.jpg
images2/image01.jpg
images2/image02.jpg
images2/image03.jpg
error MouseUp
error MouseUp
error MouseUp
error MouseUp
error MouseUp

mknol
%Europe/Berlin %385 %2008, 10:14
Beetje offtopic: Je hoeft bij default: niet te break; te gebruiken.

Kies volgende keer niet zo'n schreeuwerige titel. Bedankt. :)

VVP
%Europe/Berlin %521 %2008, 13:31
Beetje offtopic: Je hoeft bij default: niet te break; te gebruiken.

Kies volgende keer niet zo'n schreeuwerige titel. Bedankt. :)

Thanx for de tip, en sorry voor de titel maar dit moet zo snel mogelijk opgelost worden dus is het erg belangrijk. Ik zal er de volgende keer op letten.

VVP
%Europe/Berlin %554 %2008, 14:18
het probleem dat de 3de image verdwijnt is nu opgelost maar nog loopt hij niet soepel.
ik bij de for lus in de xmlLoaded function een 4 ipv een 3 gezet.

Als ik nu op de 3de image klik dan komt eerst even snel image 1 naar voren en dan pas image 3. Als ik image 3 hebt geklikt en dan op image 2 klik dan is dat ook zo.


//veranderingen:
//de for lus in de xmlLoaded function.
for (var i:int = 0; i < 4; i++)

//de loadXML function.
function loadXML(loadWhat)
{
if (loadWhat != oldXML)
{
xmlLoader.load(new URLRequest(loadWhat));
xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
oldXML = loadWhat;
trace(loadWhat);
trace(oldXML);
trace("______");
}
}