Avatar billede theselfimages Nybegynder
28. oktober 2003 - 17:32 Der er 7 kommentarer og
1 løsning

Hjælp til Actionscript (Wait function)

Kan man lave en WAIT funktion med Actionscript i Flash MX?
Vil gerne kunne gøre nedenstående:

stop;
first_yPos = 0;
(VENT X ANTAL SEKUNDER; then)
first_yPos = -245;
(VENT X ANTAL SEKUNDER; then)
first_yPos = -490;
(ETC)
(END)
Avatar billede barklund Nybegynder
28. oktober 2003 - 17:38 #1
flash er frame-baseret... essensen er at lave sin mellemrum med frames. Det kan man så lave lidt snørklet, for eksemplet med setInterval:

settings = [[0, 0], [4000, -245], [4000, -490]];

function nextSetting(settings, counter) {
    clearInterval(interval);
    first_yPos = settings[counter][1];
    counter++;
    if (counter < settings.length) {
        interval = setInterval(nextSetting, settings[counter][1], settings, counter);
    }
}
nextSetting(settings, 0);

For eksempel...
Avatar billede theselfimages Nybegynder
28. oktober 2003 - 17:46 #2
Det er ikke muligt i denne situation at lave mellemrum med frames.
Derfor ønsker jeg en script løsning.

Prøvede sætte dit eksempel ind.
Den kører blot frem til sidste yPos (denne: -490)
og overruler dermed de andre yPos + pauseophold.

Mon det kan lade sig gøre?
Avatar billede barklund Nybegynder
28. oktober 2003 - 17:53 #3
Der var også en lille fejl:

settings = [[0, 0], [10000, -245], [10000, -490]];

function nextSetting(settings, counter) {
    clearInterval(interval);
    first_yPos = settings[counter][1];
    counter++;
    if (counter < settings.length) {
        interval = setInterval(nextSetting, settings[counter][0], settings, counter);
    }
}
nextSetting(settings, 0);
Avatar billede theselfimages Nybegynder
28. oktober 2003 - 18:05 #4
Super! det virker perfekt!
Nu ser det sådan her ud.. men er det muligt at sætte en loop på,
så den starter forfra efter sidste yPos?


settings = [[0, 0], [2400, -245], [2400, -490], [2400, -735]];

function nextSetting(settings, counter) {
    clearInterval(interval);
    first_yPos = settings[counter][1];
    counter++;
    if (counter < settings.length) {
        interval = setInterval(nextSetting, settings[counter][0], settings, counter);
    }
}
nextSetting(settings, 0);
Avatar billede barklund Nybegynder
28. oktober 2003 - 18:08 #5
function nextSetting(settings, counter) {
    clearInterval(interval);
    first_yPos = settings[counter][1];
    counter = (counter+1)%(settings.length);
    interval = setInterval(nextSetting, settings[counter][0], settings, counter);
}
Avatar billede barklund Nybegynder
28. oktober 2003 - 18:08 #6
Burde virke :)
Avatar billede theselfimages Nybegynder
28. oktober 2003 - 18:13 #7
Genialt... Tusind tak for hjælpen!
Avatar billede barklund Nybegynder
28. oktober 2003 - 18:18 #8
Tark for points... :)
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