Drag & swapDepths

01 / marzo / 2006

Vamos a ver como podemos hacer unas ventanitas donde al darles clic se vuelven totalmente visibles y aunque estén hasta atrás pasan a primer plano además de poderlas arrastrar, nuestro resulta final será algo como esto:

FlashPlayer

Primero creamos nuestra ventana principal con el nombre de instancia window dentro de este creamos la parte que se tendrá que seleccionar para poder arrastrarla y a esta le ponemos de nombre de instancia drag

window_reference

Ahora en el fotograma que contiene nuestro movieclip ponemos el siguiente código

Actionscript:
  1. var mueve = function (clip) {
  2.     clip.drag.onPress = function() {
  3.         startDrag(clip);
  4.     };
  5.     clip.drag.onRelease = function() {
  6.         clip.stopDrag();
  7.     };
  8. };
  9. var uno = new mueve(window);

 

Esto nos dará un resultado como esto:

FlashPlayer

Bueno, la primera parte del tutorial está lista, ya podemos arrastrar nuestra ventanita y todo, peeeeeero que pasa?? se dán cuenta que llega el momento en que se pierde? Lo que haremos ahora será limitar el área de hasta donde podemos arrastrar nuestro movieclip, para eso solo habrá que agregarle estos parámetros al startDrag();

Actionscript:
  1. var mueve = function (clip) {
  2.     clip.drag.onPress = function() {
  3.         //Parámetros para delimitar nuestro movieclip
  4.         startDrag(clip, false, 10, 10, 300, 100);
  5.     };
  6.     clip.drag.onRelease = function() {
  7.         clip.stopDrag();
  8.     };
  9. };
  10. var uno = new mueve(window);

 

Ahora si, ya tenemos bien todo esto y les quedará algo así

FlashPlayer

Planteemos una situación muy común ¿Que pasa si tengo más de una ventana?, Casi siempre sucede que se quedan atrás ¿no? entonces vamos a resolver esta parte con un swapDepths(); que nos sirve para controlar la "profundidad" de nuestro movieclip duplicamos nuestra ventana o creamos otra como gusten y les ponemos como nombre de instancia window2, window3, etc.. las que ustedes quieran y ponemos el siguiente código:

Actionscript:
  1. // Esta variable contralará el SwapDepths
  2. var x = 0;
  3. //Comienza nuestra función
  4. var mueve = function (clip) {
  5.     //Comienza lo que hará nuestra ventana al presionar
  6.     clip.drag.onPress = function() {
  7.         //Esto hará que se pase hasta arriba
  8.         clip.swapDepths(x += 1);
  9.         //Comenzamos a arrastrar
  10.         startDrag(clip, false, 10, 10, 300, 100);
  11.     };
  12.     //Al soltar Regresas el Alpha a 50
  13.     clip.drag.onRelease = function() {
  14.         stopDrag();
  15.     };
  16. };
  17. var uno = new mueve(window);
  18. var uno = new mueve(window2);
  19. var uno = new mueve(window3);

 

Ahora si, ya tenemos nuestras ventanas y podemos utilizarlas sin ningún problema.

FlashPlayer

Ya si quieren adornarlas un poco más solo pónganle este código para que sean transparentes y al seleccionarlas se vuelvan totalmente visibles

Actionscript:
  1. // Esto contralará el SwapDepths
  2. var x = 0;
  3. //Comienza nuestra función
  4. var mueve = function (clip) {
  5.     //De inicio nuestra ventana tendrá un alpha 50
  6.     clip._alpha = 50;
  7.     //Comienza lo que hará nuestra ventana al presionar
  8.     clip.drag.onPress = function() {
  9.         //Esto hará que se pase hasta arriba
  10.         clip.swapDepths(x += 1);
  11.         //Comenzamos a arrastrar
  12.         startDrag(clip, false, 10, 10, 300, 100);
  13.         //Pasamos el alpha de nuestra ventana a 100
  14.         clip._alpha = 100;
  15.     };
  16.     //Al soltar Regresas el Alpha a 50
  17.     clip.drag.onRelease = function() {
  18.         stopDrag();
  19.         clip._alpha = 50;
  20.     };
  21. };
  22. var uno = new mueve(window);
  23. var uno = new mueve(window2);
  24. var uno = new mueve(window3);

 

El ejemplo es el que se muestra al inicio de este post, así es que ya tienen una idea de como pueden hacer esas ventanitas que siempre son muy útiles de una manera desglosada y por pasos vamos viendo como controlarlas, desde aplicar un simple drag hasta poder definir cuál debe de estar hasta arriba la opacidad etc...

Download

+

5 comentarios para Drag & swapDepths

  1. Huuuu
    Huuuu
    Excelente Tutorial
    Solo espero que no nos vayan a patear con eso de la Usabilidad XD

  2. Buen tutorial
    gracias:)

  3. Excelente, tutorial, estoy haciendo un programita en flash que me permita mover ese tipo de ventanitas para poder acomodarlas y meterles texto, de manera que me permita unir las ventanitas con lineas hacia otras ventanas y así hacer una especie de diagramás con ellos y mandarlas a imprimir o guardarlas en pdf ó jpg, etc…
    No se si me he explicado, para esto necesito ayuda ya que soy nuevo en flash, así que si alguien me pudiera echar la mano con algun tutorial, etc… o si tienen algo similar, les pediria de favor me compartan sus conocimientos… gracias de antemano.

  4. Gracias por tu aporte!!

  5. greser 15 nov 2010

    Hola a todos. Planteo una duda:

    ¿Y si en vez de limitar a un área cuadrada o rectangular, necesito limitar a un área triangular o a un área tipo trapecio?. Al poner las coordenadas siempre son áreas rectas por lo que no he podido conseguir esto.

    ¿Se puede limitar el movimiento al área de otro movieclip???

Agrega tu opinión Invitado, tu puedes registrarte o ingresar a tu cuenta .

No será publicado

Get your own Gravatar
Sign up for free