Follow me @Tmeister

Algo de AS3.

ESCRITO POR Tmeister EN June - 30 - 2006

Bien aquí vengo con ejemplo de AS3.

Lo primero que salta a la vista es que, ahora a las instancias de MovieClip y Botones no se les podrá agregar acciones mediante onRelease, onRollOver, onPress etc etc estos métodos dejaron de existir.

Ahora todo sera mediante eventos, así es del tipo addEventListener.un ejemplo simple para detectar un click del mouse sobre un MovieClip

[as]
import flash.display.Sprite;
var child:Sprite = new Sprite();
child.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent):void {
trace(event)
}
[/as]

No se ve tan complicado cierto. Repito ahora todo sera mediante eventos.

En AS3 existen varios eventos nuevos el que mas me llamo la atención hasta ahora(no he visto todos) es el evento mouseLeave, ¿que hace esto? Este evento se dispara cuando el cursor deja el área del SWF en cuestión.

En el desarrollo de la Versión 3 de computadora.de el detectar que el mouse saliera del entorno del SWF nos dio dolores de cabeza (bueno al tachas.) :) , la solución en ese momento fue crear un margen de 5 pixeles alrededor del SWF y estar monitoreando el _xmouse y el _ymouse en fin, con este evento se facilita la vida.

Aquí les dejo ejemplo sencillo de eventos del mouse sobre un MovieClip y la detección de cuando el mouse deja el área del SWF.

[as]
import flash.display.Sprite;
import flash.events.MouseEvent
import flash.utils.trace;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
var size:uint = 50;
var bgColor:uint = 0x000C00;
var box:Sprite;
var child:Sprite = new Sprite();
var isDraging:Boolean
function init(){
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
child.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
child.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler);
draw(child);
box = Sprite(addChild(child));
box.x = (stage.stageWidth-box.width)/2
box.y = (stage.stageHeight-box.height)/2
}
function mouseLeaveHandler(event:Event):void{
if(isDraging){
box.stopDrag()
isDraging = false
box.x = (stage.stageWidth-box.width)/2
box.y = (stage.stageHeight-box.height)/2
outPut.text = “Saliste del SWF…”
}
}
function mouseDownHandler(event:MouseEvent):void {
var sprite:Sprite = Sprite(event.target);
isDraging = true;
sprite.startDrag()
outPut.text = “”
}
function mouseUpHandler(event:MouseEvent):void {
var sprite:Sprite = Sprite(event.target);
isDraging = false;
sprite.stopDrag()
}
function draw(sprite:Sprite):void {
sprite.graphics.beginFill(bgColor);
sprite.graphics.drawRect(0, 0, size, size);
sprite.graphics.endFill();
}
init()
[/as]

Arrastra el cuadro fuera del Stage y suelta el mouse
No olvides que necesitas el flashPlayer 9 para la correcta visualizacion

[FLASH]http://klr20mg.com/events.swf,350,250[/FLASH]

Aqui esta el ZIP con el FLA

Después publico mas cosillas….

8 Responses to “Algo de AS3.”

  1. leandono says:

    Muy buen ejemplo para ir metiendose en AS 3.0, gracias ^^

  2. darkxer0x says:

    Vamos, igual que java.

  3. [...] Algo de AS3 [AS3] FrameRate, Eventos y agregar elementos al Stage [AS3] Cargando Información Externa. XML. Drag and Drop con ActionScript 3.0 y Flash 9 [...]

  4. [...] Algo de AS3 [AS3] FrameRate, Eventos y agregar elementos al Stage [AS3] Cargando Información Externa. XML. Drag and Drop con ActionScript 3.0 y Flash 9 [...]

  5. GisKaRD says:

    Menuda mierda de as3.0 para hacer una cosa tan sencilla antes necesitavamos escribir 4 lineas y ahora necesitamos 40.000 y es menos intuitivo que antes, el as3.0 hay que quemarlo

  6. Gil Cesena says:

    Hola!

    Muy buena aportacion espero que sigas asi de bien, gracias!!

  7. yeah says:

    Buen ejemplo, pero AS3 a la hogeraaaaaaaaaaaaaaaaaaaa !!!!!

  8. Marcos says:

    AS3 es excelente! Mucho mas si trabajas con un buen framework de base como es pureMVC (que aun estoy aprendiendo pero ya me salvo muchas horas de trabajo). Además AS3 es mucho mas claro y ordenado en todos los aspectos.
    Aclaro que soy diseñador y no me costo mucho pasar a esta nueva versión y no volvería a AS2 a menos que sea una necesidad puntual del trabajo (pero usaría igual el lenguaje estricto que aprendí a respetar gracias a AS3, algo que finalmente ayudo a optimizar mi trabajo).

Acerca de mi
Enrique Chavez

Enrique Chávez también es conocido como @Tmeister es un desarrollador, emprendedor, poeta y loco.

Geek autodeclarado y apasionado de todo lo que tiene que ver con tecnología y desarrollo.

Cuenta con una experiencia de más de 7 años en el ramo del desarrollo, creando, sobre todo, aplicaciones web en la empresa Sapotek.

A finales del 2008 crea, junto con 3 colegas, la consultoría llamada AureaCode, enfocándose a brindar servicios de desarrollo web en todas sus variantes.

Si necesitas algún tipo de información o consulta por favor no dude en escribir.

View Enrique Chávez's profile on LinkedIn

Carlos Enrique Chavez Garcia's VisualCV

RSS Feed

Links Patrocinados