Skip to main content
Known Participant
February 24, 2012
Answered

Gallery name confusion...

  • February 24, 2012
  • 1 reply
  • 6608 views

Hey im pretty amateur flash user

A few years ago I had someone to build me a gallery, which at that time had to be loaded into my gallery on my portfolio page.

Now i need 2 gallery's in the same flash file, but due to nameing it's not really working and when I try to rename all the variables, function etc. it just comes to a point where there's no error messages left - except my gallery dosen't load.

Since, i'm quite new in flash im not sure exactly what is required to rename when one gallery is being loaded on keyframe 1 and the other on keyframe 2. what's the best way to do this, since I've almost given up.

This is the codes that i guess needs to have unique names:

var galWid:uint=879.95;

var galHei:uint=350;

var galX:Number=200;

var galY:Number=300;

var scale:Number=1.7;

var speed:Number=0.5;

var scrollX:uint=20;

var alignLeft:Boolean=false;

// Disse bliver kun brugt hvis alignLeft er 'true'

// Dete skal angives i ønskede koordinater.

var offsetX:Number = 40;

var offsetY:Number = 160;

import com.greensock.TweenLite;

import com.greensock.OverwriteManager;

import com.greensock.plugins.*;

TweenPlugin.activate([TransformAroundCenterPlugin,AutoAlphaPlugin]);

var loader:URLLoader = new URLLoader();

var images:XML;

var imageArray:Array = new Array();

var imgNum:uint=0;

var imgLen:uint;

var imgX:uint=0;

var curImg:uint;

var exposed:Boolean=false;

OverwriteManager.init(2);

back_btn.x=600

back_btn.y=300

prevBtn.visible=false;

nextBtn.visible=false;

nextBtn.addEventListener(MouseEvent.CLICK, nextImg);

prevBtn.addEventListener(MouseEvent.CLICK, prevImg);

gallery.addEventListener(MouseEvent.MOUSE_MOVE,scrollImage);

gallery.addEventListener(MouseEvent.MOUSE_OUT, offImage);

loader.addEventListener(Event.COMPLETE, setup);

loader.load(new URLRequest("xml/rabitsketch.xml"));

function setup(e:Event):void {

    images=new XML(e.target.data);

    imgLen=images.image.length();

    galMask.width=galWid;

    galMask.height=stage.stageHeight;

    galMask.x=galX;

    galMask.y=stage.stageHeight*0.5;

    gallery.x=galX;

    gallery.y=galY;

    addImage();

}

function addImage():void {

    var img:imgCon = new imgCon();

    imageArray.push(img);

    img.con.source=images.image[imgNum].src;

    img.con.addEventListener(Event.COMPLETE,comImage);

    img.addEventListener(MouseEvent.CLICK,expImage);

    img.addEventListener(MouseEvent.MOUSE_OVER, onImage);

    function comImage(e:Event):void {

        TweenLite.from(img,0.5,{alpha:0});

        img.con.height=galHei;

        e.target.content.smoothing=true;

        img.con.width=(img.width/img.height)*img.con.height;

        img.x=imgX;

        img.num=imgNum;

        img.des1=images.image[imgNum].des1;

        img.des2=images.image[imgNum].des2;

        imgX+=img.con.width;

        gallery.addChild(img);

        imgNum++;

        if (imgNum<imgLen) {

            addImage();

        }

    }

}

function scrollImage(Event):void {

    if (gallery.width>galWid) {

        var procent:Number = ((mouseX-galX)/galWid);

        if (procent<0.1) {

            procent=0;

        }

        if (procent>0.9) {

            procent=1;

        }

        TweenLite.to(gallery, scrollX, {x:galX-(gallery.width-galWid)*procent, y:galY});

        TweenLite.to(gallery, scrollX, {x:galX-(gallery.width-galWid)*procent, y:galY});

    } else {

        TweenLite.to(gallery,speed,{y:galY, x:galX});

    }

}

function onImage(e:MouseEvent):void {

    desTxtSmall.htmlText=e.currentTarget.des1;

}

function offImage(e:MouseEvent):void{

    desTxtSmall.htmlText='';

}

function expImage(e:MouseEvent):void {

    curImg=e.currentTarget.num;

   

    gallery.setChildIndex(imageArray[curImg], gallery.numChildren - 1);

   

    imageArray[curImg];

    if (! exposed) {

        for (var i=0; i<gallery.numChildren; i++) {

            TweenLite.to(gallery.getChildAt(i),speed,{autoAlpha:0});

        }

        exposed=true;

        toggleBtns();

        gallery.removeEventListener(MouseEvent.MOUSE_MOVE, scrollImage);

        e.currentTarget.removeEventListener(MouseEvent.MOUSE_OUT, hideDes);

        e.currentTarget.removeEventListener(MouseEvent.MOUSE_OVER, showDes);

        e.currentTarget.removeEventListener(MouseEvent.CLICK, expImage);

        e.currentTarget.addEventListener(MouseEvent.CLICK, minImage);

        desTxt.visible=true;

        desTxtSmall.visible=false;

        desTxt.htmlText=e.currentTarget.des2;

        if (alignLeft) {

            TweenLite.to(galMask,0.5,{x:offsetX,width:stage.stageWidth});

            TweenLite.to(gallery, speed,{x:-e.currentTarget.x+offsetX+((e.currentTarget.width*scale-e.currentTarget.width)*0.5)});

            TweenLite.to(e.currentTarget,speed,{autoAlpha:1, transformAroundCenter:{scaleX:scale, scaleY:scale}, y:-galY+offsetY});

        } else {

            TweenLite.to(galMask,0.5,{x:galX+galWid*0.5-(e.currentTarget.width*0.5*scale),width:stage.stageWidth});

            TweenLite.to(gallery, speed,{x:-e.currentTarget.x-e.currentTarget.width*0.5+(galWid*0.5)+galX});

            TweenLite.to(e.currentTarget,speed,{autoAlpha:1, transformAroundCenter:{scaleX:scale, scaleY:scale}});

        }

    }

}

function minImage(e:Event):void {

    exposed=false;

   

    back_btn.x=600

    back_btn.y=300

    prevBtn.visible=false;

    nextBtn.visible=false;

    TweenLite.to(galMask,0.5,{x:galX, width:galWid});

    for (var i=0; i<gallery.numChildren; i++) {

        TweenLite.to(gallery.getChildAt(i),speed,{autoAlpha:1});

    }

    e.currentTarget.removeEventListener(MouseEvent.CLICK, minImage);

    e.currentTarget.addEventListener(MouseEvent.CLICK, expImage);

    gallery.addEventListener(MouseEvent.MOUSE_MOVE, scrollImage);

    desTxt.visible=false;

    desTxtSmall.visible=true;

    //TweenLite.to(desTxt,speed,{x:txtMinX, y:txtMinY});

    TweenLite.to(e.currentTarget,speed,{transformAroundCenter:{scaleX:1, scaleY:1},y:0});

    TweenLite.to(gallery,speed,{y:galY});

    //TweenLite.to(galMas,speed,{height:galHei*scale, width:galWid, y:galY, x:galX});

    scrollImage(null);

}

function showDes(e:Event):void {

    if (! exposed) {

        desTxt.visible=true;

        desTxt.htmlText=e.target.des1;

    }

}

function hideDes(e:Event):void {

    if (! exposed) {

        desTxt.visible=false;

    }

}

function nextImg(Event) {

    if (curImg<imgLen-1) {

        imageArray[curImg].addEventListener(MouseEvent.CLICK, expImage);

        imageArray[curImg].removeEventListener(MouseEvent.CLICK, minImage);

        TweenLite.to(imageArray[curImg],0.5,{transformAroundCenter:{scaleX:1, scaleY:1},autoAlpha:0, y:0});

        var nextImg=imageArray[++curImg];

        gallery.setChildIndex(nextImg, gallery.numChildren - 1);

        nextImg.removeEventListener(MouseEvent.CLICK, expImage);

        nextImg.addEventListener(MouseEvent.CLICK, minImage);

        desTxt.htmlText=nextImg.des2;

        if (alignLeft) {

            TweenLite.to(gallery, speed,{x:-nextImg.x+offsetX+((nextImg.width*scale-nextImg.width)*0.5)});

            TweenLite.to(nextImg,speed,{autoAlpha:1, transformAroundCenter:{scaleX:scale, scaleY:scale}, y:-galY+offsetY});

        } else {

            TweenLite.to(gallery, speed,{x:-nextImg.x-nextImg.width*0.5+(galWid*0.5)+galX});

            TweenLite.to(nextImg,speed,{autoAlpha:1, transformAroundCenter:{scaleX:scale, scaleY:scale}});

        }

        toggleBtns();

    }

}

function prevImg(Event) {

    if (curImg>0) {

        imageArray[curImg].addEventListener(MouseEvent.CLICK, expImage);

        imageArray[curImg].removeEventListener(MouseEvent.CLICK, minImage);

        TweenLite.to(imageArray[curImg],0.5,{transformAroundCenter:{scaleX:1, scaleY:1},autoAlpha:0,y:0});

        var prevImg=imageArray[--curImg];

        gallery.setChildIndex(prevImg, gallery.numChildren - 1);

        prevImg.removeEventListener(MouseEvent.CLICK, expImage);

        prevImg.addEventListener(MouseEvent.CLICK, minImage);

        desTxt.htmlText=prevImg.des2;

        if (alignLeft) {

            TweenLite.to(gallery, speed,{x:-prevImg.x+offsetX+((prevImg.width*scale-prevImg.width)*0.5)});

            TweenLite.to(prevImg,speed,{autoAlpha:1, transformAroundCenter:{scaleX:scale, scaleY:scale}, y:-galY+offsetY});

        } else {

            TweenLite.to(gallery, speed,{x:-prevImg.x-prevImg.width*0.5+(galWid*0.5)+galX});

            TweenLite.to(prevImg,speed,{autoAlpha:1, transformAroundCenter:{scaleX:scale, scaleY:scale}});

        }

        toggleBtns();

    }

}

function toggleBtns():void {

    if (curImg>0) {

        prevBtn.visible=true;

    } else {

        prevBtn.visible=false;

    }

    if (curImg<imgLen-1) {

        nextBtn.visible=true;

    } else {

        nextBtn.visible=false;

    }

   

    back_btn.x=250

    back_btn.y=225

}

stage.addEventListener(MouseEvent.CLICK, clickHandler_kimback);

function clickHandler_kimback(event:MouseEvent):void{

    if (event.target.name!=null){

       

        switch(event.target.name) {

            case "back_btn":

            gotoAndStop("frontpage");

            break;

         

            default:

            trace("defaultbehavior");

        }

    }

}

stop();

This topic has been closed for replies.
Correct answer kglad

I think we have talked past each other - when I confirmed my gallery is a movie clip, where I thought you meant wheter the symbol on my stage with the instance name "gallery" is a movieclip, which it is. But the whole gallery (all the piece that make the gallery) is actually not a movieclip they're laying all on the same keyframe on my main stage... So do I just need to put everything into a movieclip?


right click on frame 1 and click cut.  then click insert/new symbol/movieclip/ok and right click in frame 1 of the new movieclip and click paste.

now clear any remaining keyframe so nothing is on you main timeline.  drag the movieclip you just made to frame 1.  test to make sure your frame 1 gallery works like before.

1 reply

kglad
Community Expert
Community Expert
February 24, 2012

do the galleries "load" whatever they display?  do they use xml to determine what should be loaded?

kimtragerAuthor
Known Participant
February 24, 2012

not sure what, you mean by "load whatever they display"..? I've only used it to load jpg's. The XML determines what needs to be loaded and looks like this:

<?xml version="1.0" encoding="utf-8"?>

<images>

    <image>

        <src>pictures/rabit/1.jpg</src>

        <des1></des1>

        <des2></des2>

    </image>

    <image>

kglad
Community Expert
Community Expert
February 24, 2012

have each of your galleries load different xml files.