Avatar billede dava Nybegynder
11. juni 2003 - 14:02 Der er 2 kommentarer og
1 løsning

Function der "venter" på brugerens input?

Jeg tænkte på om man i Flash kan konstrere et MC der har samme funktionalitet som javascripts confirm() metode.

Det jeg roder med er noget i retning af dette:

Man har en MC der er udformet som en lille dialogbox med OK og Cancel knapper. OK knappen returnerer "true" og Cancel knappen returnerer "false".
- Dette skulle der ikke være nogen ben i...

Det jeg har problemer med er hvorledes man kalder et sådant MC.
Det jeg gerne vil er følgende:

I f.eks. _root. har man en instance af sit MC der hedder "confirm".
Man har så en funktion der af en eller anden årsag har brug for at brugeren siger "OK" eller "Cancel" til noget:
Et "tænkt" eksempel:

funktion gørNoget ()
{
  gør et eller andet AS stuff der
  kræver at brugeren skal sige ja eller nej
  if (_root.confirm.okOrCancel ())
  {
    brugeren har klikket "OK"
  }
  else
  {
    brugeren har klikket "cancel"
  }
}

- Det jeg helt konkret har problemer med at fange er hvordan - og om det overhovedet er muligt - at lade gørNoget() funktionen "hænge" og vente på at okOrCancel () funktionen i confirm-instancen returnerer en bool. Hvis det hele går automatisk så er der jo no prob, men i og med at okOrCancen () jo venter på brugerens input synes jeg det er lidt tricky.
Så det jeg godt kunne tænke mig at vide er, om det 1. overhovedet kan lade sig gøre, og 2. hvordan skal okOrCancel () funktionen skrues sammen i fald Flash tillader en konstruktion som denne.

Håber mit spm giver mening, det er lidt svært at forklare (tror jeg) :-)
Avatar billede baitianlong Nybegynder
11. juni 2003 - 14:59 #1
Hvis din ok knap sætter en variabel til true, er det vel ikke så svært, nu kalder vi den bare _root.ok, din cancel knap kan så sætte _root.cancel til true:

Skriv dette i tidslinien.

createEmptyMovieClip("kontrol", 0);
kontrol.onEnterFrame = function() {
  if(!done) { 
      if(_root.ok) {
        //brugeren har klikket ok
        done = 1;
      } else if(_root.cancel) {
        //brugeren har trykket cancel
        done = 1;
      }
  }
}
Avatar billede dava Nybegynder
12. juni 2003 - 01:30 #2
Har eksperimenteret lidt med dit forslag og har "fusket" mig frem til noget der virker. Tak for hjælpen, det var den med onEnterFrame der gjorde forskellen :)
Avatar billede baitianlong Nybegynder
12. juni 2003 - 12:12 #3
ok, selv tak (o;
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