Avatar billede rafix Nybegynder
08. december 2004 - 12:43 Der er 13 kommentarer og
2 løsninger

_y slider

Hej jeg har lavet et Mclip som skal bevæge sig ad y aksen alt efter hvor på y aksen musen er. Jeg har kopieret et script og prøvet at få det til at virke men det opføre sig noget underligt?
her er koden som ligger i første frame af Mclippet:

centro = mc1._y;
bordeleft = centro-mc1._width/6;
borderight = centro+mc1._width/6;
speed = 10;
friction = 0.3;
function slidemonster() {
    mc1._y += speed;
    speed *= friction;
    if (mc1.hitTest(_root._xmouse, _root._ymouse, true)) {
        speed += (centro-_ymouse)/30;
    }
    if (mc1._y>borderight) {
        mc1._y -= mc1._width/3;
    }
    if (mc1._y<bordeleft) {
        mc1._y += mc1._width/3;
    }
}

i anden frame ligger scriptet: slidemonster ()
I tredje og sidste frame ligger scriptet: gotoAndPlay(_currentframe-1);

http://www.because.dk/test.htm - referencer

kan nogen hjælpe
Avatar billede baitianlong Nybegynder
08. december 2004 - 15:03 #1
Den menu der skal køre op/ned alt efter musen?

Skriv dette på menu-movieclippet:

onClipEvent(enterFrame) {
  if(this.hitTest(_root._xmouse, _root._ymouse)) {
      fart = (_root._ymouse - 200) / 10;
      this._y += fart;
  }
}

:)
Avatar billede rafix Nybegynder
08. december 2004 - 15:14 #2
den virker, men det kan godt være at jeg har formuleret mig forkert.. Mclippet skal jo egentlig bevæge sig modsat af musen - så når man tager musen ned køre Mclippet op og omvendt. ligeledes skal det også have en max og min scale.
Avatar billede baitianlong Nybegynder
08. december 2004 - 15:21 #3
så skal du bare skrive this._y -= fart; i stedet for

max og min scale... hmmm, med det mener du vel at den skal stoppe på et eller andet tidspunkt. Så skriver du bare f.eks:

if(this.hitTest(_root._xmouse, _root._ymouse) && this._y > -100 && this._y < 100) {
Avatar billede rafix Nybegynder
08. december 2004 - 15:42 #4
hmm.. når jeg sætter det sidste ind i scriptet istedet for:

if(this.hitTest(_root._xmouse, _root._ymouse)) {

så sker der ikke noget?. Jeg prøvede at ændre tallene.. Kan man ikke lave det sådan at når musen køre feks lidt ned begynder Mclippet at køre op men stopper ikke før det når max og omvendt. som det er nu bliver det svært at ramme de forskellige knapper.. (ved ikke om det er et andet spørgsmål, men jeg vil meget gerne give flere point.. :))
Avatar billede baitianlong Nybegynder
08. december 2004 - 15:50 #5
Sådan der, nu skulle den gerne køre langsomt op eller ned alt efter hvor man rammer, og den bliver ved indtil den når -100 eller 100...

onClipEvent(enterFrame) {
  if(this.hitTest(_root._xmouse, _root._ymouse) && !go) {
      if(_root._ymouse > 200) {
        opned = "op";
        go = true;
      } else {
        opned = "ned";
        go = true;
      }
  }
  if(go) {
      this._y += opned == "op" ? -5 : 5;
      if(this._y < -100 || this._y > 100) go = false;
  }
}

:)
Avatar billede baitianlong Nybegynder
08. december 2004 - 15:57 #6
Eller rettere sådan her (nu har jeg også testet det ;):

onClipEvent(load) {
    starty = _y;
}
on(rollOver) {
  if(!go) {
      if(_root._ymouse > 200) {
        opned = "op";
        go = true;
      } else {
        opned = "ned";
        go = true;
      }
  }
}
onClipEvent(enterFrame) {
  if(go) {
      this._y += opned == "op" ? -5 : 5;
      if(this._y < starty - 100 || this._y > starty + 100) go = false;
  }
}
Avatar billede rafix Nybegynder
08. december 2004 - 16:04 #7
hmm.. kan ikke rigtig få det til at virke?..

Prøv at tjek det her: http://www.because.dk/test.htm

Under referencer..
Avatar billede baitianlong Nybegynder
08. december 2004 - 16:13 #8
Jeg tror måske det er pga. de 200, skift det ud med this._height/2
Avatar billede rafix Nybegynder
08. december 2004 - 16:20 #9
hmm.. den gør stadig det samme?.. kan det have noget at gøre med at jeg også har et andet Mclip i filmen som også fungere som en slide lidt på samme måde men bare horisontalt - det bliver styret alt efter hvilke knap man bruger på ref listen..
Avatar billede rafix Nybegynder
08. december 2004 - 16:58 #10
jeg giver dig lige nogle point og tak for hjælpen.. jeg bliver nødtil at smutte nu, hvis du kommer i tanke om hvordan man kan løse problemet ville det være cool..
Princippet i den er det samme som er set en del gange efterhånden..
Avatar billede rafix Nybegynder
10. december 2004 - 13:35 #11
hej igen,
Jeg bruger det her script - men det virker stadig ikke?..
Jeg har uploadet til det ovenstående link..

onClipEvent(load) {
    starty = _y;
}
on(rollOver) {
  if(!go) {
      if(_root._ymouse > this._height/2) {
        opned = "op";
        go = true;
      } else {
        opned = "ned";
        go = true;
      }
  }
}
onClipEvent(enterFrame) {
  if(go) {
      this._y += opned == "op" ? -5 : 5;
      if(this._y < starty - 100 || this._y > starty + 100) go = false;
  }
}
Avatar billede baitianlong Nybegynder
10. december 2004 - 14:23 #12
Jeg fatter ikke hvorfor det ikke virker hos dig... Her er en fil med nøjagtig samme script:

www.legende.dk/opned.html

www.legende.dk/opned.zip
Avatar billede rafix Nybegynder
10. december 2004 - 15:27 #13
Det link virker heller ikke på min comp?? (den scroller meget underligt i hak - og kun vis jeg flytter musen frem og tilbage over kanten af filmen??). Men jeg har fået det til at virke ved at påføre dette script i frame 2 (1 er blank) istedet for at påføre Mclippet et script:

mouseY = _ymouse;
menuY = _root.zoobar_mc.menu._y;
 
if (mouseY > 100) {
  diff = (mouseY-100)/15;
}
if (mouseY < 100) {
  diff = (100-mouseY)/15;
}
if (mouseY <= 100 && menuY <= 600) {
  setProperty("menu", _y, menuY+diff);
}
if (mouseY >= 100 && menuY >= 200) {
  setProperty("menu", _y, menuY-diff);
}
if (_root.zoobar_mc.menu._y >= 600) {
  _root.zoobar_mc.menu._y = 600;
} else if (_root.zoobar_mc.menu._y <= 200) {
  _root.zoobar_mc.menu._y = 200; 
}
gotoAndPlay(2);
Avatar billede rafix Nybegynder
10. december 2004 - 15:32 #14
ved du evt om man kan sætte nogle x værdier, så Mclippet kun scroller hvis musen er inden for en defineret bekrænsning på x aksen (feks i lige linje over og under Mclippet)..
Avatar billede baitianlong Nybegynder
10. december 2004 - 17:01 #15
Ja, du kan jo aflæse musens placering med _root._xmouse og _root._ymouse.

Er det Flash4 du bruger for din syntax er noget gammeldags.

setProperty("menu", _y, menuY+diff); => menu._y = menuY+diff;
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