Avatar billede camban Nybegynder
03. januar 2006 - 13:43 Der er 6 kommentarer og
1 løsning

Problem med onMouseMove

Fik hjælp herinde til at få noget til at følge musen, lave hittest og derefter gå til næste frame. Jeg har senere fundet ud af at det ville være godt hvis figuren følger en animation hvis ikke musen er over stage. Jeg har forsøgt mig med følgende, men det fungere ikke ordentligt

Frame 1

stop();

_root.onMouseMove = function() {
    gotoAndStop(2);
    updateAfterEvent();
};

Frame2

stop();

import mx.utils.Delegate;

var thisRoot:MovieClip = this;

var mouseListener:Object = new Object();
Mouse.addListener(mouseListener);

mouseListener.onMouseDown = mx.utils.Delegate.create(thisRoot,mouseOnDown);
mouseListener.onMouseMove = mx.utils.Delegate.create(thisRoot,mouseOnMove);

function mouseOnMove():Void {
    if(hitTest(this)) {
        sigte_mc._x += (this._xmouse-sigte_mc._x)/5;
        sigte_mc._y += (this._ymouse-sigte_mc._y)/5;
    } // else { et eller andet }
}


function hitTest(mc:MovieClip):Boolean {
    if(mc._xmouse < 0) {
        return false;
    }
    if(mc._ymouse < 0) {
        return false;
    }
   
    if(mc._xmouse > 728) {
        return false;
    }
   
    if(mc._ymouse > 90) {
        return false;
    }
   
    return true;
}

function mouseOnDown():Void {
    this.gotoAndStop(3);
}

Frame3
stop();

Lige nu fungere det jo sådan at hvis først musen har været over stagen, bliver du i frame2 istedet for at snimationen går igang  igen. Desuden kommer den aldrig til frame3?

Er der lidt hjælp at hente?
Avatar billede barklund Nybegynder
03. januar 2006 - 13:50 #1
Det var godt nok noget mærkeligt miskmask af forholdsvist moderne script og meget mærkeligt framebaseret ting.

Hvad skal den gøre helt præcist, hvilke elementer indgår, hvordan hænger det sammen - uden at tale script?

:)

--
Morten Barklund
Avatar billede camban Nybegynder
03. januar 2006 - 14:22 #2
Jo måske lidt :o)
Det jeg som udgangspunkt skal have lavet er et banner. Hvis musen ikke er over banneret kører figuren som en animation, men flytter man musen henover banneret følger figuren musen. Ved et klik kommer man til en anden side (uden musefølger).
Avatar billede barklund Nybegynder
03. januar 2006 - 14:26 #3
Tja, for det første fjerner du jo aldrig den onMouseMove, som du sætter i første frame. Den bliver jo ved med at sende brugeren til frame 2 hver gang han bevæger musen.

Derudover skal du jo finde ud af, hvordan du vil opdage, om brugeren har musen udenfor banneret igen. Og det er ikke helt nemt. En populær metode af at fremskrive musens position ud fra de sidste to koordinater og hvis musen igen befinder sig på de sidste af de to koordinater og hvis næste koordinat ville have været uden for - så er musen nok udenfor.

:)

--
Morten Barklund
Avatar billede camban Nybegynder
03. januar 2006 - 16:31 #4
Ok jeg har i hvert fald deleted onMouseMove så den nu også springer til frame3. Ser på den anden løsning i morgen.
Avatar billede camban Nybegynder
09. januar 2006 - 10:33 #5
Jeg har fundet en nogenlunde løsning. Hvis du skal ha lidt point, må du lægge et svar :o)
Avatar billede barklund Nybegynder
09. januar 2006 - 10:50 #6
Will do... :)
Avatar billede barklund Nybegynder
09. januar 2006 - 21:07 #7
Tark for points :)
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