Drag & Drop en AS3. Arrastrar elementos con el mouse.

Saturday, 6. February 2010

Drag & Drop en AS3

This movie requires Flash Player 9

Podemos añadir algo de interactividad a una aplicación creada en ActionScript 3, si le permitimos al usuario “arrastrar” algunos elementos que se encuentren en el escenario, y soltarlos en alguna otra parte del escenario. Justamente para esto nos sirven las acciones de tipo Drag & Drop. El código que necesitamos para programarlo es realmente muy sencillo.

El código base para iniciar el “Arrastre” es el siguiente:
startDrag();
Y para terminar el evento, utilizamos:
stopDrag();

Antes del startDrag() o el stopDrag() debemos indicar cuál es el elemento que queremos que sea arrastrado. Vamos a crear un ejemplo práctico en Flash muy sencillo para ver su utilidad.

Leer el artículo completo…

VN:F [1.9.1_1087]
Rating: 8.3/10 (50 votes cast)

Movimiento de un objeto con el teclado AS3

Saturday, 5. December 2009

Movimiento Teclado AS3

En Flash, utilizando actionScript 3, podemos hacer que un movieclip, botón, campo de texto, o cualquier objeto instanciado en el escenario se desplace a través del mismo con el teclado.

This movie requires Flash Player 9

Ejemplo de movimiento de objetos con el teclado en Adobe Flash con ActionScript 3. Haz clic sobre la animación y usa las flechas del teclado para moverlo.

Si asociamos un movimiento a una tecla específica, lo más probable es que cuando probemos la animación/aplicación no funcione el movimiento en caso de que presionemos más de una tecla al mismo tiempo. Por esta razón, el movimiento debe ser encargado a funciones que se realicen en asociación con un evento de tiempo (TimerEvent) o de fotogramas (ENTER_FRAME).

Veamos el código que utilizamos y posteriormente lo abordamos paso a paso:

Para que el código funcione debe existir el objeto en el escenario, y tener como nombre de instancia, en este caso ‘objeto’.

var pressArriba:Boolean=false;
var pressAbajo:Boolean=false;
var pressIzquierda:Boolean=false;
var pressDerecha:Boolean=false;
var velocidad:int=2;
stage.addEventListener(KeyboardEvent.KEY_DOWN, presionaTecla);
function presionaTecla(e:KeyboardEvent) {
switch (e.keyCode) {
case 37 :pressIzquierda=true;break;
case 38 :pressArriba=true;break;
case 39 :pressDerecha=true;break;
case 40 :pressAbajo=true;break;
}
}
stage.addEventListener(KeyboardEvent.KEY_UP, liberaTecla);
function liberaTecla(e:KeyboardEvent) {
switch (e.keyCode) {
case 37 :pressIzquierda=false;break;
case 38 :pressArriba=false;break;
case 39 :pressDerecha=false;break;
case 40 :pressAbajo=false;break;
}
}
var tiempo:Timer=new Timer(10,0);
tiempo.start();
tiempo.addEventListener(TimerEvent.TIMER, mover);
function mover(e:TimerEvent) {
if (pressAbajo==true) {
objeto.y+=velocidad;
}
if (pressArriba==true) {
objeto.y-=velocidad;
}
if (pressIzquierda==true) {
objeto.x-=velocidad;
}
if (pressDerecha==true) {
objeto.x+=velocidad;
}
}


Leer el artículo completo…

VN:F [1.9.1_1087]
Rating: 8.4/10 (42 votes cast)