Avatar billede Slettet bruger
31. juli 2008 - 14:06 Der er 9 kommentarer og
1 løsning

loadMovie og variabel navne - problemer

Hej alle sammen

Jeg har lidt problemer med min loadMovie. Jeg har en index.fla fil der loader swf-filer ind når man trykker på knapperne i menuen. f.eks. når man trykker på forside loader den forside.swf ind osv. Jeg har en variabel (den hedder currentpage) der holder styr på hvilken side man er på i index.fla filen. Men det har jeg også brug for på forsiden (der er nemlig også en menu der). Men når jeg laver en variabel på forside.fla der også hedder currentpage, virker det ikke rigtigt. Der virker hvis man åbner swf-filen forside.swf for sig selv, men ikke når man loader den via index.swf. Må man i lave de samme variabel navne på filer man loader ind eller hvad? Og kan man evt gøre det sådan at man må det? Ellers bliver jeg vel bare nød til at kalde mine funktioner, variabler, movieclip navne, framelabels osv under forside: "forside_navnHer".
Avatar billede andersbro Nybegynder
01. august 2008 - 09:04 #1
Prøv med this.currentpage i din forside-fil, så henviser den til forside-filen.
Hvis du skriver _root.currentpage for du den variabel, der er defineret i din index-fil.
Avatar billede Slettet bruger
01. august 2008 - 11:46 #2
Ahh! Det prøver jeg lige!
Avatar billede Slettet bruger
01. august 2008 - 11:56 #3
det går lidt galt med mine function-navne. Jeg tror for en god ordens skyld at jeg kalde alle mine ting under forside.fla for "forside_navn" :)
Avatar billede andersbro Nybegynder
01. august 2008 - 12:34 #4
Det er nok en god idé
Avatar billede Slettet bruger
01. august 2008 - 13:44 #5
Tak for hjælpen! Jeg omdøber alle mine variabler og functions-navne nu. Tror du også det vil være en god ide at omdøbe instance-navne og framelabels?
Avatar billede andersbro Nybegynder
01. august 2008 - 14:18 #6
Nej. Der er egentlig ikke noget problem i at noget hedder det samme i forskellige filer. Det er bare et spørgsmål om, at du holder styr på at det er de rigtige framelabels og instances du får fat på.
Du vil måske have fordel af at kigge på "_lockroot" i flash-hjælpen. Det er en variabel, du kan sætte i de filer, du loader ind i index-filen, som måske gør det nemmere for dig.
Avatar billede Slettet bruger
01. august 2008 - 14:39 #7
Jeg kan lige prøve at vise mine koder for index.fla, og så buketter.fla jeg har her:

index.fla:



stop();

// menu
var currentpage;

forside.text.text.text = "FORSIDE";
omos.text.text.text = "OM OS";
buketter.text.text.text = "BUKETTER";
brugskunst.text.text.text = "BRUGSKUNST";
referencer.text.text.text = "REFERENCER";
aabningstider.text.text.text = "ÅBNINGSTIDER";
kontakt.text.text.text = "KONTAKT";

forside.gotoAndPlay("up");
omos.gotoAndPlay("up");
buketter.gotoAndPlay("up");
brugskunst.gotoAndPlay("up");
referencer.gotoAndPlay("up");
aabningstider.gotoAndPlay("up");
kontakt.gotoAndPlay("up");

onrelease("forside");

forside.onRelease = function() {
    onrelease("forside");
}
forside.onRollOver = function() {
    onrollover("forside");
}
forside.onRollOut = function() {
    onrollout("forside");
}

omos.onRelease = function() {
    onrelease("omos");
}
omos.onRollOver = function() {
    onrollover("omos");
}
omos.onRollOut = function() {
    onrollout("omos");
}

buketter.onRelease = function() {
    onrelease("buketter");
}
buketter.onRollOver = function() {
    onrollover("buketter");
}
buketter.onRollOut = function() {
    onrollout("buketter");
}

brugskunst.onRelease = function() {
    onrelease("brugskunst");
}
brugskunst.onRollOver = function() {
    onrollover("brugskunst");
}
brugskunst.onRollOut = function() {
    onrollout("brugskunst");
}

referencer.onRelease = function() {
    onrelease("referencer");
}
referencer.onRollOver = function() {
    onrollover("referencer");
}
referencer.onRollOut = function() {
    onrollout("referencer");
}

aabningstider.onRelease = function() {
    onrelease("aabningstider");
}
aabningstider.onRollOver = function() {
    onrollover("aabningstider");
}
aabningstider.onRollOut = function() {
    onrollout("aabningstider");
}

kontakt.onRelease = function() {
    onrelease("kontakt");
}
kontakt.onRollOver = function() {
    onrollover("kontakt");
}
kontakt.onRollOut = function() {
    onrollout("kontakt");
}

function onrelease(button) {
    if (currentpage != button) {
        eval(currentpage).gotoAndPlay("up");
    }
    currentpage = button;
    content.gotoAndPlay(1);
    content.content.loadMovie(""+currentpage+".swf", 1);
    eval(currentpage).gotoAndStop("active");
}

function onrollover(button) {
    if (currentpage != button) {
        eval(button).gotoAndPlay("over");
    }
}

function onrollout(button) {
    if (currentpage != button) {
        eval(button).gotoAndPlay("up");
    }
}








buketter.fla:




stop();
// menu
var currentpage;
this._lockroot = true;

forskelligt.text.text.text = "Forskelligt";
foedselsdag.text.text.text = "Fødselsdag";
jul.text.text.text = "Jul";

forskelligt.gotoAndPlay("up");
foedselsdag.gotoAndPlay("up");
jul.gotoAndPlay("up");

onrelease("forskelligt");

forskelligt.onRelease = function() {
    onrelease("forskelligt");
}
forskelligt.onRollOver = function() {
    onrollover("forskelligt");
}
forskelligt.onRollOut = function() {
    onrollout("forskelligt");
}

foedselsdag.onRelease = function() {
    onrelease("foedselsdag");
}
foedselsdag.onRollOver = function() {
    onrollover("foedselsdag");
}
foedselsdag.onRollOut = function() {
    onrollout("foedselsdag");
}

jul.onRelease = function() {
    onrelease("jul");
}
jul.onRollOver = function() {
    onrollover("jul");
}
jul.onRollOut = function() {
    onrollout("jul");
}

function onrelease(button) {
    if (currentpage != button) {
        eval(currentpage).gotoAndPlay("up");
    }
    currentpage = button;
    gotoAndStop(currentpage);
    eval(currentpage).gotoAndStop("active");
}

function onrollover(button) {
    if (currentpage != button) {
        eval(button).gotoAndPlay("over");
    }
}

function onrollout(button) {
    if (currentpage != button) {
        eval(button).gotoAndPlay("up");
    }
}




men det virker ikke ordentligt som det skulle :( jo, hvis man ændre navnene på buketter.fla til buketter_"navn her"
Avatar billede Slettet bruger
01. august 2008 - 14:58 #8
der er noget galt med mine onrelease, onrollover og onrollout functions navne under buketter. selvom jeg skriver this._lockroot = true; kan jeg stadig ikke få lov til at bruge samme navne.
Avatar billede Slettet bruger
03. august 2008 - 12:37 #9
Har I forladt mig? :D
Avatar billede Slettet bruger
05. november 2008 - 21:11 #10
Lukker.
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