Showing posts with label Curso Actionscript Básico. Show all posts
Showing posts with label Curso Actionscript Básico. Show all posts

¿Cómo crear objetos arrastrables en Actionscript 3.0?

Arrastrar un objeto en Actionscript es uno de los conocimientos básicos que se requieren a la hora de crear interactividad. La lógica básica es la siguiente:

  1. Detectar cuando se presionó sobre el objeto.
  2. Indicar que hacer cuando se presiona el objeto.
  3. Detectar cuando se suelta el botón del mouse.
  4. Indicar que hacer cuando se suelta el botón del mouse.

Digamos que el objeto tiene el nombre de instancia miObjeto_mc, en otro layer ponga el siguiente código:

//1) Detectar cuando se presionó sobre el objeto.
miObjeto_mc.addEventListener("mouseDown", miObjeto_mc_mouseDown);
//2) Indicar que hacer cuando se presiona el objeto.
function miObjeto_mc_mouseDown(event)
{
     miObjeto_mc.startDrag();
}
//3) Detectar cuando se suelta el botón del mouse.
miObjeto_mc.addEventListener("mouseUp", miObjeto_mc_mouseUp);
//4)Indicar que hacer cuando se suelta el botón del mouse. 
function miObjeto_mc_mouseUp(event)
{
     miObjeto_mc.stopDrag();
}

Antes de proceder asegurese de que ha leído y comprende el concepto de eventos.

Los eventos mouseDown y mouseUp

Estos dos eventos se disparan cuando se aprieta el botón izquierdo del mouse.

Se dispara cuando se aprieta el mouse: "mouseDown"
Se dispara al soltar el botón del mouse (aquí también ocurre el evento click): "mouseUp"

Los métodos startDrag y stopDrag

Estos dos métodos permiten decirle al objeto que inicie y detenga el arrastre de acuerdo a donde se mueve el cursor.

Inicia el arrastre: startDrag( )
Detiene el arrastre: stopDrag( )
Práctica:
Crear una muñeca de papel que se pueda vestir.

¿Cómo hacer un link en Actionscript 3.0?

Cuando se comienza a aprender Actionscript 3.0, lo más básico que se necesita saber es cómo crear un link en un botón.

Ahora bien digamos que tenemos un botón con el nombre de instancia "miBoton", en otro layer vamos a poner el siguiente código:



var url = "http://www.google.com";
var window = "_blank" //Abrirá en una ventana nueva, puede ser tambien _self para que abra en la misma ventana.
//Por cada botón requiere una función diferente.
function miBoton_click(event) 
{
 navigateToURL(new URLRequest(url), window);
}
miBoton.addEventListener("click", miBoton_click);

Nada más necesitará cambiar los contenidos de var url = "http://www.google.com"; para cambiar a donde apunta el botón. Memorice o guarde este código para que sea tan fácil como copiar y pegar. Recuerde cambiar miBoton.addEventListener("click", miBoton_click); de acuerdo al nombre de instancia de su botón.

La explicación sería la siguiente:

miBoton. addEventListener( "click", miBoton_click);
nombre de instancia. empiece a escuchar( "cuando le hacen click", nombre de la funcion a ejecutar);

¿Qué es un evento?

Un evento es un suceso que es detectado por el Flash Player. Existen dos tipos: eventos de usuario y eventos de sistema. Los eventos de usuario son aquellos que son causados por el usuario: hacer click, mover el mouse, apretar una tecla, hablar en el microfono, moverse enfrente de la camara, etc. Los eventos de usuario son los que ocurren dentro de la computadora sin interferencia del usuario: cuando termina de cargar un archivo, cuando empieza a reproducirse un sonido, cuando cambia la fecha, etc.

Vocabulario:

La instancia, ejemplo: miBoton
El método para escuchar cualquier evento: addEventListener
El evento a escuchar: "click"
La función es el código que se ejecuta cuando ocurre el evento. Cualquier función llamada por un evento, SIEMPRE tiene que recibir un event como parámetro: function miBoton_click(event){}
Parámetro: cualquier cosa que se escriba entre los paréntesis de una función.

Por último conocimos como indicarle que haga un pedido de un recurso en internet (en este caso un sitio web externo al .swf):

Ir a otro sitio web: navigateToUrl
Cargar un sitio web con una dirección: new URLRequest("http://www.sitio.com")
En futuros tutoriales exploraremos más a fondo el URLRequest.
Práctica:
Crear un menu que lleve a los siguientes sitios web: Google, Adobe.com, Yahoo, Apple, Facebook

Flash vars, ad servers y clicktag en Actionscript 2

Flash vars, ad servers y clicktag en Actionscript 2 from Emmanuel Ulloa on Vimeo.

Este es el código que desarrollé para detectar el clicktag, sea como se llame. Se puede poner en un archivo externo que se llame getClickTag.as
_global.getClickTag = function()
{
 //set localRoot as _level0
 var localRoot = _level0;
 var ct = "";
 //start searching for clickTag, clickTAG or any other combination
 for(var prop in localRoot)
 {
  if(prop.toLowerCase() == "clicktag")
  {
   ct = localRoot[prop];
   break;
  }
 }
 //if ct is still empty then return the adobe.com website pointing to the ad serving guide
 ct = (ct != "")?ct:"http://www.adobe.com/resources/richmedia/tracking/adserving_guide/";
 return ct;
};

Luego en el .fla se incluye en un frame de la siguiente manera:

#include "getClickTag.as"

Y en el botón se invoca de la siguiente forma:

on(release)
{
 getURL(_global.getClickTag(), "_blank");
}