Avatar billede thulstrup Nybegynder
17. september 2002 - 10:45 Der er 14 kommentarer og
1 løsning

problem med hitTest

se eksemplet på http://www.overdose.dk

MovieClippet kører frem ved mouseover og tilbage ved mouseout, men kun hvis mouseout sker i flashfilen. Hvis man f.eks bevæger musen uden for browservinduet mens movieclippet et kørt frem, køre det ikke tilbage igen.
Kan man lave det så movieclippet kører tilbage lige meget hvad?

Her er actionscriptet jeg bruger til at hitteste med:

onClipEvent (enterFrame) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
        _root.targetx = 5
        _root.slide.gotoAndPlay("move")
    } else {
        _root.targetx = -217
        _root.slide.gotoAndPlay("move");
    }
}
Avatar billede baitianlong Nybegynder
17. september 2002 - 12:02 #1
Hvad med at løse det ved at sætte en timer på, der f.ske efter 10 sekunder slider tilbage igen - så er problemet løst. Flashen ved ikke hvor musen er, når den ikke er over den selv...
Avatar billede thulstrup Nybegynder
17. september 2002 - 12:36 #2
ok, det lyder da som en meget smart løsning på det problem. Så skal den selvfølgelig ikke slide tilbage, hvis musen er over den.

Så har jeg bare lige en ting til...hvordan laver man sådan en timer? :-)
Avatar billede baitianlong Nybegynder
17. september 2002 - 12:44 #3
n/p...

onClipEvent (enterFrame) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
        _root.targetx = 5
        _root.slide.gotoAndPlay("move")
        starttid = getTimer();
    }
    if(getTimer() >= startid + 10000) { //10000 = 10 sekunder
        _root.targetx = -217
        _root.slide.gotoAndPlay("move");
    }
}

Nu skulle den lukke 10 sekunder efter musen er væk fra den
Avatar billede baitianlong Nybegynder
17. september 2002 - 12:52 #4
hey . Jeg mangler et t i starttid #2 , det skal du lige skrive (o;
Avatar billede thulstrup Nybegynder
17. september 2002 - 12:55 #5
Nu bliver den jo ude i 10 sek, selvom man laver mouseout i flashen.
Avatar billede baitianlong Nybegynder
17. september 2002 - 13:09 #6
onClipEvent (enterFrame) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
        _root.targetx = 5
        _root.slide.gotoAndPlay("move")
        starttid = getTimer();
    } else {
        _root.targetx = -217
        _root.slide.gotoAndPlay("move");
    }
    if(getTimer() >= startid + 10000) { //10000 = 10 sekunder
        _root.targetx = -217
        _root.slide.gotoAndPlay("move");
    }
}
Avatar billede thulstrup Nybegynder
17. september 2002 - 13:34 #7
Nyt problem. Der mangler stadig et t i starttid #2, hvis jeg IKKE retter det virker det fint med timeren, men movieclippet kan ikke køre ud igen, når det først har været helt inde en gang.

Hvis jeg retter det med t'et virker timeren ikke.

Mærkeligt??
Avatar billede baitianlong Nybegynder
17. september 2002 - 13:42 #8
Jeg er ved at fikse det. 5 minutter !!
Avatar billede baitianlong Nybegynder
17. september 2002 - 13:52 #9
Hvad siger du til denne her:

http://www.legendenet.dk/misc/slider.html

Er den OK ? (o;
Avatar billede baitianlong Nybegynder
17. september 2002 - 13:54 #10
Nej ikke helt. kun opad !! Jeg roder lidt videre (o;
Avatar billede thulstrup Nybegynder
17. september 2002 - 13:56 #11
Det ser fint ud bortset fra at, hvis du laver en mouseout uden for flashen køre movien ikke tilbage, men laver en lille spasme istedet :)
Avatar billede baitianlong Nybegynder
17. september 2002 - 14:39 #12
Prøv den nu... Nu er den vist ok...

http://www.legendenet.dk/misc/slider.html
Avatar billede baitianlong Nybegynder
17. september 2002 - 15:05 #13
Så skal dit script se sådan her ud...

onClipEvent(load) {
    _x = start_x =  -217;
    slut_x = start_x;
    function setpos(opned) {
          if(opned) {
              slut_x = 5;
          } else {
              slut_x = start_x;
          }
    }
}
onClipEvent (enterFrame) {
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
          setpos(1);
          if (_root._xmouse < 10 || _root._ymouse < 10) {
              setpos(0);   
          }
    } else {
          setpos(0);
    }
    if(_x != slut_x) {
          _x < slut_x ? _x += (slut_x - _x)/10 : _x -= (-start_x + _x)/10;
    }
}
Avatar billede thulstrup Nybegynder
17. september 2002 - 15:44 #14
Ja, så tror jeg sgu den var der :-)
Rigtigt flot arbejde! Tak for hjælpen legende.dk!
Avatar billede baitianlong Nybegynder
17. september 2002 - 16:04 #15
Selv tak (o; Skulle det være en anden gang...
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