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.
