Avatar billede peter_molgaard Nybegynder
25. september 2003 - 08:17 Der er 5 kommentarer og
1 løsning

Sætte tiden i timeOut

Jeg har et timeOut objekt der hedder:
  timeout ("skiftBillede").new (2000, #skift)
- det fungerer fint,
men vil gerne kunne regulere tiden, mens programmet kører:
- f.eks.
  if member("2sek").hilite=true then speed=2000
  if member("6sek").hilite=true then speed=6000
-som aktiveres med:
  timeout ("skiftBillede").new (speed, #skift)

Det fungerer mens jeg redigerer, men jeg kan ikke få det til at fungere når jeg laver en projector eller en shockwave. Hvad gør jeg galt ?
Avatar billede kanding Nybegynder
25. september 2003 - 08:40 #1
For det første er det godt at gemme referencen til timeOut objectet i en variabel

gTimeOutObj = timeout("skiftBillede").new (2000, #skift)

I den handler der bliver kaldt kan du gøre følgende:

on skiftBillede
if member("2sek").hilite=true then
speed=2000
end if
  if member("6sek").hilite=true then
speed=6000
end if
gTimeOutObj.forget()
gTimeOutObj = timeout("skiftBillede").new (speed, #skift)

end


Der kan også godt være problemer med if then sætninger på samme linie
Avatar billede peter_molgaard Nybegynder
25. september 2003 - 20:13 #2
Det virker !!! :) Taaak!!! Men kan du kort forklare mig hvorfor det er godt at gemme referencen ?
Avatar billede kanding Nybegynder
25. september 2003 - 22:35 #3
Det er hurtigere for lingo compileren
Det kan gøre det mere læsesligt kode mæssigt

Generelt når du skal gøre noget mere end en gang, så smid det i en variabel

fx.:

a = b + 10
c = d-e(+10)

bedre
speed = 10
a = b + speed
c = d-e(+speed)

Lettere at læse og lettere lige at ændre speed til fx. 12
Avatar billede peter_molgaard Nybegynder
26. september 2003 - 07:20 #4
Tak igen - også for tippet med if - then.
Avatar billede ask-m Nybegynder
26. september 2003 - 09:28 #5
en lille tilføjelse/ændring til Kandings script..

istedet for at oprette et nyt timeOutObject hver gang, kan du blot ændre på den property der definere hvor lang tid der går mellem hver kald. Propertien hedder "period". Dvs.:

gTimeOutObj.period = speed

istedet for

gTimeOutObj.forget()
gTimeOutObj = timeout("skiftBillede").new (speed, #skift)


just a thought!
Ask-M
Avatar billede kanding Nybegynder
26. september 2003 - 09:50 #6
fedt Ask, den kendte jeg ikke ;-)
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
Kurser inden for grundlæggende programmering

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