AS 3.0

EventListener no Actionscript 3.0

Uma das coisas que melhorou bastante no Actionscript 3.0 é a forma de acesso via Listeners. Diferentemente do Actionscript 2.0 no AS 3.0 a forma de acesso é bem mais controlável, já que no Flex eventos são uma tarefa dificil de se decidir quanto programa e dificil também de controlar onde e quando colocar.
Independemente se é Flex ou Flash CS3, EventListener é parte integrante de eventos do Actionscript 3.0, coisa que você vai notar bastante uso à partir daqui por diante.

Um exemplo :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package {
	import flash.display.Sprite;
	import flash.display.SimpleButton;
	import flash.events.MouseEvent;
	import flash.text.TextField;
	import flash.display.MovieClip;
	import mx.core.FlexSprite;
 
	public class eventos extends Sprite
	{
		public function eventos()
		{
		 	// estado Up
		 	var up_:FlexSprite = new FlexSprite();
			up_.graphics.beginFill(0x000000,1);
			up_.graphics.lineStyle(1,0xaa0000);
			up_.graphics.drawRoundRect(30,30,100,20,2,2);
			up_.graphics.endFill();
			// estado Over
			var over_:FlexSprite = new FlexSprite();
			over_.graphics.beginFill(0xaa0000,1);
			over_.graphics.lineStyle(1,0x000000);
			over_.graphics.drawRoundRect(30,30,100,20,2,2);
			over_.graphics.endFill();
			// estado Down
			var down_:FlexSprite = new FlexSprite();
			down_.graphics.beginFill(0xf4f4f4,0.5);
			down_.graphics.lineStyle(1,0x444444);
			down_.graphics.drawRoundRect(30,30,100,20,2,2);
			down_.graphics.endFill();
 
			var botao:SimpleButton = new SimpleButton(up_,over_,down_,up_);
			botao.enabled = true;
			botao.addEventListener(MouseEvent.CLICK,alertar);
			addChild(botao);
		}
 
		 private  function alertar(event:MouseEvent):void
		 {
			var alerta:TextField = new TextField();
			alerta.x = 200;
			alerta.y = 100;
			alerta.text ="Alerta";
			alerta.textColor = 0xffffff;
			addChild(alerta);
		}
 
	}
}

Porém eu posso implementar mais ainda e usar os eventos do Flash, que vão ser comum por exemplo o evento de Focus, nesse exemplo abaixo usei o FocusEvent.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package
{
	import flash.text.TextField;
	import flash.events.TextEvent;
	import flash.text.TextFormat;
	import flash.display.Sprite;
	import flash.events.FocusEvent;
 
	public class EventosDois extends Sprite
	{
		private var formato:TextFormat;
		private var texto:TextField;
		public function EventosDois()
		{
			texto = new TextField();
 
			texto.text ="eventos";
			texto.type = "input";
			texto.border = true;
			texto.width= 300 ;
			texto.height= 20 ;
			texto.selectable = true;
			texto.borderColor = 0xffffff;
			texto.x= 200;
			texto.y= 100;
			texto.focusRect
			texto.addEventListener(FocusEvent.FOCUS_IN,apagarTexto);
			addChild(texto);
		}
		public function apagarTexto(focusEvent:FocusEvent):void
		{
			texto.text = "";
		}
	}
}

2 thoughts on “EventListener no Actionscript 3.0

  1. radical a modificação do actionscript;… mas como seria aplicada no flash cs3,,,?? andei estudando flash cs3.. teve muitas modificações para o 2.0 como seria não tive exito ainda de um codigo concreto o codigo assima poderia ser testado no flash cs3?

Comments are closed.