Avatar billede alexander_j Nybegynder
15. februar 2003 - 09:40 Der er 5 kommentarer og
3 løsninger

onRollOver, onRollOut, og onRelease

Jeg har lavet nogle mc's der fungerer som knapper og på disse har jeg defineret onRollOver, onRollOut og onRelease funktioner.

Mine knapper åbner nu nogle andre mc's med sidens indhold - nogle af disse indholds-mc's ligger sig ovenover knapperne - hvilket alt sammen er meget fint!

Mit problem er at knapperne stadig er aktive, selvom der ligger et andet mc ovenover - dvs. jeg kan stadig trykke på knapperne selvom de er gemt bag ved et af mine indholds-mc!

Hvordan gør jeg kun det synlige aktivt?

Har selv tænkt på at lave en rollover-fuction på hele mit indholds-mc, men synes det er irriterende, at musecursoren ændre sig - så kunne jeg naturligvis ændre musecursoren også, men det virker lidt bøvlet :-(
Avatar billede thulstrup Nybegynder
15. februar 2003 - 10:17 #1
Du kan lave knapperne inaktive med _visible. F.eks:

on(release){
    this._visible = false;
    _parent.knap2._visible = false;
}

Når du så skal bruge knapperne igen skal du bare sætte _visible = true;
Avatar billede alexander_j Nybegynder
15. februar 2003 - 11:59 #2
Knappen skal ikke gøres usynlig bare fordi man trykker på den - det er kun nogle af mine indholds-mc's der ligger over knapperne (faktisk er mine indholds-mc's dragbare og kan flyttes ind over knapperne)!

Nogle gange kan knappen også være halvt synlig, altså indholds-mc'et ligger halvt inde over knappen - men release og rollover virker stadig på den del der ikke er synlig :-(
Avatar billede thulstrup Nybegynder
15. februar 2003 - 12:31 #3
Jeg havde selv engang et problem der minde om dit. Jeg tror du kan løse det ved at ligge det her på dine indholds-mc's:

if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
    _root.indholdsMcErAktivt = true;
} else {
    _root.indholdsMcErAktivt = false;
}


Og det her på dine knapper:

if (_root.indholdsMcErAktivt) {
    return false;
} else {
        //gørNogetVildtHer
}
Avatar billede alexander_j Nybegynder
15. februar 2003 - 12:48 #4
hmm - ser lige så besværligt ud som at lave en rollovereffekt på mine indholds-mc hvor cursoren defineres som normalpil!
Avatar billede baitianlong Nybegynder
15. februar 2003 - 15:48 #5
Lav en tom frame i de knap-mc og send dem derhen når de skal være inaktive (o;
Avatar billede alexander_j Nybegynder
15. februar 2003 - 19:07 #6
legende --> men hvordan gør jeg kun den synlige del af knappen aktiv, når knappen er halvt dækket af et indholds-mc?
Avatar billede baitianlong Nybegynder
15. februar 2003 - 20:06 #7
Godt spørgsmål:

on(rollOver) {
  if(!_root.McSomFlyverRundt.hitTest(_root._xmouse, _root._ymouse, true)) {
   
Mit bedste bud (o;
Avatar billede alexander_j Nybegynder
16. februar 2003 - 23:23 #8
Løste problemet ved at lave baggrunden på mit indholdsmc om til et movieclip i sig selv - på dette mc lavede jeg en tom rollOver-funktion samt satte musemarkøren til ikke at vise handcursor:
createEmptyMovieClip ("bg", 3);
with(bg){
    lineStyle (2, 0x333333, 100);
    beginFill (0xCCCCCC, 100);
    moveTo (0, 15);
    lineTo (w, 15);
    lineTo (w, h+15);
    lineTo (0, h+15);
    lineTo (0, 15);
    endFill();
}
bg.useHandCursor=0;
bg.onRollOver=function(){};

På denne måde agere baggrunden en slags knap med rollOver-funktion uden handcursor - og bagvedliggende knapper bliver altså inaktive!

Tak for 'hjælpen', jeg synes vi skal dele pointene ligeligt i tre!
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