[Flash AS3] interaktiv bild, panning, zooming - Hjälp

Permalänk
Medlem

[Flash AS3] interaktiv bild, panning, zooming - Hjälp

Hej.

Håller på att leka lite i flash och gör en bild som skall kunnas zoomas in och ut, samt att man skall kunna dra runt den när den är inzoomad.
Jag har fått det mesta att fungera, panning, zoom etc. Det jag inte riktigt får grepp på är hur jag skall göra för att få bilden 'fixerad' så att den inte går att dra utanför 'masken' som jag har för att representera området som bilden skall visas i.

Tacksam för svar

Permalänk
Medlem

Jag kanske inte beskrev mitt problem tillräckligt bra.
Jag har laddat upp min nuvarande dummy-flash-fil på ett webbhotell : http://stighedvig.net78.net/index.Html
Då ser man lite tydligare vad jag är ute efter.

  • Att ha en begränsad zoom, att varken kunna zooma in eller ut för mycket

  • Att kanterna ska vara bundna till området. Dvs att man inte skall kunna dra eller 'pana' bilden utanför skärmen

Tacksam för svar!

edit: Glömde inkludera koden

moveMapUp.addEventListener(MouseEvent.CLICK, panUp); moveMapDown.addEventListener(MouseEvent.CLICK, panDown); moveMapRight.addEventListener(MouseEvent.CLICK, panRight); moveMapLeft.addEventListener(MouseEvent.CLICK, panLeft); zoomMapIn.addEventListener(MouseEvent.CLICK, zoomIn); zoomMapOut.addEventListener(MouseEvent.CLICK, zoomOut); myMap.mask = mask_mc; myMap.addEventListener(MouseEvent.MOUSE_DOWN, startMapDrag); myMap.addEventListener(MouseEvent.MOUSE_UP, stopMapDrag); function panUp(e:MouseEvent):void { myMap.y = myMap.y + 10; } function panDown(e:MouseEvent):void { myMap.y = myMap.y - 10; } function panRight(e:MouseEvent):void { myMap.x = myMap.x - 10; } function panLeft(e:MouseEvent):void { myMap.x = myMap.x + 10; } function zoomIn(e:MouseEvent):void { myMap.scaleX = myMap.scaleX + .1; myMap.scaleY = myMap.scaleY + .1; } function zoomOut(e:MouseEvent):void { myMap.scaleX = myMap.scaleX - .1; myMap.scaleY = myMap.scaleY - .1; } function startMapDrag(e:MouseEvent):void { myMap.startDrag(); } function stopMapDrag(e:MouseEvent):void { myMap.stopDrag(); }