Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2007, 13:39
suncubus
 
Fecha de Ingreso: diciembre-2007
Mensajes: 140
Antigüedad: 16 años, 4 meses
Puntos: 0
imagen que se amplia y se reduce dentro de un scroll con botones

Hola ,
tengo hecho que una imagen se escale a través de dos botones, uno amplia la imagen y el otro la reduce. La imagen está dentro de un documento que cuando la imagen se amplia no entra en éste. Para ello he creado un scroll horizontal y otro vertical. La barra del scroll se tiene que ampliar y reducir en función del tamaño de la imagen. También tiene botones para desplazar arriba-abajo e izquierda-derecha.
Por ejemplo cuando la barra está arriba del todo en el scroll y reduzco la imagen , se escala también la barra con lo cual se sale del tope del scroll. Le he falseado la posición a la barra, con lo cual el scroll no me recorre la imagen por completo, pues eso, una chapuza.
No estoy segura porque falla, el problema es que no tengo mucha idea de lo que estoy haciendo y con lo cual el resultado no es el esperado.

Seguro que hay una manera más sencilla de unir las ampliaciones de imagen , el scroll y los botones para poder hacer una plantilla para cargar varias imágenes.



Pongo el código, me urge bastante, haber si puede ayudarme alguién. Gracias de antemano

stop();
var recorarrastre1=0
var recorarrastre2=0

var posiniarrastre1 = 98.6;
var posiniarrastre2 = 78.7

var posfin1=435
var posfin2=314

var posinicaja = imagen._y;
var posinicaja2 = imagen._x;

var escala=3;
//scroll
factor=(imagen._height-mascara._height)/deslizador1._height
onEnterFrame = function () {
recorarrastre1 = arrastre1._y-posiniarrastre1;
imagen._y = posinicaja+recorarrastre1*factor;
recorarrastre2 = arrastre2._x-posiniarrastre2;
imagen._x = posinicaja2+recorarrastre2*factor;
};
onEnterFrame = function () {
recorarrastre1 = arrastre1._y-posiniarrastre1;
imagen._y = posinicaja+recorarrastre1*factor;
recorarrastre2 = arrastre2._x-posiniarrastre2;
imagen._x = posinicaja2+recorarrastre2*factor;
};

//ARRASTRE1------------------------------------------------
arrastre1.onPress = function() {
tocado()
arrastre1.startDrag(true, 381, posiniarrastre1, 381, posfin1);
};
arrastre1.onRelease = function() {
stopDrag();
};
arrastre1.onReleaseOutside = function() {
stopDrag();
};
//ARRASTRE2------------------------------------------------
arrastre2.onPress = function() {
arrastre2.startDrag(true, posiniarrastre2 , 500, posfin2 ,500 );
};
arrastre2.onRelease = function() {
stopDrag();
};
arrastre2.onReleaseOutside = function() {
stopDrag();
};

//LUPA----------------------------------------------------------


mas.onPress = function() {

if (escala<=5){
posiniarrastre1=posiniarrastre1-6
posfin1=posfin1+6
posiniarrastre2=posiniarrastre2-6
posfin2=posfin2+6
imagen._xscale=imagen._xscale+20;
imagen._yscale=imagen._yscale+20;
arrastre1._yscale=arrastre1._yscale-20;
arrastre2._xscale=arrastre2._xscale-20;
escala=escala+1;

}

};

menos.onPress = function() {

if (escala>0 and escala<=6){
posiniarrastre1=posiniarrastre1+6
posfin1=posfin1-6
posiniarrastre2=posiniarrastre2+6
posfin2=posfin2-6
imagen._xscale=imagen._xscale-20;
imagen._yscale=imagen._yscale-20;
arrastre1._yscale=arrastre1._yscale+20;
arrastre2._xscale=arrastre2._xscale+20;
escala=escala-1;
if(arrastre1._y = 98.6){
arrastre1._y=arrastre1._y+18
}

if(arrastre2._x=78.7){
arrastre2._x=arrastre2._x+18
}
}
};

//BOTONES-------------------------------------------
boton1.onPress=function() {

if(arrastre1._y > posiniarrastre1){
arrastre1._y=arrastre1._y-25
if(arrastre1._y<posiniarrastre1+25 and arrastre1._y>posiniarrastre1-25){
arrastre1._y= posiniarrastre1

}
}
}
boton2.onPress=function() {
if(arrastre1._y < posfin1){
arrastre1._y=arrastre1._y+25
if(arrastre1._y<posfin1+25 and arrastre1._y>posfin1-25){
arrastre1._y=posfin1

}
}

}

boton3.onPress=function() {
if(arrastre2._x > posiniarrastre2){
arrastre2._x=arrastre2._x-25
if(arrastre2._x<posiniarrastre2+25 and arrastre2._x>posiniarrastre2-25){
arrastre2._x= posiniarrastre2

}
}

}
boton4.onPress=function() {
if(arrastre2._x < posfin2){
arrastre2._x=arrastre2._x+25
if(arrastre2._x<posfin2+25 and arrastre2._x>posfin2-25){
arrastre2._x=posfin2

}
}

}