Avatar billede 13thsky Nybegynder
22. april 2005 - 21:04 Der er 7 kommentarer og
1 løsning

stoppe en onClipEvent(enterFrame)

Hvordan stopperr jeg følgende script som sidder på et movieclip?
-atlså den skal stoppe med at tælle når this._xscale<=60000.

onClipEvent (enterFrame) {
    if (_root.line_scale2 == "background_line2") {
        if (this._xscale<=60000) {
            this._xscale += 2500;
        }
    }
}
Avatar billede barklund Nybegynder
22. april 2005 - 21:12 #1
Det gør ovenstående da også? Men du vil stoppe den helt så den slet ikke tester længere?

Så vil jeg råde dig til at bruge den lidt mere up-to-date syntaks med at sætte funktionaliteten fra en frame. Altså laver en funktion til, at når _root.line_scale2 sættes til "background_line2", først da begynder du at teste betingelsen:

function scaleUp() {
    if (this._xscale <= 60000) {
        this._xscale += 2500;
    } else {
        delete this.onEnterFrame;
    }
}
function startScalingUp(some_mc) {
    some_mc.onEnterFrame = scale_up;
}

Så kan du hvor som helst når animationen skal starte kalde:

startScalingUp(navnet_på_dit_movieclip);

Så vil det virke automatisk :)

--
Morten Barklund
Avatar billede 13thsky Nybegynder
23. april 2005 - 00:56 #2
ok, super... og hvis jeg så vil sende parametrene 60000 og 2500 med, hvordan gør jeg det så?
Altså således at jeg kan sende de 60000 og 2500 med som variabler?

(Har købt din bog idag) (c:

/13
Avatar billede 13thsky Nybegynder
23. april 2005 - 00:58 #3
altså noget i den her stil:

function scaleUp(scale_size, scale_int) {
    if (this._xscale <= scale_size) {
        this._xscale += scale_int;
    } else {
        delete this.onEnterFrame;
    }
}
function startScalingUp(some_mc) {
    some_mc.onEnterFrame = scale_up;
}

Men hvordan kalder jeg funktionen er så spørgsmålet?

/13
Avatar billede barklund Nybegynder
23. april 2005 - 01:16 #4
Nope, for du kan ikke sende argumenter med til onEnterFrame kaldet - men du kan gemme dem på movieclippet og hente dem fra aktiverende scope:

function scaleUp() {
    if (this._xscale <= this.scale_size) {
        this._xscale += this.scale_int;
    } else {
        delete this.onEnterFrame;
    }
}
function startScalingUp(some_mc, scale_size, scale_int) {
    some_mc.onEnterFrame = scale_up;
    some_mc.scale_size = scale_size;
    some_mc.scale_int = scale_int;
}

Tror jeg :)

--
Morten Barklund
Avatar billede 13thsky Nybegynder
23. april 2005 - 01:50 #5
scale_up -> scaleUp

og yep det virker..

tnx og drop et svar

/13
Avatar billede barklund Nybegynder
23. april 2005 - 02:01 #6
Detalje, men ja :)
Avatar billede barklund Nybegynder
23. april 2005 - 04:15 #7
Tark for points
Avatar billede 13thsky Nybegynder
23. april 2005 - 17:10 #8
no problem (c:
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