Avatar billede giorgio Nybegynder
13. juli 2008 - 08:36 Der er 1 løsning

Unload movie

Hej

Jeg sidder og roder med aty lave et galleri, jeg har valgt at bruge Open Source galleriet Poloarid 1.01.

JEg vil dog gerne have flere forskellige gallerier, så når man klikker på en knap så gå den videre til de næste billeder.

Jeg kan bare ikke få det til at virke, for når jeg klikker på knappen så fjerner den ikke det der er loaded, men tilføjer de nye ovenpå.

Jeg tænkte på om man kunne unloade det mc de er loaded ind i og derefter loade de nye, men kan ikke finde ud af hvad han har kaldt det mc der genereres.

Her er koden til galleriet:
////////////////////////////////
// Project:    Polaroid Gallery (v 1.01)
// Author:    Christopher Einarsrud
// Edited:    16/07/2007
// This work is licensed under a Creative Commons Attribution-NonCommercial 3.0  License.
// For more information, read http://creativecommons.org/licenses/by-nc/3.0/
////////////////////////////////

////////////////////////////////
// <imports>
import flash.filters.*;
import flash.display.BitmapData;
// </imports>
////////////////////////////////

////////////////////////////////
// <vars>
var photoHolder = new Array();
var skalerTempo = 3;
var thumbStr = 30;
var stageHeight = Stage.height;
var stageWidth = Stage.width;
var fotoSkygge:DropShadowFilter = new DropShadowFilter(0, 45, 0x333333, 0.8, 10, 10, 2, 3);
var glow:GlowFilter = new GlowFilter(0x333333,100,150,150,1.5,3,true,true);
var bakgrunnPattern:BitmapData = BitmapData.loadBitmap("bakgrunn");
// </vars>
////////////////////////////////

////////////////////////////////
// <init>
//_root.createEmptyMovieClip("bakgrunsHolder",_root.getNextHighestDepth());
//_root.createEmptyMovieClip("sideGlow", _root.getNextHighestDepth());
// </init>
////////////////////////////////

////////////////////////////////
// <generer fotovariabler>
flickrTAGS = (flickrTAGS) ? flickrTAGS:"";
xmlURL = (xmlURL) ? xmlURL:"photos.xml";
xmlURL = (flickrID) ? "http://api.flickr.com/services/feeds/photos_public.gne?id="+flickrID+"&tags="+flickrTAGS+"&tagmode=any&format=rss_200":xmlURL;
////
// Flickr feed
////
var loadet_xml:XML = new XML();
loadet_xml.ignoreWhite = true;
loadet_xml.onLoad = function (success){
    var loop = (flickrID) ? loadet_xml.firstChild.firstChild.childNodes:loadet_xml.firstChild.childNodes;
    var num = 0;       
    if (flickrID) {
        for (var i = 0;i < loop.length;i++) {
            if (loop[i].nodeName == "item") {
                var loop2 = loop[i].childNodes;
                photoHolder[num] = new Array();
                for (var i2 = 0;i2 < loop2.length;i2++) {
                    if (loop2[i2].nodeName == "media:content") {
                        photoHolder[num].url = loop2[i2].attributes.url;
                    }
                    else if (loop2[i2].nodeName == "title") {
                        photoHolder[num].desc = loop2[i2].firstChild;
                    }
                }
                num++;
            }
        }
    }
    else {
        for (i=0;i < loop.length;i++) {
            photoHolder[i] = loop[i].attributes;
        }
    }
    delete loadet_xml;
    byggBilder();
}
loadet_xml.load(xmlURL);
// </generer fotovariabler>
////////////////////////////////

////////////////////////////////
// <bygg polaroids>
function byggBilder() {
    for (i=0;i < photoHolder.length;i++) {
        mc = _root.attachMovie("fotoHolder","fotoHolder"+i,_root.getNextHighestDepth(),{_xscale:thumbStr, _yscale:thumbStr,_rotation:30 - 60*Math.random()});
        mc.txt.text = photoHolder[i].desc;
        if (Math.round(Math.random()*1) == 1) {
            // tilfeldig y akse
            mc._y = (Stage.height*Math.random())+(mc._height*2);
            if (Math.round(Math.random()*1) == 1) mc._x = Stage.width+(mc._width*2);
            else mc._x = -(mc._width*2);
        }
        else {
            // tilfeldig x akse
            mc._x = (Stage.width*Math.random())+(mc._width*2);
            if (Math.round(Math.random()*1) == 1) mc._y = Stage.height+(mc._height*2);
            else mc._y = -(mc._height*2);
        }
        mc.newX = Math.round((mc._width/2) + (Stage.width-mc._width)*Math.random());
        mc.newY = Math.round((mc._height/2) + (Stage.height-mc._height)*Math.random());
        mc.oldRotation = mc._rotation;
        mc.oldX = mc.newX;
        mc.oldY = mc.newY;
        mc.startX = mc._x;
        mc.startY = mc._y;
        mc.oldHeight = mc._yscale;
        mc.oldWidth = mc._xscale;
        mc.id = i;
        mc.onEnterFrame = fotoAnimer;
        mc.filters = [fotoSkygge];
        mc.dragPol.onPress = drag;
        mc.dragPol.onReleaseOutside = mc.dragPol.onRelease = stopdrag;
        photoHolder[i].mc = mc;
        lastBilde(mc,photoHolder[i].url);
        delete mc;
    }
    antallBilder = i;
}
function lastBilde(mc, url) {
    mc.createEmptyMovieClip("tmp",mc.getNextHighestDepth());
    lastBildeH.loadClip(url, (flickrID) ? mc.bildeHolder:mc.tmp);
}
var lastBildeH:MovieClipLoader = new MovieClipLoader();
var lastBildeHL:Object = new Object();
lastBildeHL.onLoadStart = function(mc:MovieClip):Void {
    mc._parent.attachMovie('preLoader','preloader',mc._parent.getNextHighestDepth());
    loaderFarge = new Color(mc._parent.preloader);
    mc._parent.preloader.loadtxt.text = "";
    loaderFarge.setRGB(0xFFFFFF);
    mc._parent.preloader._y = -10;
    mc._visible = false;
}
lastBildeHL.onLoadProgress = function(mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number):Void {
    var numPercentLoaded:Number = numBytesLoaded / numBytesTotal * 100;
    mc._parent.preloader.percent._width = numPercentLoaded;
}
lastBildeHL.onLoadInit = function(mc:MovieClip) {
    mc._parent.preloader.removeMovieClip();
    var mc2 = mc._parent.bildeHolder;
    if (!flickrID) {
        var myBitmap = new BitmapData(mc._width, mc._height,true,0xFFFFFF);
        myBitmap.draw(mc);
        mc._parent.bildeHolder.attachBitmap(myBitmap, mc._parent.bildeHolder.getNextHighestDepth(), "auto", true);
        mc.removeMovieClip();
        }
   
    /////
    // scale and place image
    ////

    var wP = 468/mc2._width;
    var hP = 450/mc2._height;
    mc2._width *= (wP < hP) ? hP:wP;
    mc2._height *= (wP < hP) ? hP:wP;
    mc2._x += -((mc2._width-468)/2);
    mc2._y += -((mc2._height-450)/2);
    mc2._visible = true;
}
lastBildeH.addListener(lastBildeHL);
// </bygg polaroids>
////////////////////////////////

////////////////////////////////
// <hjelpeboks>
_root.attachMovie("help","help",_root.getNextHighestDepth());
help._x = 42;
help._y = 48;
help.filters = [fotoSkygge];
// </hjelpeboks>
////////////////////////////////

function rensFilm() {
    for (i=0;i<antallBilder;i++) {
        mc = eval("fotoHolder"+i);
        mc.oldY = mc.startY;
        mc.oldX = mc.startX;
        mc.onEnterFrame = fotoAnimerTilbake;
        removeMovieClip(navigering);
    }
}
function fotoAnimer() {
    this._y += (this.newY-this._y)/skalerTempo;
    this._x += (this.newX-this._x)/skalerTempo;
    if (Math.round(this._y) == this.newY) delete this.onEnterFrame;
}
function fotoAnimerTilbake() {
    this._y += (this.oldY-this._y)/skalerTempo;
    this._x += (this.oldX-this._x)/skalerTempo;
    this._xscale += (this.oldWidth-this._xscale)/skalerTempo;
    this._yscale += (this.oldHeight-this._yscale)/skalerTempo;
    this._rotation += (this.oldRotation-this._rotation)/skalerTempo;
    this.nesteKnapp._alpha += (0-this.nesteKnapp._alpha)/skalerTempo;
    this.forrigeKnapp._alpha += (0-this.forrigeKnapp._alpha)/skalerTempo;
    if ((Math.round(this._y) == this.oldY) && (Math.round(this._x) == this.oldX)) {
        delete this.nesteKnapp.onRelease;
        delete this.forrigeKnapp.onRelease;
        delete this.onEnterFrame;
    }
}
function fotoSkaler() {
    this._xscale += (100-this._xscale)/skalerTempo;
    this._yscale += (100-this._yscale)/skalerTempo;
    this._rotation += (this.newRotation-this._rotation)/skalerTempo;
    this._x += ((Stage.width/2)-this._x)/skalerTempo;
    this._y += ((Stage.height/2)-this._y)/skalerTempo;
    this.nesteKnapp._alpha += (60-this.nesteKnapp._alpha)/skalerTempo;
    this.forrigeKnapp._alpha += (60-this.forrigeKnapp._alpha)/skalerTempo;
    if (Math.round(this._width) == this.newWidth) {
        delete this.onEnterFrame;
    }
}
function drag() {
    if ((fotoSomBlirVist != this._parent) && (!this._parent.onEnterFrame)) this._parent.startDrag();
    if (!this.click) {
        this.click = true;
        this.timer = getTimer()/1000;
    }
    else {
        this.timer2 = getTimer()/1000;
        if ((this.timer2-this.timer)<.25) {
            visFoto(this._parent);
        }
        else {
            this.timer = getTimer()/1000;
            this.click = true;
        }
    }
    this._parent.swapDepths(_root.getNextHighestDepth());
    if (fotoSomBlirVist) fotoSomBlirVist.swapDepths(_root.getNextHighestDepth());
}
function stopdrag() {
    mc = this._parent;
    mc.stopDrag();
    if ((fotoSomBlirVist != mc) && (!mc.onEnterFrame)) {
        mc.oldX = Math.round(mc._x);
        mc.oldY = Math.round(mc._y);
    }
}
function visFoto(mc:MovieClip) {
    if (fotoSomBlirVist == mc) {
        fotoSomBlirVist.onEnterFrame = fotoAnimerTilbake;
        delete fotoSomBlirVist;
    }
    else {
        fotoSomBlirVist.onEnterFrame = fotoAnimerTilbake;
        mc.newRotation = 0;
        mc.oldRotation = mc._rotation;
        mc.nesteKnapp.onRelease = function() { visNeste(); }
        mc.forrigeKnapp.onRelease = function() { visForrige(); }
        mc.onEnterFrame = fotoSkaler;
        fotoSomBlirVist = mc;
    }
    if (fotoSomBlirVist) fotoSomBlirVist.swapDepths(_root.getNextHighestDepth());
}
function visNeste() {
    var nb = 0;
    if (fotoSomBlirVist) {
        nb = fotoSomBlirVist.id +1;
        if (nb == antallBilder) nb = 0;
    }
    visFoto(eval("fotoHolder"+nb));
}
function visForrige() {
    var fb = 0;
    if (fotoSomBlirVist) {
        fb = fotoSomBlirVist.id -1;
        if (fb < 0) fb = antallBilder-1;
    }
    visFoto(eval("fotoHolder"+fb));
}
var stageL:Object = new Object();
stageL.onResize = function() {
    for (i=0;i<antallBilder;i++) {
        mc = eval("fotoHolder"+i);
        if (mc != fotoSomBlirVist) {
            mc._x = Math.round(Stage.width * (mc._x/stageWidth));
            mc._y = Math.round(Stage.height * (mc._y/stageHeight));
        }
        else {
            fotoSomBlirVist._x = Stage.width/2;
            fotoSomBlirVist._y = Stage.height/2;
        }
        mc.oldX = Math.round(Stage.width * (mc.oldX/stageWidth));
        mc.oldY = Math.round(Stage.height * (mc.oldY/stageHeight));
        mc.newX = Math.round(Stage.width * (mc.newX/stageWidth));
        mc.newY = Math.round(Stage.height * (mc.newY/stageHeight));
        mc.startX = Math.round(Stage.width * (mc.startX/stageWidth));
        mc.startY = Math.round(Stage.height * (mc.startY/stageHeight));
    }
    stageWidth = Stage.width;
    stageHeight = Stage.height;
    fillBG();
    fyllGlow();
}
Stage.addListener(stageL);


////////////////////////////////
// <bakgrunn>

function fillBG() {
    with (bakgrunsHolder) {
    clear();
    beginBitmapFill(bakgrunnPattern);
    moveTo(0,0);
    lineTo(Stage.width,0);
    lineTo(Stage.width,Stage.height);
    lineTo(0,Stage.height);
    lineTo(0,0);
    endFill();
    }
}

function fyllGlow() {
    with (sideGlow) {
        clear();
        filters = [glow];
        beginFill(0xFFFFFF);
        moveTo(0, 0);
        lineTo(Stage.width, 0);
        lineTo(Stage.width, Stage.height);
        lineTo(0, Stage.height);
        lineTo(0, 0);
        endFill();
    }
}

fillBG();
fyllGlow();
// </bakgrunn>
////////////////////////////////
Avatar billede giorgio Nybegynder
27. juli 2008 - 09:43 #1
Lavede det i ekstern swf og loader dem ind så virker det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester