Avatar billede madshenrik Nybegynder
30. september 2001 - 15:07 Der er 30 kommentarer og
3 løsninger

cursor problem

Jeg har et movieclip som følger musen overalt men jeg har på siden nogle tekst felter som ligger i et movieclip for sig selv men hvordan undgår man at musen følger med ind over disse tekstfelter har forsøgt en del med skjulte knapper men de laver sku ged i den.

mads
Avatar billede t-rexz Nybegynder
30. september 2001 - 15:16 #1
Hmm... Du kunne lave en tom frame i dit cursor-mc og så lægge en usynlig knap under dine tekstfelter. På roll over skulle knappen så bede cursoren som at gå til den tomme frame, og roll out tilbage til cursorframen.
Avatar billede t-rexz Nybegynder
30. september 2001 - 15:26 #2
Avatar billede mat Nybegynder
30. september 2001 - 16:52 #3
Det her virker på min maskine (har lige bikset det sammen, man lærer hele tiden noget) :)

På dit mc med tekstboxen:

onClipEvent (enterFrame) {
    if (this != _root.clip) {
        _root.clip._visible = true;
    }
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
        _root.clip._visible = false;
    }
}

..hvor clip er det mc-instance vi drag´er.

Håber det kan bruges til noget
Avatar billede lingoman Nybegynder
30. september 2001 - 17:39 #4
Hvis ikke du vil gøre MC\'en usynlig som i mat\'s eksempel, findes der også andre muligheder.

Selve musen vil nok altid kunne komme ind over tekstfelterne, men du KAN disable din MC\'s følg-mus action når musen er over et tekstfelt.

Hvordan ser denne action ud? Vi kan sikkert nøjes med at redigere den lidt :)

mvh geo
Avatar billede madshenrik Nybegynder
30. september 2001 - 17:42 #5
hvor skulle denne kode placeres på mc klippet mat
Avatar billede madshenrik Nybegynder
30. september 2001 - 17:44 #6
Hvordan gøres dette lingoman
Avatar billede madshenrik Nybegynder
30. september 2001 - 17:53 #7
Lingoman det lyder som det jeg er interesseret i men er bare ikke sikker på hvad du mener og hvordan det skal gøres.

Mads
Avatar billede mat Nybegynder
30. september 2001 - 17:54 #8
koden lægges på det instance med textfeltet, på din hovedscene.
Avatar billede mat Nybegynder
30. september 2001 - 18:30 #9
Hej lingoman :)

Når du skriver disable følg-mus action, går jeg ud fra at du mener med en stopDrag ();

Man kan godt lave koden:

onClipEvent (enterFrame) {
    if (this != _root.clip) {
        startDrag (\"_root.clip\", true);
    }
    if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
        _root.clip.stopDrag ();
    }
}

men det efterlader det drag´ede objekt ret underligt i text-mc´et, men det er meget underholdende :D
Avatar billede lingoman Nybegynder
30. september 2001 - 19:05 #10
Hej igen,

Vi kan teste om cursoren befinder sig over en tekstMC, og kun tillade at MCen følger cursoren hvis svaret er nej = false

Din MC som følger musen skal så have en action

onClipEvent (enterFrame) {
          hit1 =_root[\"tekstMC1\"].hitTest(_root._xmouse, _root._ymouse, true);
          hit2 =_root[\"tekstMC2\"].hitTest(_root._xmouse, _root._ymouse, true);
          hit3 =_root[\"tekstMC3\"].hitTest(_root._xmouse, _root._ymouse, true);
          hit4 =_root[\"tekstMC4\"].hitTest(_root._xmouse, _root._ymouse, true);

        if ( hit1 + hit2 + hit3 + hit 4 > 0 ) {
                              // vi er over mindst 1 tekstfelt så hold op med at følge cursoren
          } else {
          //ingen tekstfelter i vejen, så følg cursor

          this._x = _root._xmouse;
          this._y = _root._ymouse;
          }
}

benyt dine egne tekstMC instance navne, og tilføj flere hitX variabler hvis du har flere tekstbokse

Håber at det er til at forstå!

mvh geo
Avatar billede lingoman Nybegynder
30. september 2001 - 19:17 #11
Mat > Hvis vi gerne vil undgå at MCen følger ind over teksten kan actionen modificeres lidt

onClipEvent (enterFrame) {
                                  hit1 =_root[\"tekstMC1\"].hitTest(this);
                                  hit2 =_root[\"tekstMC2\"].hitTest(this);
                                  hit3 =_root[\"tekstMC3\"].hitTest(this);
                                  hit4 =_root[\"tekstMC4\"].hitTest(this);

                                if ( hit1 + hit2 + hit3 + hit 4 > 0 ) {
                                                      // vi er over mindst 1 tekstfelt så hold op med at følge cursoren
                                  } else {
                                  //ingen tekstfelter i vejen, så følg cursor

                                  this._x = _root._xmouse;
                                  this._y = _root._ymouse;
                                  }
                        }

Så kommer den til at standse før centrum rammer tekstfelterne :)
Avatar billede mat Nybegynder
30. september 2001 - 19:36 #12
Klart nok du, så håber vi bare at mads kan bruge det til noget :)
Avatar billede madshenrik Nybegynder
30. september 2001 - 19:49 #13
Det vil sige at mine tekst felter skal laves om til enkelt stående mc\'er eller hva.

mads
Avatar billede lingoman Nybegynder
30. september 2001 - 20:13 #14
Ja, jeg kunne forstå på dig at dine tekstfelter allerede var  i movieClips. Jeg har derfor lavet en fla med 3 tekstMC\'er og en sort cirkel der følger musen. Vil du have den til at kigge på ? Så send en mail til mig:)

geo@lingoman.dk

actionen er her

onClipEvent (load) {
    safeX = this._x;
    safeY = this._y;
}
onClipEvent (enterFrame) {
    hit1 = _root[\"tekstMC1\"].hitTest(this);
    hit2 = _root[\"tekstMC2\"].hitTest(this);
    hit3 = _root[\"tekstMC3\"].hitTest(this);
    if (hit1+hit2+hit3>0) {
        // vi er over mindst 1 tekstfelt så hold op med at følge cursoren
        // så gå tilbage til sidste safe position
        this._x = safeX;
        this._y = safeY;
        // }
    } else {
        // ingen tekstfelter i vejen, så følg cursor, men husk sidste safe koordinater
        safeX = this._x;
        safeY = this._y;
        this._x = _root._xmouse;
        this._y = _root._ymouse;
        // test ny placering
        hit1 = _root[\"tekstMC1\"].hitTest(this);
        hit2 = _root[\"tekstMC2\"].hitTest(this);
        hit3 = _root[\"tekstMC3\"].hitTest(this);
        if (hit1+hit2+hit3>0) {
            this._x = safeX;
            this._y = safeY;
        }
    }
}


mvh geo
Avatar billede madshenrik Nybegynder
30. september 2001 - 20:32 #15
min mail er mads@victor-film.dk
Avatar billede lingoman Nybegynder
30. september 2001 - 20:35 #16
Ok, sender filen nu...
Avatar billede lingoman Nybegynder
30. september 2001 - 20:52 #17
Er den til at forstå, og var det noget i den retning du var ude efter ?
Avatar billede madshenrik Nybegynder
30. september 2001 - 20:57 #18
Ja det noget i den retning men de tekstfelter den ikke må kører ind over ligger i et movieclip som ligger på hovedscenen derfor tror jeg ikke det er root der skal bruges.

Mads
Avatar billede lingoman Nybegynder
30. september 2001 - 21:10 #19
Mine tekstfelter ligger også i hvert sit movieClip som ligger på hovedscenen.
Avatar billede lingoman Nybegynder
30. september 2001 - 21:43 #20
Du laver bare nogle tomme MCer som ramme omkring dine tekstfelter. Hvis du så placerer dem så de ligger på hovedscenen virker det efter hensigten selvom du ikke har tekstfelterne i hvert sit MC.
Avatar billede lingoman Nybegynder
30. september 2001 - 21:56 #21
Alternativt kan du have alle dine tekstfelter i een swf uden baggrundsgrafik og loade den ind i _level2.
Din followMouseMC skal så være i _level1. Så vil den forsvinde bag tekstfelterne når cursoren er over et tekstfelt men er ellers synlig.

mvh geo
Avatar billede madshenrik Nybegynder
30. september 2001 - 23:06 #22
Det jeg har er en hovedscene hvorpå der ligger et movieclip hvori mine tekstfelts movieclip ligger. Kan jeg ikke i koden fortælle den direkte sti i stedet for _root.

Mads
Avatar billede lingoman Nybegynder
30. september 2001 - 23:20 #23
Når dine tekstfelter ikke ligger i selvstændige MC\'er kan du ikke bruge actionScript. Derimod kan du bruge mit indlæg fra 30/09 2001 21:56:55  direkte. Der skal du så sørge for at tekstfeltMC\'et ligger øverst når du bruger loadMovieNum().

mvh geo
Avatar billede mat Nybegynder
01. oktober 2001 - 10:32 #24
Godmorgen :)

Er det ikke ved at være lidt rodet det her, eller har du fået det til at fungere mads?

Som lingoman så ganske korrekt påpeger kan du ikke bruge AS, hvis du ikke ligger tekstfelterne i movieclips. Og ligger disse mc´s på hovedscenen er det netop det lingo skriver du skal bruge.

(Dog mener jeg det ser bedre ud at gøre det drag´ede objekt usynligt frem for at lade det ligge og flyde på scenen, men smag og behag ;)

At begynde at splitte det hele op i flere .swf´er er lidt overdrevent er det ikke, ovenstående løsninger virker jo fint.
Avatar billede lingoman Nybegynder
01. oktober 2001 - 10:43 #25
Go\' morn mat!
Ja, det er et spørgsmål om hvilken effekt mads er ude efter. Noget redigering må der vel til under alle omstændigheder for at få det til at virke :)
Avatar billede madshenrik Nybegynder
01. oktober 2001 - 14:37 #26
Jeg har fået det til at virke tildels men nu har jeg de metoder jeg skal bruge så mon ikke det kommer inden længe, og jo mat jeg vil også have cursor mc\'en til at være usynlig men det vil jeg mene er rimeligt nemt.

Mads
Avatar billede mat Nybegynder
01. oktober 2001 - 14:41 #27
Det her kan du ligge på alle dine mc-tekstfelter:

onClipEvent (enterFrame) {
    if (this != _root.clip) {
        _root.clip._visible = true;
    }
    if (this.hitTest(_root.clip)) {
        _root.clip._visible = false;
    }
}

..og hvis du også vil gemme den \"rigtige\" cursor (pilen):

onClipEvent (enterFrame) {
    if (this != _root.clip) {
        _root.clip._visible = true;
        Mouse.hide();
    }
    if (this.hitTest(_root.clip)) {
        _root.clip._visible = false;
        Mouse.show();
    }
}

(drag ligger oppe i de implicerede frames: startDrag (\"clip\", true);)
Avatar billede madshenrik Nybegynder
02. oktober 2001 - 13:06 #28
Der må være nogle flere der er interesseret i at få point. Hvis dette er tilfældet må i lige svare så i kan få jeres point.

Mads
Avatar billede mat Nybegynder
02. oktober 2001 - 13:32 #29
..jeg kan da godt poste et svar, men vent lige på lingoman :)
Avatar billede lingoman Nybegynder
02. oktober 2001 - 13:48 #30
mat>Tak for din omtanke :)
mads> Hvad fandt du ud af ?
Avatar billede madshenrik Nybegynder
11. oktober 2001 - 10:17 #31
Jeg har lavet en løsning har den dog ikke lige nu så jeg poster det lige når jeg kommer hjem.

Mads
Avatar billede lingoman Nybegynder
12. oktober 2001 - 21:14 #32
Vi venter spændt...
Avatar billede madshenrik Nybegynder
22. oktober 2001 - 09:23 #33
Det her virker fint. Tak lingoman.

onClipEvent (enterFrame) {
    hit1 = _root.gastebog.besked.hitTest(this);
    hit2 = _root.gastebog.navn.hitTest(this);
    hit3 = _root.gastebog.email.hitTest(this);
    hit4 = _root.gastebog.sagtomsite.hitTest(this);
    hit5 = _root.aforisme.hitTest(this);
    if (hit1 || hit2 || hit3 || hit4 || hit5) {
        tellTarget (\"_root.cursor\") {
            setProperty (\"_root.cursor\", _visible, false);
        }
    } else {
        Mouse.hide();
        setProperty (\"_root.cursor\", _visible, true);
    }
    _x = _root._xmouse;
    _y = _root._ymouse;
    Mouse.hide();
}\0

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