Avatar billede d-avid Nybegynder
26. november 2007 - 14:32 Der er 3 kommentarer

Hvor lang tid en knappe holdes inde i AS3

Hej

Jeg sidder med et problem i Adobe Flash CS3 i actionscript 3.0

Skal lave en knap, som skal holdes nede i 3 sekunder før der sker noget. Så skal altså teste for hvorlang tid knappen holdes nede.

Altså noget i stil med

if (knap = nedtrykket){
    counter=counter+1;
}

Håber meget der er et lyst hoved derude som kan hjælpe mig med dette problem.

Mvh
D-avid
Avatar billede larsholmgaard_dk Nybegynder
27. november 2007 - 22:07 #1
På din button on(press): Mål tiden og gem den i en variabel.

På din button on(release): Mål tiden træk den første tid fra. Er resultatet>3000 ms så counter++.

Det er skrevet i pseudokode, men det burde kunne hjælpe dig med at formulere den endelige kode. :-)
Avatar billede d-avid Nybegynder
28. november 2007 - 09:32 #2
Jo sådan kan man gøre det i action script 2.0 men jeg laver det i action script 3.0 og der skal man lave en eventListener, og kan altså ikke lægge noget kode på selve knappen.

knap.addEventListener(MouseEvent.MOUSE_DOWN, startCounter);

Har lavet denne Listener, men det kald kommer kun en gang og bliver ikke gentaget selv om man holder knappen nedtrykt.

/D-avid
Avatar billede d-avid Nybegynder
28. november 2007 - 09:35 #3
Ups, men ser nu din ide måske alligevel kan bruges. Man skal bare lave to Listener. En hvor man starter tælleren (MOUSE_DOWN). Og en anden (MOUSE_UP) hvor man stopper tælleren og trækker dem fra hinanden. Det vil jeg prøv om jeg kan få til at virke.

Men kunne nu godt stadigvæk tænke mig at lave noget hvor man kan afgører om knappen holdes ned, og altså ikke bare et enkelt klik.

/D-avid
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

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