Avatar billede para7 Nybegynder
24. marts 2003 - 10:18 Der er 8 kommentarer og
1 løsning

Insætte "zoom ud ved højreklik"

Jeg har et ActionScript, som zoomer ind og ud ved mouseDown.
Jeg vil gerne, at man zoomer ud ved højreklik istedet. (Scriptet ligger på ramme/movie clip, man flytter hen over et vektoriseret landkort). Kan nogen sætte det ind i dette script:

onClipEvent (load) {
    xsc = 60;
    ysc = 52;
    factor = 15;
    easing = 5;
    zoom = 1;
    _root.map.easing = easing;
    function scalmap(sc) {
        if (zoom) {
            _root.map.xp = -_root._xmouse*(sc-1);
            _root.map.yp = -_root._ymouse*(sc-1);
            zoom = 0;
        } else {
            _root.map.xp = 0;
            _root.map.yp = 0;
            zoom = 1;
        }
        _root.map.xsc = sc*100;
        _root.map.ysc = sc*100;
    }
    function scalthis(factor) {
        xsc = factor*60;
        ysc = factor*52;
    }
    function rx() {
        return _root._xmouse;
    }
    function ry() {
        return _root._ymouse;
    }
    function autoscala(e) {
        _xscale = _xscale+((xsc-_xscale)/e);
        _yscale = _yscale+((ysc-_yscale)/e);
    }
}
onClipEvent (mouseMove) {
    _x = _root._xmouse;
    _y = _root._ymouse;
    if (!zoom) {
        _root.map.xp = -_root._xmouse*((_root.map.xsc-100)/100);
        _root.map.yp = -_root._ymouse*((_root.map.ysc-100)/100);
    }
}
onClipEvent (mouseDown) {
    if (hitTest(_root._xmouse, _root._ymouse, false) && !_root.overLink) {
        if (factor == 15) {
            scalmap(factor);
            scalthis(factor);
            factor = 1;
            _root.zoomet = 1;
        } else {
            scalmap(factor);
            scalthis(factor);
            factor = 15;
            _root.zoomet = 0;
        }
    }
}
onClipEvent (enterFrame) {
    autoscala(easing);
}
Avatar billede sizx.dk Nybegynder
24. marts 2003 - 10:28 #1
Det er nærmere en programmerings opgave det der... ikke noget der hører til her... men ok... Kig på www.Flashkit.com, der er en tutorial der hedder "Magnifying Glass"... Der kan du hente hjælp vil jeg tro.
Avatar billede thulstrup Nybegynder
24. marts 2003 - 10:38 #2
Hej igen para7. Du kan gøre sådan her, men du flashplayer menu vil jo poppe op ved hvert højre klik:

onClipEvent (load) {
    xsc = 100;
    ysc = 100;
    factor = 3;
    easing = 3;
    zoom = 1;
    _root.map.easing = easing;
    function scalmap(sc) {
        if (zoom) {
            _root.map.xp = -_root._xmouse*(sc-1);
            _root.map.yp = -_root._ymouse*(sc-1);
            zoom = 0;
        } else {
            _root.map.xp = 0;
            _root.map.yp = 0;
            zoom = 1;
        }
        _root.map.xsc = sc*100;
        _root.map.ysc = sc*100;
    }
    function scalthis(factor) {
        xsc = factor*100;
        ysc = factor*100;
    }
    function rx() {
        return _root._xmouse;
    }
    function ry() {
        return _root._ymouse;
    }
    function autoscala(e) {
        _xscale = _xscale+((xsc-_xscale)/e);
        _yscale = _yscale+((ysc-_yscale)/e);
    }
}
onClipEvent (mouseMove) {
    _x = _root._xmouse;
    _y = _root._ymouse;
    if (!zoom) {
        _root.map.xp = -_root._xmouse*((_root.map.xsc-100)/100);
        _root.map.yp = -_root._ymouse*((_root.map.ysc-100)/100);
    }
}
onClipEvent (mouseDown) {
    if (hitTest(_root._xmouse, _root._ymouse, false) && !_root.overLink) {
        if (factor == 3) {
            scalmap(factor);
            scalthis(factor);
            factor = 1;
            _root.zoomet = 1;
        }
    }
}
onClipEvent (enterFrame) {
    if (factor == 1 && Key.isDown(2) && !Key.isDown(1)) {
        scalmap(factor);
        scalthis(factor);
        factor = 3;
        _root.zoomet = 0;
    }
    autoscala(easing);
}
Avatar billede para7 Nybegynder
24. marts 2003 - 10:38 #3
Kan det ikke lade sig gøre ved højreklik, kan det da ved at trykke en tast. Jeg har prøvet med KeyDown ("} else if (KeyDown) {" istedet for "else") uden held:

onClipEvent (mouseDown) {
    if (hitTest(_root._xmouse, _root._ymouse, false) && !_root.overLink) {
        if (factor == 15) {
            scalmap(factor);
            scalthis(factor);
            factor = 1;
            _root.zoomet = 1;
        } else if (KeyDown) {
            scalmap(factor);
            scalthis(factor);
            factor = 15;
            _root.zoomet = 0;
        }
    }
}
Avatar billede para7 Nybegynder
24. marts 2003 - 10:45 #4
cellb10ck >
Tak, jeg er ved at få en smule forståelse for Actionscript. Kan man ikke disable den højreklikmenu, må jeg vel bare sige ved keydown. Er det korrekt? Men at disable er klart nr.1.
Avatar billede thulstrup Nybegynder
24. marts 2003 - 10:55 #5
Du kan ikke fjerne højrekliksmenuen 100%, du kan dog minimere den lidt.

Hvis du vil bruge en knap istedet er det bare at skifte Key.isDown nummeret ud. Her har jeg brugt minustegnet på det numeriske del af keyboardet:

onClipEvent (enterFrame) {
    if (factor == 1 && Key.isDown(109)) {
        scalmap(factor);
        scalthis(factor);
        factor = 3;
        _root.zoomet = 0;
    }
    autoscala(easing);
}
Avatar billede para7 Nybegynder
24. marts 2003 - 11:08 #6
Godtnok, men hvad i hulen skriver man, hvis man bare skal trykke en vilkårlig tast. Har prøvet med bare keyDown.
Avatar billede thulstrup Nybegynder
24. marts 2003 - 11:12 #7
Det her skulle gerne virke:

onClipEvent (enterFrame) {
    listener = new Object();
    listener.onKeyDown = function() {
        if (factor == 1) {
            scalmap(factor);
            scalthis(factor);
            factor = 3;
            _root.zoomet = 0;
        }
    };
    Key.addListener(listener);
    autoscala(easing);
}
Avatar billede para7 Nybegynder
24. marts 2003 - 11:28 #8
Tak cellb10ck >
Der er bare lige et problem, med at få det til at virke, når man har trykket på et link og en browserrude åbner ovenpå og vender tilbage for at trykke en tast for at zoome ud. Selvom man klikker først for at focusere på kortet, virker det ikke rigtigt. Kan du lige fixe det får du fred indtil jeg opretter nye spørgsmål.
Avatar billede para7 Nybegynder
24. marts 2003 - 11:41 #9
UH, den listener var voldsom ved processoren. Røg op på 65%!
Jeg har foreløbig sat scriptet til bare at bruge ESC tasten, og så falder forbruget til "kun" 35-50%.
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