If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Ik zie hier weinig in wat in Programming & Webscripting thuis hoort, dusIk maak het in Flash (hoort dus in Webdesign, maar dit is wel erg programmeren vind ik).
>> Webdesign & Graphics
Digitaal onderwijsmateriaal, leermateriaal voor hbo
Je weet wat het middelpunt is van je viewport, zorg dan dat na het inzoomen dat punt weer in het midden staat door op de juiste manier te scrollen. Zo moeilijk kan dat toch niet zijn? Of vraag je je meer af hoe die code er uit zou moeten zien?
Nou het staat in een scrollpane.
Je kan niet zeggen van scroll_x = 75% ofzo. scroll_x wordt aangegeven met pixels. Maar hoe groter hij wordt, hoe meer pixels er buiten vallen. Ik vraag me dus af hoe de code/formule is.
Ik heb alleen de scrollpositie in pixels en de left en de width van de afbeelding
Je kan niet zeggen van scroll_x = 75% ofzo. scroll_x wordt aangegeven met pixels. Maar hoe groter hij wordt, hoe meer pixels er buiten vallen. Ik vraag me dus af hoe de code/formule is.
Ik heb alleen de scrollpositie in pixels en de left en de width van de afbeelding
If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Een afbeelding is 400*400 en ik zoom in naar 800*800, daarna ga ik naar rechts waardoor 600,600 mijn midden wordt. Dan zoom ik weer in naar 1600*1600, mijn midden moet nu (600 keer 2) 1200*1200 worden. Dus dan word in een viewport van 400*400 de scroll_x -1000 (1200 is midden, min 200 tot linkerkant = 1000, dus x coordinaat -1000).
Zo?
Zo?
Hmm opzich klinkt dit heel logisch. Ik ga het even testen. Alvast bedankt voor je inzicht!
If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Met Andre, gewoon zorgen dat middelpunt van je plaatje steeds opzelfde positie gezet wordt.
Zo lijkt ie bijna wel te kloppen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| function zoom(z)
{
mc = scrollpane.getScrollContent();
if (z <= -1) z = -1; else if (z >= 1) z = 1;
if (z == -1 and mc._width <= _parent.img_viewer_width) return;
scrollx = mc._width / scrollpane.getScrollPosition().x;
scrolly = mc._height / scrollpane.getScrollPosition().y;
mc._xscale += z * 10;
mc._yscale += z * 10;
scrollpane.refreshPane();
scrollpane.setScrollPosition(mc._width / scrollx, mc._height / scrolly);
} |
If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router
Pagina: 1