Kopiere en flash fil ind i en anden
Hejsa
Jeg vil lige høre om der er en der kan hjælp mig med, hvad der nok er et meget begynder spørgsmål, at kopiere en flash fil over i et andet flash dokument.
Jeg har lavet en hjemmeside ud fra et templet, men gallerisiden var ikke brugbar, så jeg har lavet et nyt galleri, ligeledes fra et templet. Men nu vil jeg gerne have galleriet ind i resten af siden, men hvordan går jeg det smartest? det skal gerne være sådan at jeg for al indhold (scripts, keyframes osv.) med over i flash filen.
Jeg håber virkelig at der er en der lige kan hjælpe med det, så vil jeg blive ovenud lykkelig.
Hilsen René
- log ind eller opret konto for at skrive kommentarer
- by Buchholdt


Kommentarer
Jeg ved ikke hvordan man kopiere selve flashfilen over, men jeg plejer at loade swf filen ind, via
Ved ikke om det kan bruges, ellers må du høre nogen mere garvede flash hajer herinde....
Vh Lone
Mange tak for det hurtige svar. Jeg skal lige spørge om en ting mere, er det sådan at hvis man indsætter swf som du skriver, kan man så samtidig have et modul liggende på en computer der tillader at man kan uploade biller til til siden?
Det er en hjemmeside til et diskotek, derfor er det ret vigtigt at man relativt let kan uploade billeder dertil. Jeg håber at det er godt nok forklaret
Hmm, jeg har lidt samme problem her.
Jeg har fundet et script på nettet og downloadet det som .fla fil.
Jeg har en anden .fla fil, hvor jeg har lavet alt det andet design og derfor vil jeg gerne have den .fla fil med det script jeg har downloadet over i den med mit design.
Jeg har prøvet med #2 lille script, men får fejl på det.
Jeg arbejder i CS3 - nogen der kan hjælpe?
Lone71 >>
Jeg har brugt samme script til en hjemmeside jeg er igang med, hvor jeg loader galleriet ind.
Når jeg så har klikket på galleriet og set det og vil navigere videre, bliver galleriet ved med at være der.
Ved du hvordan man får galleriet til at forsvinde igen med AS3, når man vil videre på siden??
Mine knapper ligger på en almindelig tidslinje..
@Rune,

Prøv at skrive den kode du bruger, og også meget gerne fejlen
- bruger du AS2 eller AS3
@Flashfree...
Prøv med removeChild(*nanv*);
Den burde kunne klare det
Det bedste tidspunkt at plante et træ, var for 100 år siden.
Det næstbedste er I DAG!
Hey
Har prøvet..
Ja har fanget at det er noget i den retning, men aner ikke hvad jeg skal tilføje til koden. Det virker ikke at kun putte det stykke kode ind i
Bruger AS3!
Måske kan du se her hvad jeg skal gøre?
hjem.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede1");
}
);
biografi.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede2");
}
);
art.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede3");
var ld:Loader = new Loader()
ld.load(new URLRequest("galleri.swf"))
addChild(ld)
}
);
kontakt.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede4");
}
);
Du adder din loader til stage, så kan den ses.

Så du skal bare fjerne den igen med:
removeChild(ld);Bare tilføj den del når du vil have fjernet det igen
Det bedste tidspunkt at plante et træ, var for 100 år siden.
Det næstbedste er I DAG!
Erh.. kan du skære det lidt mere ud i pap, den del med at adde min loader til stagen?
For er stadig blank... Jeg laver normalt ikke den slags i flash, mere animationer osv :)hehe
Jo, self
Vi skal til at starte med lige kigge på din når du henter dit galleri ind, det er den her del:
Den første linje der siger laver du en "loader",
Den næste der henter du dit galleri ind i din "loader"
I sidste linje der "viser" du din "loader", altså du siger til flash: Hey Flash! Du må faktisk gerne lige tage og vise min loader(med mit galleri) på scenen, tak
Alt dette sker når man trykker på din art-knap
Det du faktisk bare skal gøre, det er at tage og sætte den her kode ind ved de andre funktion:

removeChild(ld)Med den siger du til flash: Hey dig der Flash! Galleriet skal ikke vises mere, er du ikke lige en skat og fjerne det? Tak
Håber det er sådan nogenlunde forståeligt, ellers må du bare spørge hvis der er noget
Det bedste tidspunkt at plante et træ, var for 100 år siden.
Det næstbedste er I DAG!
okay.. bare så jeg kan være helt med...
Hvordan laver man en loader, og får flash til at vise loaderen på scenen (med galleriet) ?? hehe
Først har du lavet en flash fil som skal importeres - I dit tilfælde dit galleri.
Så går du ind i din "main" flash, den hvor galleriet skal loades ind i.
Så skriver du
var ld:Loader = new Loader();Nu har du lavet en loader, uden noget den loader.
Så fortæller du den at den skal loade dit galleri:
ld.load(new URLRequest("galleri.swf"));Det er meget fint alt sammen, men hvad skal man med et loaded galleri, hvis man ikke kan se det?
Derfor fortæller du nu Flash at du gerne vil kunne se dit galleri, altså tilføjer det til scenen:
addChild(ld);Så, nu viser flash dig dit galleri
Så, en lille opsummering på hvordan hele koden kommer til at se ud:
Og når du så vil have den fjernet igen så bruger du bare den her kode:
removeChild(ld);Håber det kan bruges - ellers spørger du bare igen
Det bedste tidspunkt at plante et træ, var for 100 år siden.
Det næstbedste er I DAG!
Hehe du må undskylde hvis jeg ikke har udtrykket mig klart nok...
Blvier ved med at spørge, fordi de tlød som om der skulle være noget på scenen også fordi det med removeChild(ld); ikke virker.
Det fjerner galleriet totalt fra hele siden
Hehe, okay. Så vil jeg lige hører, hvad er det præcis du vil have?
Hvordan skal det hele se ud? Hvordan ser hjemmesiden ud - opbygnings mæssigt? Hvornår skal galleriet vises, og hvornår skal det ikke?
For frygter lidt vi er ved at arbejde os forbi hinanden her ^^,
Det bedste tidspunkt at plante et træ, var for 100 år siden.
Det næstbedste er I DAG!
Okay jeg prøver at forklare så godt som jeg kan.. hehe
Hjemmesiden er sådan set sat meget simpelt delt op.
Knapperne ligger på hvert sit lag og over knapperne er der et andet lag med det actionscript. Det brudstykke jeg har vist allerede
På actionscript laget, har jeg så placeret "flag" til hvor de forskellige menupunkter skal gå hen til med et efterfølgende Stop();
udfor hver knap har jeg så placeret hvad for en keyframe den skal gå hen til.
Der er de fire knapper og når man trykker på "art" skulle den gerne gå hen til den keyframe jeg har placeret den til, og vise galleriet, hvilket den også gør.
Men når jeg trykker på de andre knapper bliver galleriet ved med at være der, som om jeg stadig er på samme frame, men indholdet på de forskellige sider bliver dog vist, bare med galleriet ovenpå.
Det er sådan set dét.
Okay, så skal du bare under din stop() command på de ANDRE frames - altså ikke den med art - bruge den omdiskuterede "removeChild(ld)"

Den sletter ikke dit galleri, men den fjerner det bare fra din display list - alle ting som ligger i din display list vil man kunne se. Men når du fjerner det, så er det ikke længere en del af display list. Kort og godt er at det brude virke på den måde
Btw, får ikke at få en fejl - så skal du lave din loader på frame 1. Også loade galleriet ind i dit "art"-frame
Altså, på frame 1 skriver du:
Den "laver" din loader - uden indhold.
I dit "art"-frame skriver du så:
Og på alle andre frames skriver du:
Så når man starter siden, altså på frame 1, så laver flash en Loader som hedder ld.

Samtidig så sikre man sig også lige at ld ikke bliver vist.
På dit "art"-frame så henter flash dit galleri ind i din loader OG viser din loader - altså tilføjer ld til displaylist.
På alle de andre keyframes, så fjerner flash igen ld fra displaylist så man ikke kan se galleriet
Det burde meget gerne virke
Er det nødvendigt at sige at du bare skal spørge igen hvis der er noget
Det bedste tidspunkt at plante et træ, var for 100 år siden.
Det næstbedste er I DAG!
Ak ja, gid det virkede, men det gør det ikke
Jeg har nu prøvet at ændre koden til dette istedet, da det andet ikke virker:
hjem_1.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede1");
ld.name = "galleri.swf";
removeChild(getChildByName("galleri.swf"));
}
);
bio_2.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede2");
ld.name = "galleri.swf";
removeChild(getChildByName("galleri.swf"));
}
);
art_3.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede3");
var ld:Loader = new Loader()
ld.load(new URLRequest("galleri.swf"))
addChild(ld)
}
);
kontakt_4.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede4");
ld.name = "galleri.swf";
removeChild(getChildByName("galleri.swf"));
}
);
Hvis jeg for eksempel klikker hen til "art" og bagefter "hjem" fjerner galleriet sig endelig, men hvis jeg vil gøre det samme igen får jeg denne fejl:
TypeError: Error #2007: Parameter child must be non-null.
at flash.display::DisplayObjectContainer/removeChild()
at MethodInfo-1()
og hvis jeg ikke har klikket mig ind i galleriet først, men starter med at klikke på hjem for eksempel får jeg denne fejl:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at MethodInfo-1()
Så har jeg også prøvet at ændre det til dette:
hjem_1.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede1");
ld.name = "galleri.swf";
removeChild(ld);
}
);
bio_2.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede2");
ld.name = "galleri.swf";
removeChild(ld);
}
);
art_3.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede3");
var ld:Loader = new Loader()
ld.load(new URLRequest("galleri.swf"))
addChild(ld)
}
);
kontakt_4.addEventListener(
MouseEvent.MOUSE_UP,
function(evt:MouseEvent):void {
gotoAndPlay("billede4");
ld.name = "galleri.swf";
removeChild(ld);
}
);
Jeg kan skifte fra side til side uden problemer, med denne løsning, men hvis jeg dobbeltklikker på én af knapperne kommer denne fejl:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()
at MethodInfo-1()
og hvis jeg med denne metode ikke har klikket mig ind i galleriet først, men starter med at klikke på hjem for eksempel får jeg denne fejl:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild()
at MethodInfo-1()
Hmm, okay.
Du kan prøve at istedet for at fjerne dit galleri, så at give det en insane høj x værdi.
Så når man f.eks. trykker på kontakt_4, så siger den:
ld.x = 5000;
Så vil den stadig vises, men bare way out of stage
Det bedste tidspunkt at plante et træ, var for 100 år siden.
Det næstbedste er I DAG!