Avatar billede steinholtz Nybegynder
17. marts 2007 - 17:16 Der er 10 kommentarer og
1 løsning

Kun køre function én gang

Jeg har et simpelt, tror jeg nok, problem.

I min init function har jeg bla. disse linjer:

    _root.createEmptyMovieClip("stars01", 1000);
    stars01.onEnterFrame = starGen;

StarGen er en function som kun skal køres en enkelt gang INDE i stars01 movieclippet som genereres, men det bliver jo kørt hele tiden som det er nu. Hvad er det jeg skal skrive/gøre i stedet for onEnterFrame?
Avatar billede Slettet bruger
17. marts 2007 - 17:21 #1
kan du ikke bare lave en integer som skal være lig 1, og derefter i++; ?
Avatar billede Slettet bruger
17. marts 2007 - 17:23 #2
Du kan jo bare i dit movieclip ha' et action script frame, der kører din init(); vel?
Avatar billede steinholtz Nybegynder
17. marts 2007 - 18:17 #3
Det skal lige siges at al min koden SKAL stå i root frame 1, så ingen kode inde i movieclips (det er en skole opgave jeg har og sådan vil vores lærer gerne have at vi gør til denne opgave).

Saxe: Hmm kunne ikke lige få det til at virke, men jo det kan man sikkert. Må prøve noget mere. Er ikke så skrap til flash mere :/
Avatar billede mat Nybegynder
17. marts 2007 - 18:36 #4
Hvis funktionen kun skal køres een gang så giv den til onLoad istedet for onEnterFrame.

mvh mat
Avatar billede mat Nybegynder
17. marts 2007 - 18:37 #5
...eller bare kald den en enkelt gang, istedet for at koble den på onEnterFrame :)
Avatar billede steinholtz Nybegynder
17. marts 2007 - 20:15 #6
Det er nemlig lige det jeg skal bruge MEN jeg har prøvet onLoad men det virker ikke! Den kører slet ikke funtionen med onLoad...?
Avatar billede mat Nybegynder
17. marts 2007 - 21:56 #7
Yup og her er et dejligt lille hack;

I din tidslinie skriver du som du ville enhver anden event;

mc.onLoad = function() {
    trace("davs");
}

..og i actionvinduet for dit movieclip symbol (altså de actions der er direkte hæftet på dit movieclip) laver du et mellemrum.

mvh mat
Avatar billede steinholtz Nybegynder
18. marts 2007 - 16:35 #8
Lyder spøjst.

Men mit mc er jo et jeg genererer med createEmptyMovieClip så jeg kan da ikke skrive kode på det?
Avatar billede mat Nybegynder
18. marts 2007 - 17:39 #9
onLoad er spøjs, men ellers lav din egen init funktion og kald den;

a = this.createEmptyMovieClip("clip", 1);
a.onInit = function() {
    trace(this._name);
}
a.onInit();

..det burde kunne gøre det?

mvh mat
Avatar billede steinholtz Nybegynder
18. marts 2007 - 21:36 #10
Yes det virker. Mange tak for hjælpen alle men særligt tak til mat.
Hvordan er det nu; du dumper bare et svar nu og så kan jeg give dig point ik? Kan aldrig huske det.
Avatar billede mat Nybegynder
18. marts 2007 - 22:33 #11
aight
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