HTMLpointHTMLpoint HTMLpoint.com


 DropTarget



Flash es un software estudiado para la web con el cual se pueden crear efectos dinámicos y animaciones de alto nivel gráfico sin aumentar excesivamente el peso del file exportado que se quiere descargar. Pero Flash no es sólo esto. Flash es interactividad. Todo el que tiene fantasía y sabe usar bien este software es capaz de crear animaciones con un alto contenido de interactividad que divierte al usuario visitante. Hasta ahora he intentado explicar lo mejor posible el lenguaje interno de programación de Flash, su corazón, porque es a través de este lenguaje como es posible la interacción entre el usuario y la máquina.

Esta lección está dedicada a la propiedad _droptarget.
Habréis visto algún sitio en el que un objeto tenga que trasladarse con el ratón a un punto preciso de la película, ¿no es así? Precisamente como en este caso (arrastrad al pequeño dentro del círculo):

La propiedad _droptarget restituye, después del Drag Movieclip, la clip sobre la que se ha superpuesto la clip arrastrada (si no se ha arrastrado a ninguna clip, devuelve el valor nulo). De este modo, añadiendo un control, es posible establece qué tiene que ocurrir en el caso en que una clip se arrastrase dentro de otra.
En mi ejemplo anterior, si la clip hombre se arrastra al círculo, primero deja de verse y después se aparta de un frame el movieclip círculo (frame en el que se mostrará el círculo con el pequeño dentro y el interruptor "desengancha").

Pero vayamos por partes...
Primero, creamos la clip movieclip hombre y dibujamos al pequeño hombrecillo del logotipo HTMLpoint. El mismo "pequeñajo" lo usaremos para crear un área sensible. Un área sensible es una clip botón que contiene objetos sólo en el frame HIT. De esta manera, el botón resulta invisible, pero es posible clicar en él. He aquí cómo aparece el botón área_sensible:

Cuando se arrastre la instancia a la clip hombre, el botón aparecerá transparente y de una tinta única de distinto color:

Arrastrar el botón área_sensible hasta hacerlo encajar perfectamente con el dibujo del hombrecillo:

El área sensible es necesaria para conseguir que sea arrastrable la clip hombre. En efecto, el arrastre tiene que activarse cuando el usuario clica con el ratón sobre la clip hombre y desactivarse cuando se suelta el pulsante. Para hacer esto es necesario usar un botón dentro de un movieclip, dado que sólo los movieclip tienen la posibilidad de tener un nombre en la instancia que les permita activar el arrastre, y sólo los botones pueden usar la action On Mouse Event.

Para que la clip hombre sea arrastrable incluyámosla como action del área sensible:

On (Press)
  Start Drag ("/hombre", lockcenter)
End On

On (Release)
  Stop Drag
End On

De este modo, cuando el usuario clica sobre el hombrecillo, la clip se convierte en arrastrable hasta que se suelte el pulsante del ratón.

Creamos también la clip movieclip círculo, dibujamos el círculo en su interior y le asignamos el mismo nombre a la instancia de ella. Cuidado de no insertar una clip graphic ya que el nombre de esta clip nos servirá para el uso de _droptarget, pues este parámetro restituye exclusivamente nombres de las instancias de movieclip (o películas externas).
Añádase un frame al movieclip, diséñese el círculo con el hombrecillo dentro (de hecho, el logotipo completo) e inclúyase un botón "desengancha" que permita que la operación de arrastre se repita. En el botón "desengancha" asignense, por ejemplo, estas action:

On (Release)
  Set Property ("/uomo", Visibility) = "1"
  Set Property ("/uomo", X Position) = "205"
  Set Property ("/uomo", Y Position) = "65"
  Go to Previous Frame
End On

que permite ver de nuevo la clip hombre, la coloca en un punto preciso de la película y vuelve al frame anterior.

Llegados a este punto, en las action del botón área_sensible, añadimos el control sobre el arrastre:

On (Press)
  Start Drag ("/hombre", lockcenter)
End On

On (Release)
  If (_droptarget eq "/círculo")
    Set Property ("/hombre", Visibility) = "0"
    Begin Tell Target ("/círculo")
      Go to and Stop (2)
    End Tell Target
  End If

  Stop Drag
End On

Viene controlado el valor de _droptarget. Si es igual a "/círculo" (nótese que está presente también el recorrido del movieclip) entonces se hace invisible la clip hombre y se direcciona al frame número 2 el movieclip círculo.

Y aquí ya el juego está hecho. No queda sino testar nuestra nueva animación interactiva. :-)


  Torna a inizio pagina