Avatar billede Rasmus Lund Nybegynder
23. april 2005 - 23:22

zoom/drag med grænser

Jeg er ved at lave et kort som man kan zoome ind på.
Kortet er meget større end stage, og jeg ønsker det stopper med at zoome ud når det er ligeså stort som stage. Så man ikke kommer til at se stage-baggrundsfraven. samtidigt ønsker jeg ikke at man skal kunne flytte kortet ud,  så stage-baggrunden bliver synslig. der skal altså være nogle grænser på drag og zoom funktionerne.

Et andet problem jeg har med det er, at det zoomer skævt...muligvis pga at kortet ikke er kvadratisk!? Jeg vil gerne have at det zoomer ud/ind omkring center på stage.
Jeg har prøvet lidt med kan ikke få det til at virke.
Min kode kan ses herunder.

Zoomknapperne:
on (release) {
    x_size = getProperty(_root.kort, _xscale);
    y_size = getProperty(_root.kort, _yscale);
    x = getProperty(_root.kort, _x);
    y = getProperty(_root.kort, _y);
    x2 = x_size-x;
    y2 = y_size-y;
    x2_gammel = x2;
    y2_gammel = y2;
    setProperty(_root.kort, _xscale, x_size-10);
    setProperty(_root.kort, _yscale, y_size-10);
    temp_x = int ((x2_gammel - ((getProperty(_root.kort, _xscale)) - (getProperty(_root.kort, _x))) )/2);
    temp_y = int ((y2_gammel - ((getProperty(_root.kort, _yscale)) - (getProperty(_root.kort, _y))) )/2);
    x = (x + temp_x);
    y = (y + temp_y);
    setProperty(_root.kort, _x,x);
    setProperty(_root.kort, _y,y);
    trace("x_size:"+x_size);
    trace("x:"+x);
    trace("x2:"+x2);
    trace("y_size:"+y_size);
    trace("y:"+y);
    trace("y2:"+y2);
}

Koden på kortet, som ligger i movieklippet "kort":
onClipEvent (mouseDown) {
    if (this.hitTest(_root._xmouse, _root._ymouse)) {
        x_size = getProperty(_root.kort, _xscale);
        y_size = getProperty(_root.kort, _yscale);
        x = getProperty(_root.kort, _x);
        y = getProperty(_root.kort, _y);
        x2 = x_size-x;
        y2 = y_size-y;
        if (x<0 && y<0 && x2>500 && y2>400) {
            this.startDrag(false);
        }
    }
}
onClipEvent (mouseUp) {
    this.stopDrag();
}

Jeg håber mit problem er klart...og at nogen har en løsning på problemet.
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