Foros del Web » Creando para Internet » Flash y Actionscript »

StartDrag() hasta un límite.

Estas en el tema de StartDrag() hasta un límite. en el foro de Flash y Actionscript en Foros del Web. Saludos, Tengo una capa Imagen en la que tengo una foto que he convertido a MC. Además tengo otra capa Máscara, que permite ver una ...
  #1 (permalink)  
Antiguo 19/04/2009, 04:30
 
Fecha de Ingreso: diciembre-2008
Mensajes: 7
Antigüedad: 15 años, 4 meses
Puntos: 0
StartDrag() hasta un límite.

Saludos,

Tengo una capa Imagen en la que tengo una foto que he convertido a MC. Además tengo otra capa Máscara, que permite ver una porción de la anterior. He diseñado cuatro botones Flechas (arriba, abajo, izqda, drcha) y los he programado para con ellos ver la imagen en la máscara, digamos que desliza la imagen por debajo de la máscara. No quiero que mi máscara quede nunca en blanco, por ello en los botones lo manejo con coordenadas de forma más o menos eficiente.
Pero al querer hacer la herramienta mano, con startDrag(); ¿hay algún modo de controlar que no deje arrastrar más del tamaño de la imagen? Es decir, si arrastro hacia la izquierda, que en el momento que el borde derecho del MC (imagen) toque con el borde derecho de la máscara, no me deje arrastrar más.

Espero haberme explicado, muchas gracias.
  #2 (permalink)  
Antiguo 20/04/2009, 07:59
Avatar de gVenom  
Fecha de Ingreso: julio-2008
Ubicación: Costa Rica
Mensajes: 1.458
Antigüedad: 15 años, 9 meses
Puntos: 53
Respuesta: StartDrag() hasta un límite.

Saludos.

Lo que tienes que hacer es ponerle un limite a el movimiento del objeto que mueves y restringir el moviemiento entre las dimensiones de la máscara o lo que vallas a usar como limite para tu objeto.
El código es algo asi:
Código:
on(press){
startDrag(this, false, 300, 300, 300, 300)
}
on(release){
stopDrag();
}
Cambia los parámetros a tus necesidades.

Eso se lo robe a Bandit
__________________
"Al que venciere y guardare mis obras hasta el fin, yo le daré autoridad sobre las naciones."
Apocalipsis 2: 26
Servicios para Pymes http://dst.co.cr
  #3 (permalink)  
Antiguo 22/04/2009, 04:23
 
Fecha de Ingreso: diciembre-2008
Mensajes: 7
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: StartDrag() hasta un límite.

Hola, gracias por tu respuesta.
El caso es que mi imagen está centrada en el punto (400,300). Mi máscara también.
Cuando la imagen la tengo sin ampliar, me es sencillo coger los límites, ya que los comprobe a mano moviendo la imagen.


Código:
on (press)
{
	var zoom:Number=imagen._xscale;
	var limiteIz:Number= 570; //límites izquierda, derecha, arriba y abajo.
	var limiteAr:Number= 415;
	var limiteDe:Number= 250;
	var limiteAb:Number= 185; //inicialmente son:570, 415, 250, 185
	
	if (zoom = 100)
	{
		this.startDrag(false, limiteIz, limiteAr, limiteDe, limiteAb);
	}
	else
	{
		if (zoom = 120) ¡¡¡PROBLEMA!!!
		{
			limiteIz+= 20; 
			imiteAr+= 20; 
			limiteDe+= 20; 
			limiteAb+= 20; 
			this.startDrag(false, limiteIz, limiteAr, limiteDe, limiteAb);
		}
		
	}
}
El problema es ése. Tengo también un botón de ampliar (zoom) y quiero que si el zoom está activo, (puedo darle al zoom y ponerlo 120, 140, 160 y 180).
¿Cómo puedo hacer para calcular los límites con el zoom activo?

Es obvio que el código que indico, no me funciona. Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:18.