XML and Flash CS4 - loading images


hello,

 

i'm trying learn use xml loading images , found tutorial somewhere... far good. however, stuck on something.

 

i've loaded bunch of thumbs , want load bigger version of image when thumbnail image clicked.

 

got work poorly. same large image loaded no matter thumb clicked. appreciate advice.

 

thank you!

 

============================================================================

 

var xmlrequest:urlrequest = new urlrequest("rockandroll.xml");
var xmlloader:urlloader = new urlloader(xmlrequest);
var imgdata:xml;
var numberofchildren:int;
var hite:int;
var wid:int;

 

xmlloader.load(xmlrequest);
xmlloader.addeventlistener(event.complete, xmlloadedf);

 

var imageloader1:loader = new loader();
var bigloader:loader = new loader();

 

var rawimage:string;
var rawimage2:string;
var imgnum:int=0;

 

function xmlloadedf(event:event):void{
    imgdata = new xml(event.target.data);
    numberofchildren = imgdata.*.length()
    var startx:int=190;
    var starty:int=60;
    var imgnum:int=0;
    var ctr:int=0;
    var cumux:int=0;

 

    while(imgnum<36){
    for(var cols:int=0; cols<7; cols++){
        var b:movieclip = new boxx();
        addchild(b);

 

        b.x=startx+cols*b.width;
        //
        cumux+=number(imgdata.pic[imgnum].imgw);
        //
        b.y=starty;
        rawimage=imgdata.pic[imgnum].thumb;
        rawimage2=imgdata.pic[imgnum].big;
        var imageloader1:loader = new loader();
        var bigloader:loader = new loader();
       
        imageloader1.load(new urlrequest(rawimage));

 

        imageloader1.addeventlistener(mouseevent.click, itsclicked);
        bigloader.addeventlistener(mouseevent.click, itsgone);   
        b.addchild(imageloader1);
       
       
        imageloader1.x=(b.width-imgdata.pic[imgnum].imgw)/2;
        imageloader1.y=(b.height-imgdata.pic[imgnum].imgh)/2;
        imgnum++;
    }
    starty+=b.height;
    b.x=startx;
}

 

function itsclicked(event:event):void{
       
        rawimage2=imgdata.pic[imgnum].big;
        addchild(bigloader);
        bigloader.load(new urlrequest(rawimage2));
        bigloader.addeventlistener(mouseevent.click, itsgone);
}
function itsgone(event:event):void{
    removechild(bigloader);
}
}

 

===================================

and here's record in xml file:

 

<?xml version="1.0" encoding="utf-8"?>
<photos>
    <pic>
        <thumb>thumbs/1t.jpg</thumb>
        <big>images/1.jpg</big> 
        <imgw>57</imgw>
        <imgh>31</imgh> 
        <bigimgw>922</bigimgw>
        <bigimgh>500</bigimgh> 
    </pic>

 

... etc.

 

=====================================

thanks again!

try tracing value of imagenum in itsclicked function...

 

trace(imgnum):



More discussions in ActionScript 3


adobe

Comments

Popular posts from this blog

Hur installera Joomla på One.com - Joomla! Forum - community, help and support

removing index.php from URL address - Joomla! Forum - community, help and support

「イメージマップのアンカー名には、...」のエラーが出ないようにしたい