Avatar billede madshenrik Nybegynder
17. oktober 2001 - 13:32 Der er 28 kommentarer og
2 løsninger

lidt kompliceret cursor problemer (haster)

Jeg har en cursor hvor til jeg låser et movie klip når så jeg skal drage nogle objekter på skærmen får jeg et problem. problemet er som følger når jeg drager et objekt skal musen være skjult og i samme øjeblik jeg slippe skal den være synlig igen. Dette virker med følgende kode

on (press) {
    setProperty (\"/cursor\", _visible, false);
    tellTarget (\"/indgang\") {
        startDrag (\"/indgang\");
    }
}
on (release) {
    setProperty (\"/cursor\", _visible, true);
    tellTarget (\"/indgang\") {
        stopDrag ();
        tellTarget (\"/cursor\") {
            startDrag (\"/cursor\", true);
        }
    }
}\0

men når jeg tilføjer dette
onClipEvent (mouseMove) {

    hit5 = this.hitTest(_root.cursor);
    if (hit5) {
        tellTarget (\"_root.cursor\") {
            setProperty (\"_root.cursor\", _visible, false);
        }
    } else {
        Mouse.hide();
        setProperty (\"_root.cursor\", _visible, true);// det meget kritiske punkt
        startDrag (\"/cursor\", true);
    }
}\0

til et movie klip som jeg ønsker at lave en hittest på for at skjule musen når den kører hen over virker pisset absolut ikke pga. den visible der sættes til true. Jeg ønsker kun at dette skal ske når jeg forlader movie klippet ellers ikke altså else statementet.

Er der nogen der kan fortælle mig hovrdan jeg opnår dette.

Mads
Avatar billede madshenrik Nybegynder
17. oktober 2001 - 13:34 #1
fik åbenbart ikke det hele med.

men når jeg tilføjer dette
onClipEvent (mouseMove) {

    hit5 = this.hitTest(_root.cursor);
    if (hit5) {
        tellTarget (\"_root.cursor\") {
            setProperty (\"_root.cursor\", _visible, false);
        }
    } else {
        Mouse.hide();
        setProperty (\"_root.cursor\", _visible, true);// det meget kritiske punkt
        startDrag (\"/cursor\", true);
    }
}\0

til et movie klip som jeg ønsker at lave en hittest på for at skjule musen når den kører hen over virker pisset absolut ikke pga. den visible der sættes til true. Jeg ønsker kun at dette skal ske når jeg forlader movie klippet ellers ikke altså else statementet.

Er der nogen der kan fortælle mig hovrdan jeg opnår dette.

Mads


Avatar billede madshenrik Nybegynder
17. oktober 2001 - 13:34 #2
til et movie klip som jeg ønsker at lave en hittest på for at skjule musen når den kører hen over virker pisset absolut ikke pga. den visible der sættes til true. Jeg ønsker kun at dette skal ske når jeg forlader movie klippet ellers ikke altså else statementet.

Er der nogen der kan fortælle mig hovrdan jeg opnår dette.

Mads
Avatar billede lingoman Nybegynder
17. oktober 2001 - 13:36 #3
Hvad er problemet ? at \"cursor\" befinder sig det forkerte sted  on (release) ?
Avatar billede lingoman Nybegynder
17. oktober 2001 - 13:40 #4
Mads, tag det med ro! Det haster så meget at jeg slet ikke kan forstå din formulering!
Avatar billede beatone Nybegynder
17. oktober 2001 - 13:42 #5
ja jeg forstår heller ikke helt...
Avatar billede madshenrik Nybegynder
17. oktober 2001 - 13:45 #6
Nej jeg ved det godt men jeg har lidt svært ved at formulere det prøver lige igen.
Avatar billede lingoman Nybegynder
17. oktober 2001 - 13:46 #7
1. Er der 2 MC\'er der skal følge musen når musen ikke er over den 3. MC?
2:Skal cursorMC blive usynlig når man er over den 3.?
Avatar billede madshenrik Nybegynder
17. oktober 2001 - 13:47 #8
Det  jeg absolut ikke forstår er hvorfor at en onclipevent(mousemove) udføres hele tiden når musen bevæger sig, og ikke kun når jeg bevæger musen på selve movie klippet.

Mads
Avatar billede madshenrik Nybegynder
17. oktober 2001 - 13:50 #9
i er det der sker når jeg forsøger at drage det ene movieklip at musen skal blive usynlig og så længe jeg holder musetasten nede skal jeg kunne flytte movieklippet. når jeg releaser movieklippet skal min mus gå tilbage og drage det oprindelige museklip efter sig.

mads
Avatar billede lingoman Nybegynder
17. oktober 2001 - 13:51 #10
mouseMove eventen udløses kun når musen bevæger sig. Den tjekker ikke om den befinder sig over en MC: Det kan man så gøre med et hittest.
Avatar billede beatone Nybegynder
17. oktober 2001 - 13:53 #11
det skal du ikke bruge mousemove til...

Jeg tror bare du skal bruge din gamle kode...lidt modificeret.

on (press) {
    setProperty (\"/cursor\", _visible, false);
    startDrag (\"/indgang\");
}
on (release) {
    setProperty (\"/cursor\", _visible, true);
    stopDrag (\"/indgang\");
    startDrag (\"/cursor\", true);
}


...jeg har dog ikke testet det...
Avatar billede lingoman Nybegynder
17. oktober 2001 - 13:54 #12
Hvad skal der ske når musen er over det 3. clip ?
Avatar billede madshenrik Nybegynder
17. oktober 2001 - 14:03 #13
lingoman problemet er jo at jeg når jeg forlader movieklippet sætter den til at være visible fordi denne kode også udføres når jeg stopper med at drage mit andet movieklip

Mads
Avatar billede beatone Nybegynder
17. oktober 2001 - 14:03 #14
sådan som jeg forstår det har mads lavet sin egen cursor som han jo ikke kan dragge mens han dragger noget andet. Derfor skal den skjules mens han dragger den anden og vises igen når han er færdig med det...

der er forresten en fejl i min lille kode

stopDrag (\"/indgang\");

skal selvf. bare være

stopDrag ();
   
   

Avatar billede madshenrik Nybegynder
17. oktober 2001 - 14:06 #15
beatone du har ret i hvad du skriver men det virker på samme måde som det jeg har. Problemet kommer pga. den ekstra kode der skal til de steder hvor jeg ønsker musen skjult altså de omtalte hit steder.

Mads
Avatar billede madshenrik Nybegynder
17. oktober 2001 - 14:08 #16
fordi flash af en eller anden årsag udfører denne kode
onClipEvent (mouseMove) {
    hit5 = this.hitTest(_root.cursor);
    if (hit5) {
        tellTarget (\"_root.cursor\") {
            setProperty (\"_root.cursor\", _visible, false);
        }
    } else {
        Mouse.hide();
        setProperty (\"_root.cursor\", _visible, true);// det meget kritiske punkt
        startDrag (\"/cursor\", true);
    }
}

når jeg starter med at drage et givent movieklip. Dette ville jeg meget gerne være fri for.

mads
Avatar billede beatone Nybegynder
17. oktober 2001 - 14:10 #17
du kan jo bare lave buttons der hvor den skal skjules og sige:

on (over) {
    mouse.hide;
}
on (out) {
    mouse.show;
}

eller hvad?



Avatar billede lingoman Nybegynder
17. oktober 2001 - 14:12 #18
Du gør livet nemmere for dig selv hvis du undlader at bruge startDrag() som kun tillader et MC ad gangen.
Brug hitTest() i en onClipEvent (enterFrame) i stedet. Så kan begge MC\'er (\"cursorMC\" og \"indgangMC\") følge musen. Naturligvis med kun den ene synlig normalt, og begge usynlige når vi er over den 3.MC
Avatar billede madshenrik Nybegynder
17. oktober 2001 - 14:15 #19
hvordan i h.. startdrager man  uden at bruge startDrag() har du lige et mini eks. lingoman.

Mads
Avatar billede madshenrik Nybegynder
17. oktober 2001 - 14:24 #20
Du må undskylde min hårde formulering men det ville være fedt hvis du havde et eks. på hvordan du mener det kan gøres ved hjælp af en hittest lingoman

Mads
Avatar billede lingoman Nybegynder
17. oktober 2001 - 14:31 #21
OK,here goes...

// \"cursorMC\"
onClipEvent( enterFrame) {
    _x = _root._xmouse;
    _y = _root._ymouse;

  if (_root.visIndgang == true) {
      _visible = 0;
  } else {
    _visible =  !(MC3.hitTest(_root._xmouse,_root._ymouse,true));
  }
}

// \"indgangMC\"
onClipEvent( enterFrame) {
    _x = _root._xmouse;
    _y = _root._ymouse;

  if ( (_root.visIndgang == true) && !MC3.hitTest(_root._xmouse,_root._ymouse,true)){
      _visible = 1;
  } else {
    _visible =  0
  }
}

//knap

on (press) {
  _root.visIndgang = true;
}
on (release) {
  _root.visIndgang = false;
}
Avatar billede lingoman Nybegynder
17. oktober 2001 - 14:33 #22
MC3 er clippet hvor hverken \"cursor\" eller \"indgang\" MC må være synlige
Avatar billede lingoman Nybegynder
17. oktober 2001 - 14:36 #23
Det kan forenkles yderligere hvis du har flere MC3 områder hvor mouseFollowMC\'erne skal blive usynlige
Avatar billede lingoman Nybegynder
17. oktober 2001 - 14:37 #24
Der mangler vist et ; i \"indgangMC\" actionen

  _visible =  0;
Avatar billede madshenrik Nybegynder
17. oktober 2001 - 14:43 #25
det ser spændende ud jeg skal nok lige bruge en time eller to for at teste det men tak for nu.

mads
Avatar billede madshenrik Nybegynder
18. oktober 2001 - 19:13 #26
Er nået frem til en rimelig løsning. Så tak for hjælpen. lingoman du har helt ret i at det er nemmere at styre bare med x, y værdier.

Der er lige nogen der er nød til at svare hvis i vil have pointne.

mads
Avatar billede lingoman Nybegynder
18. oktober 2001 - 19:43 #27
svar :)
Avatar billede madshenrik Nybegynder
18. oktober 2001 - 21:15 #28
hvis beatone vil have en smule må han jo også lige svare.

Mads
Avatar billede beatone Nybegynder
19. oktober 2001 - 00:02 #29
:)
Avatar billede madshenrik Nybegynder
19. oktober 2001 - 16:37 #30
Tak for hjælpen.

Mads
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