Avatar billede Slettet bruger
02. november 2006 - 19:06 Der er 5 kommentarer

settimeout i Flash

Hej eksperter.
Jeg har brug for en funktion ect. der kan det sammen som settimeout(i javascript).

Har prøvet at kigge på setInterval(), men den bliver ved.
Jeg vil kun have udført det 1 gang.

Håber I forstår, og at I kan hjælpe mig.
Avatar billede thulstrup Nybegynder
03. november 2006 - 08:31 #1
Der findes også en timeout i Flash, hvis du benytter Flash Player 8 eller højere:
function test() {
    trace("test");
}
setTimeout(test, 1000);


Du kan også bruge setInterval, du skal bare cleare den igen:
function test() {
    trace("test");
    clearInterval(itv);
}
var itv:Number = setInterval(test, 1000);
Avatar billede Slettet bruger
03. november 2006 - 09:44 #2
Hvorfor virker dette ikke kan du svarer mig på det?
Den tracer "done", men stat er stadig ligemed "Sender beskeden..."

/*  */
user_input.text = "";
stat.text = "";
chatBox = "<b>Chatten</b>: Velkommen"
function myFunc() {
    this._parent.stat = "";
    trace("done");
}

/* SEND FUNCTION */
send_btn.onRelease = function() {
    var msg = this._parent.user_input;
    var stat = this._parent.stat;

    if(msg != "") {
        this._parent.stat = "Sender beskeden...";
        this._parent.user_input = "";
        setTimeout(myFunc, 1500);
    } else {
        trace("Du skal indtaste en besked");
    }
}
Avatar billede thulstrup Nybegynder
03. november 2006 - 12:16 #3
Det er på grund af scopet. Prøv at trace this i din myFunc funktion.

Du kan løse det ved at benytte Delegate klassen til at styre scopet:
setTimeout(mx.utils.Delegate.create(this, myFunc), 1500);
Avatar billede Slettet bruger
03. november 2006 - 18:39 #4
scopet?
Delegate?
Avatar billede thulstrup Nybegynder
03. november 2006 - 18:59 #5
Prøv at læse denne tutorial for en forklaring:
http://www.actionscript.org/resources/articles/204/1/Using-EventDispatcher/Page1.html

Fra tutorialen:
"The event object you receive always includes a reference to the caller. This may sound a bit esoteric, if you don't understand don't lose sleep over it, but the scope in which the callback is called can be forced using a Delegate, yet you still know the original piece of code that dispatched the event. That gives you a lot of flexibility, since classes can handle events within their scope while keeping track of the real caller and all of this without ugly hacks, compiler fooling and other things that make babies cry."
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