Xml gallery

I have a gallery that malfunctions some of the time when you try to explore my website. it is some what complicated to explain so I will describe my set up with the assistance of my code.
SWF file contains this code on the hompage frame:
////BUTTONS//////
stop();
//-----Navigation Buttons ------------//
home_btn.addEventListener(MouseEvent.CLICK, homeclick);
function homeclick(event:MouseEvent):void
gotoAndStop(2);
if(img_holder.stage)
removeChild(img_holder);
port_btn.addEventListener(MouseEvent.CLICK, portclick);
function portclick(event:MouseEvent):void
gotoAndStop(3);
abou_btn.addEventListener(MouseEvent.CLICK, abouclick);
function abouclick(event:MouseEvent):void
gotoAndStop(8);
if(img_holder.stage)
removeChild(img_holder);
blog_btn.addEventListener(MouseEvent.CLICK, blogclick);
function blogclick(event:MouseEvent):void
gotoAndStop(9);
if(img_holder.stage)
removeChild(img_holder);
cont_btn.addEventListener(MouseEvent.CLICK, contclick);
function contclick(event:MouseEvent):void
gotoAndStop(10);
if(img_holder.stage)
removeChild(img_holder);
On my gallery/home page the code looks like:
/////gallery buttons/////////
gal1_btn.addEventListener(MouseEvent.CLICK, gal1click);
function gal1click(event:MouseEvent):void
gotoAndStop(4);
gal2_btn.addEventListener(MouseEvent.CLICK, gal2click);
function gal2click(event:MouseEvent):void
gotoAndStop(5);
gal3_btn.addEventListener(MouseEvent.CLICK, gal3click);
function gal3click(event:MouseEvent):void
gotoAndStop(6);
gal4_btn.addEventListener(MouseEvent.CLICK, gal4click);
function gal4click(event:MouseEvent):void
gotoAndStop(7);
once you've selected a gallery it takes you to that specific gallery.. i have four of them, but gal1 is the only one with as3 because i wanted to get the bugs sorted out before continuing with the other three. The as3 code lookes like this in gallery1:
var xml:XML = new XML();
var img_count:uint;
var loader:URLLoader = new URLLoader();
var img_holder:Sprite=new Sprite();
var sw:Number=stage.stageWidth;
addChild(img_holder);
function xmlloaded(e:Event):void
xml=XML(e.target.data);
img_count = xml.img.length()-1;
for (var i:uint = 0; i<img_count; i++)
  var thumb:Sprite=new createThumb(img_holder,String(xml.img[i].@thumburl),String(xml.img[i].@mainurl));
  thumb.x=130*i;
  img_holder.addChild(thumb);
stage.addEventListener(Event.ENTER_FRAME,mousescroll);
function mousescroll(e:Event):void
var ihw:Number = (img_holder.width-sw+350)*-1;
var percent:Number = 175+(mouseX/sw)*(ihw);
img_holder.x=percent;
loader.load(new URLRequest('photogallery.xml'));
loader.addEventListener(Event.COMPLETE,xmlloaded);
this code calls to an outside xml file, which looks like this:
var img_holder:Sprite=new Sprite();
var thumb:Sprite=new createThumb(img_holder,'smallimage/file.png','largeimage/file.png');
thumb.x=205*i;
img_holder.addChild(thumb);
addChild(img_holder);
package {
import flash.display.Loader;
import flash.display.Sprite;
import flash.display.Bitmap;
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
import fl.transitions.easing.*;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.net.URLRequest;
public class createThumb extends Sprite {
private var arraytween:Array = new Array();
private var thumb_loader:Loader;
private var photo_loader:Loader;
private var thumb_url:String;
private var photo_url:String;
private var thumb_bit:Bitmap;
private var photo_bit:Bitmap;
private var mother:Sprite;
private var thumb_btn:Sprite;
public function createThumb(childof:Sprite,thumburl:String,photourl:String) {
mother=childof;
thumb_url=thumburl;
photo_url=photourl;
loadthumb();
private function loadthumb():void {
thumb_loader = new Loader();
thumb_loader.load(new URLRequest(thumb_url));
thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,displaythumb);
private function displaythumb(e:Event):void {
thumb_btn = new Sprite();
thumb_bit= new Bitmap();
thumb_btn.y=(stage.stageHeight-thumb_btn.height)/1.25;
thumb_btn.graphics.beginFill(0x000000,0);
thumb_btn.graphics.drawRect(0,0,125,125);
thumb_btn.graphics.endFill();
thumb_bit=e.target.content as Bitmap;
thumb_bit.y=(stage.stageHeight-thumb_bit.height)/1.045;
thumb_btn.width=thumb_btn.height=thumb_bit.width=thumb_bit.height=125;
thumb_bit.smoothing=true;
addChild(thumb_bit);
addChild(thumb_btn);
thumb_btn.addEventListener(MouseEvent.CLICK,loadphoto);
private function loadphoto(e:Event):void {
arraytween.push(new Tween(mother,"y",Regular.easeOut,mother.y,0,.5,true));
photo_loader = new Loader();
photo_loader.load(new URLRequest(photo_url));
photo_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,displayphoto);
private function displayphoto(e:Event):void {
stage.addEventListener(MouseEvent.CLICK,closephoto);
photo_bit= new Bitmap();
photo_bit=e.target.content as Bitmap;
photo_bit.smoothing=true;
photo_bit.x=(192);
photo_bit.y=(110);
stage.addChild(photo_bit);
private function closephoto(e:Event):void
arraytween.push(new Tween(mother,"y",Strong.easeOut,mother.y,0,.5,true));
arraytween[arraytween.length-1].addEventListener(TweenEvent.MOTION_FINISH,cleartween);
photo_loader.unload();
if(photo_bit.stage)
stage.removeChild(photo_bit);
stage.removeEventListener(MouseEvent.CLICK,closephoto);
//if (photo_bit != null)
          // stage.removeChild(photo_bit);
private function cleartween(e:TweenEvent):void
arraytween=[];
thats all of it.. my specific problem can be seen at www.bradleyferguson.com
play around with the 1st gallery which is located under portfolio and is in red.. you'll see what im talking about.

the problem is this line of code ...
if(photo_bit.stage)
stage.removeChild(photo_bit);
it says that it is a null reference when i click on a button, but when i click on the screen it works without error.. it also works when i click on the portfolio button, but like i said when i click on any other button i get an error.

Similar Messages

  • Flash & xml gallery problem

    i have a flash & xml gallery source. whatever click the
    thumbnails, opening first image. where is the problem? i need help,
    please...
    Flash & Xml
    Gallery

    then that's a problem. sometimes your cookie may loaded
    sooner than the needed frame in your swf and when you try to go to
    a frame that hasn't been downloaded, the swf will stay on frame 1.
    i assume you already have a stop() on frame 1 and you check
    the cookie's value before proceeding. in addition to waiting for
    the cookie to load, you should wait for the needed frame of your
    swf to load.
    so, if you're not using a loop now to check for your cookie,
    you'll need one for your swf to check its _framesloaded property
    before advancing the timeline.

  • Clear loaded pictures in xml gallery to load another set

    i cannot figure how to unload my already populated xml gallery, before loading new content :
    here the functions i want :
    //following 2 functions will be called by a button :
    // removes previously placed objects
    function clearLoadedPictures():void {
    // Load another ,xml to load new pictures set - ok : works fine
    function LoadNewPictures():void {
            i_g = 0;
               // xml data
                var xml_gallery:XML                = new XML();
                var xml_gallery_List:XMLList        = new XMLList;
                // XML data loader...
                var xmlUrlReq:URLRequest   = new URLRequest("xml/gallery2.xml");// gallery2.xml will replace gallery.xml already loaded
                var xml_gallery_UrlLoader:URLLoader = new URLLoader(xmlUrlReq);
                xml_gallery_UrlLoader.addEventListener(Event.COMPLETE, xml_gallery_Complete);
                xml_gallery_UrlLoader.addEventListener(IOErrorEvent.IO_ERROR, xml_gallery_LoadFailed);
    here the xml gallery code :
    var _mc:item;
    var total:int;
    var i_g:int;
    var id:int;
    var btn_Gallery_Ready:Boolean;
    var speedX:Number;
    var spaceR:Number;
    var img_gallery_Loader:Loader;
    i_g = 0;
               // xml data
                var xml_gallery:XML                = new XML();
                var xml_gallery_List:XMLList        = new XMLList;
                // XML data loader...
                var xmlUrlReq:URLRequest   = new URLRequest("xml/gallery.xml");
                var xml_gallery_UrlLoader:URLLoader = new URLLoader(xmlUrlReq);
                xml_gallery_UrlLoader.addEventListener(Event.COMPLETE, xml_gallery_Complete);
                xml_gallery_UrlLoader.addEventListener(IOErrorEvent.IO_ERROR, xml_gallery_LoadFailed);
                bottom24.gallery.content_mc.addEventListener(MouseEvent.ROLL_OVER, startScroll);
                bottom24.gallery.content_mc.addEventListener(MouseEvent.ROLL_OUT, stopScroll); //
    // xmlComplete function
            function xml_gallery_Complete(e:Event):void
            xml_gallery = XML(e.target.data); //
                xml_gallery_List = xml_gallery.item;  // <item> in gallery.xml
                total = xml_gallery_List.length();
                spaceR = xml_gallery.attribute("space"); // specified in gallery.xml file as is : <gallery space="119" speed="0.2">
                speedX = xml_gallery.attribute("speed");
                init_gallery();
            function xml_gallery_LoadFailed(e:IOErrorEvent):void {
                trace("Load Failed: " + e);
            function init_gallery()  //
                //bottom.gallery.content_mc.itemHolder_mc.
                _mc = new item(); //
                _mc.alpha = 0;
                //_mc.imgMask_mc.scaleY = 0;  // condition pour apparition des timbres ds la gallery - OLD
                _mc.imgMask_mc.alpha = 0; // condition pour apparition des timbres ds la gallery - NEW
                _mc.x = i_g * spaceR;
                _mc.btn.id = i_g;
                _mc.btn.mouseChildren = false;
                bottom24.gallery.content_mc.itemHolder_mc.addChild(_mc);
                Tweener.addTween(_mc, {alpha:1, time:0.8, transition:"easeOutExpo"});
                _mc.online_mc.alpha = 0; //invisible sans roll over
                if (xml_gallery_List[i_g].url != "")
                    _mc.btn.buttonMode = true;
                    _mc.online_mc.visible = true;
                    btn_Gallery_Ready = true;
                else
                    _mc.btn.buttonMode = false;
                    _mc.online_mc.visible = false;
                    btn_Gallery_Ready = false;
            var imgRequest:URLRequest = new URLRequest (xml_gallery_List[i_g].image); //
             img_gallery_Loader = new Loader(); // var imgLoader:Loader;
                img_gallery_Loader.load(imgRequest); //
                img_gallery_Loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, imgLoading);
                img_gallery_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, img_gallery_Complete);
                i_g++;
            function imgLoading(event:ProgressEvent):void // tiny preloader in bottom thumbs pics
        _mc.preloader_mc.width = Math.round(img_gallery_Loader.contentLoaderInfo.bytesLoaded / img_gallery_Loader.contentLoaderInfo.bytesTotal * 100);
            function img_gallery_Complete(event:Event):void
                _mc.imgHolder_mc.addChild(img_gallery_Loader);
                Tweener.addTween(_mc.imgHolder_mc, {_saturation:0.9, time:0.6});// desaturate scrolling thumbs
                //_mc.imgHolder_mc.alpha = 0.5; // test
                // apparition des timbres ds la gallery, ici fade in : - NEW
                Tweener.addTween(_mc.imgMask_mc, {"alpha":1, delay:i_g / 20, time:0.4, transition:"easeOutExpo"});// test
                // apparition des timbres ds la gallery, ici image apparait de haut en bas : - OLD
                //Tweener.addTween(_mc.imgMask_mc, {"scaleY":1, delay:i_g / 10, time:1, transition:"easeOutExpo"});
                // la ligne de preloader qui diminue vers la gauche :
                Tweener.addTween(_mc.preloader_mc, {"scaleX":0, delay:0, time:1, transition:"easeOutExpo"});
                _mc.btn.addEventListener(MouseEvent.ROLL_OVER, onMouseOver);
                _mc.btn.addEventListener(MouseEvent.ROLL_OUT, onMouseOut);
                _mc.btn.addEventListener(MouseEvent.CLICK, onMouseClick);
                if (i_g < total)
                    init_gallery();
    thanks

    hi,
    back to work,
    then i used a loop in the first clear function:
    var n:int = 0;
                  while (n < xml_gallery_List.length() -1) {
                      bottom24.gallery.content_mc.itemHolder_mc.removeChildAt(n); //
                    i++;
    and it remove all my previously loaded pictures,but it throw me an error :
    RangeError: Error #2006: The supplied index is out of bounds.
    at flash.display: DisplayObjectContainer/removeChildAt()
    it seems error come from the removeChildAt, but i can't figure out what's wrong
    i've tried to replace removeChildAt(n); by removeChild(n); and the loop crash Flash software....
    any suggestion ?

  • I need help with XML Gallery Fade in out transition. somebody please help me :(

    I need help with XML Gallery Fade in out transition. somebody please help me
    I have my post dont want to duplicate it

    The problem doesn't lie with your feed, although it does contain an error - you have given a non-existent sub-category. You need to stick to the categories and sub-categories listed here:
    http://www.apple.com/itunes/podcasts/specs.html#categories
    Subscribing to your feed from the iTunes Store page work as such, but the episodes throw up an error message. The problem lies with your episode media files: you are trying to stream them. Pasting the URL into a browser produces a download (where it should play the file) of a small file which does not play and in fact is a text file containing (in the case of ep.2) this:
    [Reference]
    Ref1=http://stream.riverratdoc.com/RiverratDoc/episode2.mp3?MSWMExt=.asf
    Ref2=http://70.33.177.247:80/RiverratDoc/episode2.mp3?MSWMExt=.asf
    You must provide a direct link to the actual mp3 file. Streaming won't work. The test is that if you paste the URL of the media file (as given in the feed) into the address bar of a browser it should play the file.

  • Xml gallery with thumbnails & next/previous buttons.

    hallo all the wise people,
    sorry to bother you, but i'm kind of desperate, and nobody around to ask, so....
    i've spend now three full days editing an xml gallery... to my needs, and always goes messy, so maybe it's time give up and make my own from the scratch, or looking from a one closer to my needs =/ (helpless).
    could anyone help - maybe any of you by some chance knows a link as close as possible to tutorial/source as3 fla to sthg as close as possible to this:
    a) xml gallery
    b) thumbnails
    c) when thumbnail clicked a big picture shows
    d) next/previous buttons possible
    otherwise, i can also post the code of my gallery where i absolutely can't add next/previous buttons without making a big mess =/
    i will be totally youbie doubie grateful for any help... any, if you only know any good link, 'll try to fugure out a tutorial or edit the source myself....
    thanks in advance

    heyyyo wise one,
    at least this is really  nice of you to ask -  this gallery really makes me by now feel twice as blond as i am 8-0. but this is kinda really nested.
    the xml structure goes like this (this is easy and more or, less standard)(Caption is neglectable, probabaly i will not even display it, unless i have some extra time):
    <MenuItem>
             <picnum>01</picnum>
             <thumb>thumbs/Image00001.jpg</thumb>  
             <picture>Image00001.jpg</picture>
       <Caption>Fist Title</Caption> 
    </MenuItem>
    uaaha, then the as goes. there is the URLloader, but also two different loaders inside (one for the thumbnails, one for the big picture). and this is all inside a for each loop -eh... i was always trying to change the pictLdr behavior - the loader, that loads the big picture.
    anyway the URL loader, and the main function, which is attached to it go like this:
    var myXML:XML = new XML();
    var XML_URL:String = "gallery_config.xml";
    var myXMLURL:URLRequest = new URLRequest(XML_URL);
    var myLoader:URLLoader = new URLLoader(myXMLURL);
    myLoader.addEventListener("complete", xmlLoaded);
    // Create the xmlLoaded function
    function xmlLoaded(event:Event):void
    // Place the xml data into the myXML object
        myXML = XML(myLoader.data);
        // Initialize and give var name to the new external XMLDocument
    var xmlDoc:XMLDocument = new XMLDocument();
    // Ignore spacing around nodes
        xmlDoc.ignoreWhite = true;
    // Define a new name for the loaded XML that is the data in myLoader
        var menuXML:XML = XML(myLoader.data);
    // Parse the XML data into a readable format
        xmlDoc.parseXML(menuXML.toXMLString());
        // Access the value of the "galleryFolder" node in our external XML file
    for each (var galleryFolder:XML in myXML..galleryFolder)
       // Access the value of the "pagenum" node in our external XML file
               var galleryDir:String = galleryFolder.toString();
    //trace (galleryDir);
    //trace (galleryFolder);//output taki sam jak powyżej
    // inicjuję variable flag, która bedzie trzsymac nazwę klikniętego thumbnail
    var flag2:String = null;
    // Set the index number of our loop, increments automatically
    var i:Number = 0;
    // Run the "for each" loop to iterate through all of the menu items listed in the external XML file
    for each (var MenuItem:XML in myXML..MenuItem)
    // Access the value of the "picnum" node in our external XML file
        var picnum:String = MenuItem.picnum.toString();
    // Access the value of the "pagetext" node in our external XML file
        var Caption:String = MenuItem.Caption.toString();
    // Access the value of the "thumb" node in our external XML file
        var thumb:String = MenuItem.thumb.toString();
    // Access the value of the "pagepicture" node in our external XML file
        var picture:String = MenuItem.picture.toString();
    // Just some trace I used for testing, tracing helps debug and fix errors
    //trace(picnum);
    var thumbLdr:Loader = new Loader();
        var thumbURLReq:URLRequest = new URLRequest(galleryDir + thumb);
        thumbLdr.load(thumbURLReq);
    // Create MovieClip holder for each thumb
    var thumb_mc = new MovieClip();
    thumb_mc.addChild(thumbLdr);
    addChildAt(thumb_mc, 1);
      // Create the rectangle used for the clickable button we will place over each thumb
      var rect:Shape = new Shape;
      rect.graphics.beginFill(0xFFFFFF);
      rect.graphics.lineStyle(1, 0x999999);
      rect.graphics.drawRect(0, 0, 80, 80);      
      // Create MovieClip holder for each button, and put that rectangle in it,
      // make button mode true and set it to invisible
      var clip_mc = new MovieClip();
      clip_mc.addChild(rect);
      addChild(clip_mc);
      clip_mc.buttonMode = true;
      clip_mc.alpha = .0;
         // The following four conditionals create the images where the images will live on stage
      // by adjusting math through each row we make sure they are laid out good and not stacked
      // all on top of one another, or spread out in one long row, we need 4 rows, so the math follows
      if (picnum < "05")
           line1xpos = line1xpos + distance; // These lines place row 1 on stage
        clip_mc.x = line1xpos;
        clip_mc.y = yPlacement;
        thumb_mc.x = line1xpos;
        thumb_mc.y = yPlacement;
       else  if (picnum > "04" && picnum < "11")
        line2xpos = line2xpos + distance; // These lines place row 2 on stage  
        clip_mc.x = line2xpos;
        clip_mc.y = 86;
        thumb_mc.x = line2xpos;
        thumb_mc.y = 86;
       else  if (picnum > "10" && picnum < "14")
        line3xpos = line3xpos + distance; // These lines place row 3 on stage
        clip_mc.x = line3xpos;
        clip_mc.y = 172;
        thumb_mc.x = line3xpos;
        thumb_mc.y = 172;
       else  if (picnum > "13" && picnum < "21")
       line4xpos = line4xpos + distance; // These lines place row 4 on stage
       clip_mc.x = line4xpos;
       clip_mc.y = 258;
       thumb_mc.x = line4xpos;
       thumb_mc.y = 258;
       // And now we create the pic loader for the larger images, and load it into "pictLdr"
       var pictLdr:Loader = new Loader();
       var pictURL:String = picture;
          var pictURLReq:URLRequest = new URLRequest(galleryDir + picture);
       //var pictURLReq:URLRequest = new URLRequest("gallery/Image00004.jpg");sprawia,ze zawsze wyswitla sie jeden obrazek
          pictLdr.load(pictURLReq);
       // Access the pic value and ready it for setting up the Click listener, and function
          clip_mc.clickToPic = pictLdr;
       // Access the text value and ready it for setting up the Click listener, and function
       clip_mc.clickToText = Caption;
       //var instName:String = flag();
       // Add the mouse event listener to the moviClip button for clicking
          clip_mc.addEventListener (MouseEvent.CLICK, clipClick);
          // Set the function for what happens when that button gets clicked
       function clipClick(e:Event):void
         // Populate the parent clip named frameSlide with all of the necessary data
         MovieClip(parent).frameSlide.gotoAndPlay("show"); // Makes it appear(slide down)
         MovieClip(parent).frameSlide.caption_txt.text = e.target.clickToText; // Adds the caption
         MovieClip(parent).frameSlide.frame_mc.addChild(e.target.clickToPic); // Adds the big pic
       } // This closes the "for each" loop
    } // And this closes the xmlLoaded function
    and the effect looks like this (it's a sketch, so big pictures are loaded randomly, don;t put too much attention to it): http://bangbangdesign.pl/xmlGallery/gallery29.swf
    but i guess it's a terrible stuff to go through all this. i would be totallly satisfied with a likng to a good tutorial to do it from scratch, or just a hint where to start rebuilding this.
    + in any case i send greetinngs to whereever you are =]

  • Xml gallery alignment, help

    I am making an XML gallery with thumbnails. It is working fine, but I have a problem with alignment of the images. All the large images are loading into the top left corner. I would like them to load with center alignment for all images. I don't know anything about Action Script. The way I made this website was to use already made sample of some one else. Can you help me to figure out this alignment problem? Again, I am very bad at Action Script, so it would be great if you can show me the actual coding for this to work.
    Here is the sample gallery: http://www.chimeddorj.com
    Here goes the Sript>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    RemoveAllThumbs.onLoad = function(){
    removeAllThumbs()
    //init global variables and properties
    Stage.scaleMode = "noscale";
    import gs.TweenFilterLite;
    import gs.TweenLite;
    XML LOADING
    //handle loading of external images..
    var slide:XML = new XML();
    slide.ignoreWhite = true;
    var largeImageUrl:Array = new Array();
    var thumbUrl:Array = new Array();
    var captions:Array = new Array();//not used
    var p:Number = 0;//tracks position in arrays
    /*!!!!if you want to load in another XML file, make sure you clear the existing thumbnails
    by calling the removeAllThumbs() function first!*/
    slide.onLoad = function() {
    largeImageUrl = [];
    thumbUrl = [];
    captions =  [];
    xmlNode = this.firstChild;
    var images:Array = this.firstChild.childNodes;
    for (i=0; i<images.length; i++) {
    thumbUrl[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
    largeImageUrl[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
    captions[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
    p = 0;//reset p for different gallery loading
    //create a bg clip for the thumbsTrack. Enables padding between images to work correctly
    thumbMask_mc.thumbBox_mc.createEmptyMovieClip("thumbTrackBg",1);
    thumbMask_mc.thumbBox_mc.thumbTrackBg.beginFill(0x000000,20);
    thumbMask_mc.thumbBox_mc.thumbTrackBg.moveTo(thumbMask_mc.thumbBox_mc._x,thumbMask_mc.thum bBox_mc._y);
    thumbMask_mc.thumbBox_mc.thumbTrackBg.lineTo(thumbMask_mc.thumbBox_mc._x+thumbMask_mc.thum bBox_mc._width,thumbMask_mc.thumbBox_mc._y);
    thumbMask_mc.thumbBox_mc.thumbTrackBg.lineTo(thumbMask_mc.thumbBox_mc._x+thumbMask_mc.thum bBox_mc._width,thumbMask_mc.thumbBox_mc._y+thumbMask_mc.thumbBox_mc._height);
    thumbMask_mc.thumbBox_mc.thumbTrackBg.lineTo(thumbMask_mc.thumbBox_mc._x,thumbMask_mc.thum bBox_mc._y+thumbMask_mc.thumbBox_mc._height);
    thumbMask_mc.thumbBox_mc.thumbTrackBg.lineTo(thumbMask_mc.thumbBox_mc._x,thumbMask_mc.thum bBox_mc._y);
    thumbMask_mc.thumbBox_mc.thumbTrackBg.endFill();
    //load the thumbs
    loadThumbs();
    Mouse.removeListener(mouseListener);//kill the mouselistener if it is added
    slide.load("paintings.xml");//load xml
    var imageWidth:Number = 0;//default x position of our movieclips relative to containing movieclip
    var buffer:Number = 20;//padding between images
    var thumbsToShow:Number = 5//
    LOAD THUMBNAILS, ADD ACTIONS & PADDING TO THUMBS
    //here we load in our thumbnails
    function loadThumbs() {
    //remove the movieclip loade listener on each iteration of this function
    Clip.removeListener(mclListener);
    //attach and associate with a variable a MC to hold each loaded movieClip
    var container:MovieClip = thumbMask_mc.thumbBox_mc.attachMovie("thumbBox", "thumbBox"+p, thumbMask_mc.thumbBox_mc.getNextHighestDepth(), {_x:imageWidth, _y:0});
    //create a movieclip loader
    var Clip:MovieClipLoader = new MovieClipLoader();
    var mclListener:Object = new Object();
    mclListener.onLoadStart = function(target_mc:MovieClip) {
    target_mc._alpha = 0;//set thumb alpha to be zero
    //handle loading progress - simple counter here
    mclListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void  {
    //use this if you want to indicate loading of your thumbnails etc...
    //loadTxt.captions_txt.text = Math.floor(bytesLoaded/bytesTotal*100)+"%";
    mclListener.onLoadInit = function(target_mc:MovieClip) {
    //here we can access our loaded clips properties!
    //here is where we attach functions to our clip so that we can dynamically create rollovers etc.
    //make our thumbnails visible again
    TweenLite.to(target_mc, 2, {_alpha:100});
    //based off image width this places our thumbs next to each other
    imageWidth = (imageWidth+target_mc._width)+buffer;
    //associate a variable here with our p value, we use this later to load in large images
    target_mc.pictureValue = p;
    //handle  image rollovers these are active only on the thumb image!!! Watch the US spelling!
    target_mc.onRollOver = function() {
    TweenFilterLite.to(target_mc,.4,{type:"Color", brightness:1.5, ease:None.easeOut});
    target_mc.onRollOut = function() {
    TweenFilterLite.to(target_mc,4,{type:"Color", brightness:1, ease:None.easeOut});
    //handle a click on a thumbnail
    target_mc.onRelease = function() {
    //load large images
    mcLoader.loadClip(largeImageUrl[target_mc.pictureValue],largeImage_mc);
    caption.text = captions[target_mc.pictureValue];;
    p++;//increment value to cycle through array
    if (p<thumbUrl.length) {
    loadThumbs();//create loop
    if (p == thumbUrl.length) {
    /*we set this variable here because this is where we know the length of our thumbnails containing mc.
    After we have loaded all content in. Makes sense really!*/
    mcWidth = thumbMask_mc.thumbBox_mc._width;
    //adjust the width and height of the thumbstrack bg clip
    thumbMask_mc.thumbBox_mc.thumbTrackBg._width = mcWidth;
    thumbMask_mc.thumbBox_mc.thumbTrackBg._height = thumbMask_mc.thumbBox_mc._height
    /*add the mouse listener object to the thumbnail mask. We do this element of our script here so
    we do not enable scrolling of our mc before the images have all loaded in. As this can look a little funny*/
    Mouse.addListener(mouseListener);
    //load in the next thumb
    Clip.addListener(mclListener);
    Clip.loadClip(thumbUrl[p],container);
    REMOVE ALL THUMBS METHOD
    //Use to clear old thumbs if you are going to add in a new set of thumbs
    function removeAllThumbs():Void {
    for (var i in thumbMask_mc.thumbBox_mc) {
    if (typeof (thumbMask_mc.thumbBox_mc[i]) == "movieclip") {
    removeMovieClip(thumbMask_mc.thumbBox_mc.getInstanceAtDepth(thumbMask_mc.thumbBox_mc[i].ge tDepth()));
    thumbMask_mc.thumbBox_mc._width = thumbMask_mc._width
    /*sampleRemoveAllButton.onRelease = function(){
    removeAllThumbs()
    LOAD LARGE IMAGES MOVIECLIP LOADER FUNCTION
    /*generic load object here we handle loading in external images etc
    this block of code loads the large images into the bright blue mc
    for instance, you could fade in/out big images or make a progress indicator
    using this block of script*/
    var mcLoader:MovieClipLoader = new MovieClipLoader();
    var listener:Object = new Object();
    listener.onLoadStart = function(target_mc:MovieClip) {
    //empty
    listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void  {
    //amountLoaded = Math.floor((bytesLoaded/bytesTotal)*100);//calulate a loading percentage!
    listener.onLoadInit = function(target:MovieClip):Void  {
    //empty
    mcLoader.addListener(listener);
    MOUSE LISTENER
    //this handles the panning of the thumbnails
    mouseListener = new Object();
    mouseListener.onMouseMove = function() {
    if (thumbMask_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
    maskOver();//call the scroll function
    SCROLLER FUNCTION
    var scrollSpeed:Number = 5;
    var halfMaskWidth:Number = thumbMask_mc._width/2;
    var npixels:Number;
    var mcWidth:Number = thumbMask_mc.thumbBox_mc._width;
    var maskWidth:Number = Math.floor(thumbMask_mc._width);
    function slideThumbs() {
    // stop scrolling if we are off the mask and delete the enterframe event
    if (!thumbMask_mc.thumbBox_mc.hitTest(_root._xmouse, _root._ymouse, true)) {
    delete this.onEnterFrame;
    // mouse over left half of slider:
    if (thumbMask_mc._xmouse>0 && thumbMask_mc._xmouse<thumbMask_mc._x+halfMaskWidth) {
    npixels = (halfMaskWidth-thumbMask_mc._xmouse)/halfMaskWidth*scrollSpeed;
    thumbMask_mc.thumbBox_mc._x += npixels;
    //stop sliding too far to the left
    if (thumbMask_mc.thumbBox_mc._x>=0) {
    thumbMask_mc.thumbBox_mc._x = 0;
    delete this.onEnterFrame;
    // mouse over right half of slider:
    if (thumbMask_mc._xmouse>halfMaskWidth && thumbMask_mc._xmouse<thumbMask_mc._x+thumbMask_mc._width) {
    npixels = (thumbMask_mc._xmouse-halfMaskWidth)/halfMaskWidth*scrollSpeed;
    thumbMask_mc.thumbBox_mc._x -= npixels;
    //stop sliding too far to the right
    if (thumbMask_mc.thumbBox_mc._x<=-(mcWidth-maskWidth)) {
    thumbMask_mc.thumbBox_mc._x = -(mcWidth-maskWidth);
    delete this.onEnterFrame;
    //function to do the scrolling man!
    function maskOver() {
    this.onEnterFrame = function() {
    slideThumbs();

    I am using Flash CS 4, like I mentioned earlier, I am making this site on some one's pre-made flash file. There is a movie symbol for loading the large images (called largeImage_mc). I resized this movie clip to 550x450 px (landscape). And positioned it at X=200 Y=0 (top left corner registration point or the anchor point).
    The movie clip could be dragged to any position. But images that are loaded into this bo is always aligning to the top left corner of this movie symbol.
    If I calculate the actual center of this image loading area (regarding its position on the window), it would be x=425, y=225.
    I hope my writing makes sence.
    actual site: www.chimeddorj.com

  • XML GALLERY WONT EXIT

    I have an XML gallery that has been giving me some problems. My as3 refers to an .as file that is in itself a class. This class creates the gallery and has an event listener to exit the gallery when clicked. It works perfectly fine for exiting the main image, but my thumbnails don't budge. I fixed the thumbnail issue by adding the code removeChild, which removes the gallery completely, but freezes the main image. What I think is happening is that when I add the code removeChild it disables any communication between my swf and as files, which in turn skips over the eventListener to remove my main image.. the code is kind of long and complicated, but i was hoping for some advice.. tips.. anything.

    thanks for the help!!
    I'm still getting an error 2007 non null object, even though i declared it in same style in which i declared photo_bit.
    take the following code for example...
    stage.removeChild(stage.getChildByName("photo_bit"));
    stage.removeChild(stage.getChildByName("thumb_btn"));
    stage.removeChild(stage.getChildByName("thumb_bit"));
    and yes I added it to my .as file
    private function displaythumb(e:Event):void
         thumb_btn = new Sprite();
         thumb_bit= new Bitmap();
         thumb_btn.name="thumb_btn";
         thumb_bit.name="thumb_bit";
         thumb_btn.y=(stage.stageHeight-thumb_btn.height)/1.25;
         thumb_btn.graphics.beginFill(0x000000,0);
         thumb_btn.graphics.drawRect(0,0,125,125);
         thumb_btn.graphics.endFill();
         thumb_bit=e.target.content as Bitmap;
         thumb_bit.y=(stage.stageHeight-thumb_bit.height)/1.045;
         thumb_btn.width=thumb_btn.height=thumb_bit.width=thumb_bit.height=125;
         thumb_bit.smoothing=true;
         addChild(thumb_bit);
         addChild(thumb_btn);
         thumb_btn.addEventListener(MouseEvent.CLICK,loadphoto);

  • Xml gallery problem??

    I´m using a xml gallery with thumbs . I tried several
    things but can´t get it work. I want to add links in the
    textfield. The text in the textfield comes from a .txt file and xml
    file. I dont know if it´s possible to add links in .txt files
    or if there is any other way to open urls with links for the
    different images.
    I hope someone can help me with this..
    file included...
    http://www.robertr.se/flash/portfoliopage.zip
    207 kb
    Very best regards
    /Robert

    I'm not really sure what you are trying to do. I dont know
    what you are trying to make a link out of....
    However if you have a movieclip called myPic, and you want it
    to link to one of your urls loaded from the xml or a .txt file
    myLink= whatever your loaded link from xml or .txt is;
    myPic.onRelease=function(){
    getURL(myLink,blank);}

  • Question on an xml gallery

    I've got an xml gallery that i've built in flash...
    everything works just fine- but i'm now trying to build an
    alternate gallery and I'm in a bit over my head.
    Here are the nodes I have in my xml:
    <pic>
    <image></image>
    <caption></caption>
    <thumbnail></thumbnail>
    <projname></projname>
    <subtitle></subtitle>
    <view></view>
    </pic>
    from there: the thumnails layout- the image, and copy display
    on rollOver of the thumbs...
    for my alternate gallery- I want the same layout- however for
    example a 'web' category, i only want the 'web' thumbnails to work-
    and still have the rest of the gallery load an alternate thumbnail-
    that is a grayscale version of the original- and i want it to do
    absolutely nothing but sit there. I have created alternate gray
    versions of the images and they load fine...
    obviously leaving out the nodes i don't want stops the xml
    from loading... and leaving them blank returns an 'undefined' in my
    dynamic text boxes.
    i haven't had to tackle something like this in the past and
    i'm not sure where to start-
    would it work to have a category node and then an if/else
    statement leaving specified categories rollOver states .enabled =
    false; ?
    if anyone has any ideas - i'm just not sure where to go from
    here.
    thanks!

    any type of filtering through XML CAN be done through flash,
    or parsed in the asp/php file that is generated, but modifying the
    SQL statement that creates your initial data is the real way to
    handle your issue.
    If you do end up parsing all the XML in flash alone, you'll
    do a lot more work, but you'll probably have to split up your XML
    into seperate objects via catagory. (or write if statements to
    ignore empty nodes).

  • Updating xml gallery

    hi! i was woundering if anyone can help me with an xml
    gallery. i have one created and it displays the pictures fine, but
    i would like one which i would not have to edit the xml file to add
    new images into, so the gallery updates itself everytime a new
    image is placed into the folder.
    is this possible or am i stuck with having to edit the xml
    file myself everytime?

    Possible but to update the xml you will need additional -
    server side - software like ASP, PHP, CF, Java.

  • XML Gallery: Change from MouseEvent to automatic?

    I am trying to edit an old XML gallery that I made so that it will scroll through the images automatically, without any user interaction at all. Currently it's set to scroll through them one at a time and is controlled by mouse clicks. I can't figure out how to change it. Any help would be greatly appreciated!!
    Here's my code:
    var xmlRequest:URLRequest = new URLRequest("homeImages.xml");
    var xmlLoader:URLLoader = new URLLoader(xmlRequest);
    var imgData:XML;
    var imageLoader:Loader;
    var rawImage:String;
    var rawH:String;
    var rawW:String;
    var imgNum:Number = 0;
    var checkSec:Timer = new Timer(100);
    var numberOfChildren:Number;
    xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
    Images_mc.addEventListener(MouseEvent.CLICK, nextImgF);
    Images_mc.buttonMode = true;
    function xmlLoaded(event:Event):void
    checkSec.start();
    checkSec.addEventListener(TimerEvent.TIMER, checkerF);
    imgData = new XML(event.target.data);
    function packagedF():void
    checkSec.removeEventListener(TimerEvent.TIMER, checkerF);
    rawImage = imgData.image[imgNum].imgURL;
    numberOfChildren = imgData.*.length();
    rawW = imgData.image[imgNum].imgW;
    rawH = imgData.image[imgNum].imgH;
    imageLoader = new Loader;
    imageLoader.load(new URLRequest(rawImage));
    Images_mc.addChild(imageLoader);
    imageLoader.x = (Images_mc.width - Number(rawW)) /2;
    imageLoader.y = (Images_mc.height - Number(rawH)) /2;
    function checkerF(event:TimerEvent):void
    if(imgNum == 0)
      packagedF();
    else if(imgNum < numberOfChildren)
      imageLoader.unload();
      packagedF();
    else
      imageLoader.unload();
      imgNum = 0;
      packagedF();
    function nextImgF(event:MouseEvent):void
    checkSec.addEventListener(TimerEvent.TIMER, checkerF);
    imgNum++;

    You should be able to incorporate a second Timer object that you use for the automatic advancing....
    var autoTimer:Timer = new Timer(2000); // adjust for desired msec
    autoTimer.addEventListener(TimerEvent.TIMER, nextImgF);
    Since you are loading images with each call to that function, you may end up needing to incorporate more control of the timer and not have it firing repeatedly on its own, which means adding a listener for loading completion, putting a limit on the number of repeats to once, and assign a new Timer each time thru... var autoTimer:Timer;  .... autoTimer = new Timer(2000, 1);....

  • XML Gallery not found

    I have no less than 8 hours in google search and currently 5 adobe forum tabs open to determine how to solve the "XML Gallery not found" error. Many of us use Lightroom to create a flash web gallery.  We save it. We import it into dreamweaver into an existing page that has 5 table elements - by doing the insert / media / swf  and point to the swf file of the flash web gallery we just created....and see a nice gray insert with a flash symbol.. we upload it from dreamweaver to the site. At the site the page loads - the tables in the page loads - and the table element that contains the flash gallary - has a note that says  "XML gallery not found". Curiously - if I insert a hyperlink in a table on the page and make the link to the index.swf file - when I click the hyperlink a new page with that flash gallery loads and plays. The hyperlink gets there - the embed media in a table does not... Can anyone reference a solution that works? thanks in advance...  I see many people asking this type of question and have not found a searchable answer.  PS - I am stating this catagorically so the answer gods will work harder to quickly prove me wrong!~  please make me look really dumb and show me a link to the answer :L best - Keith

    Hi
    The answer is quite simple, the linking to the xml file is wrong for your dreamweaver page, (the swf file if opened separately will find the xml file).
    Create yout dreamweaver html page in exactly the same file position as your swf file, if this is not possible then you will have to do this the reverse way, create the swf/xml file in the same position as your html page.
    PZ

  • XML Gallery won't work remotely - Action Script issues

    I created an XML scrolling thumbnail gallery using a
    tutorial
    found here
    I then had to alter the action script to get my thumbnails to
    display properly -- they were spaced out or overlapping each other
    and not in the sequence specified in the XML file. The new code
    works great locally, but the thumbnails and larger image refuse to
    load remotely in every browser i've tried. Any thoughts on how to
    alter the action script to load the gallery?!?! I'm not much
    experienced in Flash so any help would be most appreciated.
    You can find the page with my unloadable gallery
    here
    You can see my action script in my
    Flash
    CS3 file
    Thanks!
    Joe.

    Hi --
    I clicked on the link for your gallery and the images load??
    Both when I
    click on the image or when I click the "next" and "previous"
    buttons --
    although the "hit" area for the buttons is below the actual
    text so you
    should adjust that on those buttons. I would also recommend
    not making the
    text selectable so the cursor won't change to the "I bar"
    Rich
    "joesavy" <[email protected]> wrote in
    message
    news:fcp3qi$4ak$[email protected]..
    >I created an XML scrolling thumbnail gallery using a
    >
    http://www.kirupa.com/developer/mx2004/thumbnails.htm
    >
    > I then had to alter the action script to get my
    thumbnails to display
    > properly
    > -- they were spaced out or overlapping each other and
    not in the sequence
    > specified in the XML file. The new code works great
    locally, but the
    > thumbnails
    > and larger image refuse to load remotely in every
    browser i've tried. Any
    > thoughts on how to alter the action script to load the
    gallery?!?! I'm not
    > much
    > experienced in Flash so any help would be most
    appreciated.
    >
    > You can find the page with my unloadable gallery
    >
    http://www.sullivancreative.com/clients/se-07-7-24/se_website/gallery.html
    >
    > You can see my action script in my
    >
    http://www.sullivancreative.com/clients/se-07-7-24/se_website/xml_photogallery_s
    > crollthms_fix.fla
    >
    > Thanks!
    > Joe.
    >
    >

  • Need help with this xml gallery !!!

    i have build a gallery but its very simple...... it takes images from xml file.
    i have attached all files in zip.
    i just want two things if anyone can help.
    first when i press next button it goes to next image but with no effect. it just displays next image ... i want to incorporate a sliding effect when the image is changed to another.
    and second i want to use autoplay feature.
    as soon as swf starts the images came one by one with difference of few seconds.
    thx in advance... i really need help in this....!

    You're welcome.
    I don't have an example to offer for the autorun.  You should be able to think it thru.  One key, as I mentioned is to preload all of the images first, that will allow for smooth playing of the show--no waiting for images to load between changes.  You can load them into empty movieclips and hide them (_viisible = false) until they are needed.  You could load them when called for, but you would have to put conditions on the displaying of things until the image loads, which will change when they are all loaded, so I recommend just loading them all first.
    For the timing you can use setInterval.  If something is going to be allowed to interupt the autorun, then you will need to make use of the clearInterval function as well, so that you stop the clock.
    Since you will be wanting to know when things are loaded, you will need to use the MovieClipLoader.loadClip method for loading the images instead of using loadMovie.  This is because the MovieClipLoader class supports having an event listener.  If you look in the help documents in the MovieClipLoader.addListener section, there is an example there that provides a fairly good complete overview of using the code.  The only difference is you'd be looking for the onLoadComplete event rather than the onLoadInit event.

  • Making a very bespoke xml gallery

    Hello people :-)
    Having come up with a new design for my friend's jewellery
    website that I'm building in xhtml and CSS, I've decided to go for
    flash for the gallery in order to keep it fully updatable.
    Mock
    up design here
    There are eventually going to be many categories and new
    items of jewellery added on a fairly regular basis, hence the need
    for scrolling on both the categories and the thumbnails sections.
    Each section, sub section etc would need to be infinitely updatable
    (within reason!)
    Now I've built really simple xml galleries before, nothing on
    this scale. Perhaps someone could point me in the direction of a
    tutorial for a gallery similar to this one? It would have to be
    almost identical for me to be able to be able to adapt it to my
    design as I just don't have the in depth knowledge of this stuff to
    make massive additions or changes and i'm really pushed for time.
    Was thinking maybe there's some kind of template around I could
    adapt - I've done countless searches on this type of thing but
    can't find anything similar enough! Or maybe even someone here
    could have a go at it for a fee?!!
    Hopefully it's clear enough from the jpg what needs to happen
    and where...
    Any suggestions very much appreciated!
    Pat

    Hello people :-)
    Having come up with a new design for my friend's jewellery
    website that I'm building in xhtml and CSS, I've decided to go for
    flash for the gallery in order to keep it fully updatable.
    Mock
    up design here
    There are eventually going to be many categories and new
    items of jewellery added on a fairly regular basis, hence the need
    for scrolling on both the categories and the thumbnails sections.
    Each section, sub section etc would need to be infinitely updatable
    (within reason!)
    Now I've built really simple xml galleries before, nothing on
    this scale. Perhaps someone could point me in the direction of a
    tutorial for a gallery similar to this one? It would have to be
    almost identical for me to be able to be able to adapt it to my
    design as I just don't have the in depth knowledge of this stuff to
    make massive additions or changes and i'm really pushed for time.
    Was thinking maybe there's some kind of template around I could
    adapt - I've done countless searches on this type of thing but
    can't find anything similar enough! Or maybe even someone here
    could have a go at it for a fee?!!
    Hopefully it's clear enough from the jpg what needs to happen
    and where...
    Any suggestions very much appreciated!
    Pat

  • Help with XML gallery

    I have created a picture gallery which is controlled by
    thumbnails. Now I wanted to add a function to open the picture
    showing, in seperate window, when it is clicked on. But I can't
    figure this xml out, someone please help me.

    *BUMP* Anyone!?

Maybe you are looking for

  • Can you control which devices are on network

    Is there an application to control and monitor the Airport Extreme Base Station Network? I'd like to be able to shut down access to, for example, my kids' devices at night without shutting down the whole network.

  • How to Turnoff Drag-n-Drop with BI 7.0

    Hi Experts I am strugling to provide user to access BW reports through Portal. BW Version : 7.0 Step 1: Created a Query in Query Designer. Step 2:  In WAD Using a  Standard Templet Linked Query. (Please advise any standard templete to use in WAD) Ste

  • VM Server got a new IP and hostname. How to update VM Manager?

    Test environment: VM Server 2.2.1 / VM Manager 2.2.0 The VM Server has a number of virtual machines running in it. It is all on 1 physical machine with local disks. Our VM Server now got a new IP-address and hostname after physical move. How to get V

  • Licensing Error 150.30

    I am new to Photoshop Elements and have encountered a problem - I have been asked to restart my computer but the problem still remains.   I am told to contact support and give the following Error number - 150.30 Who can help me? Message title was edi

  • Opening a PDF in director

    I want to be able to open a pdf, and I've searched around. It seems like I have the correct scripting, but nothing happens at all when I click my button? on mouseUp me open File(the moviePath & "PDFs\Blood Pathogens.pdf") end Any suggestions? Thanks!