Avatar billede relove Nybegynder
04. august 2004 - 17:19 Der er 5 kommentarer og
1 løsning

Zoom'e et movieclip

Jeg har et kæmpe movieclip med instance name "kasse", som er større end main stage. Dette movieclip kan flyttes, venstre, højre, op og ned på piltasterne. Dette virker perfekt.
Nu ville jeg gerne have lave en zoom funktion,
fra en buttons "on (release)".
Det jeg forløbig har lavet, som godt nok zoom'er er følgende AC:
   
on (release) {
    with (_root.kasse) {
        _xscale = _xscale +20;
        _yscale = _yscale +20;
    }
}

Problemet er at dette zoom'er i forhold til movieclippet's registration point. Dette er fint så længe man ikke flytter movieclippet på piltasterne. Hvis man flytter movieclippet og så zoom'er bliver movieclippet ikke blot zoom'et, men også flyttet imod movieclippets registration point.
 
Forviret?

Det jeg gerne vil have, er at der bliver zoom'et med et konstant x,y registration punkt i midten af mainstage.
Jeg kan forstille mig at det kan lade sig gøre ved at lave et nyt movieclip, og placere det i midten af stage, og sammenligne de 2 movieclips x og y koordinator, men jeg kan ikke rigtig få det til at virke.

Nogle ideer -

Små ideer og forslag er også meget velkomne.
Avatar billede pyroman Nybegynder
04. august 2004 - 20:29 #1
Er grafikken i movieclippet centreret fuldstændigt? ALtså så dets registreringspunkt også er i midten?
Avatar billede relove Nybegynder
05. august 2004 - 17:26 #2
jeg har en en masse små grafikstykker inde i movieclippet. Det ville ikke ødelægge noget at flytte registreringspunkt ind i midten.
Men hvad kan jeg bruge den til?
Avatar billede pyroman Nybegynder
05. august 2004 - 18:32 #3
For så kan du bruge denne funktion:


function zoom(zoom){
    var cx = 275;
    var cy = 200;
    var dx = map._x-cx;
    var dy = map._y-cy;
    map._x = dx*(zoom/100+1)+cx;
    map._y = dy*(zoom/100+1)+cy;
    map._yscale = map._xscale *= zoom/100+1;
}

'cx' er den x-værdi der skal være centrum for zoomet
'cy' er det samme som 'cx' bare y-værdien
'DITMC' siger sig selv...

Så skriver du fx:

zoom(20);

hvorved DITMC vil blive forstørret med 20% HUSK! det er procentvis stigning - så kan man blive ved med at zoome...
Avatar billede relove Nybegynder
15. september 2004 - 09:31 #4
Tak, jeg fik det til at virke. Laver du et svar?
Og undskyld ventetiden.
Avatar billede pyroman Nybegynder
15. september 2004 - 15:06 #5
jojo går nok... :)
Avatar billede relove Nybegynder
20. december 2004 - 18:09 #6
undskyld den lange ventetid. Pyromans svar var fornemt og virkede som det skulle.
Tak.
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