Saturday, 6. February 2010

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 (48 votes cast)
Saturday, 5. December 2009

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.3/10 (38 votes cast)