AIR 3.0/ AS 2.0/ AS 3.0/ Flash/ Flex

Lançado o SWF Investigator

magnify
A Adobe mesmo timidamente, acaba de lança no site do Labs uma ferramenta feita em Adobe AIR que o nome por sí ja entrega o que ela se propõe. Vasculhar SWF feito por desenvolvedores.

O aplicativo funciona para Mac e Windows, e vasculha desde código fonte feito em as2 e as3 assim como informações do LSO(Local sharedObject), busca por falhas e vunerabilidades no arquivo.

Para o aplicativo ser construído, eles usaram o native process, native instalation e native extensions, Ah! sem contar que o aplicativo é gratuito e open-source.

Vale a pena o Download.

Actionscript/ AIR Mobile/ AS 3.0/ Flex/ Flex 4/ Flex Mobile Framework/ Tablets

5 Webcasts para você criar aplicações para o Playbook da RIM

Quer criar aplicativos para o tablet da RIM?

Domina o Adobe AIR /Flex / Actionscript 3.0?

Então, você facilmente irá criar uma aplicação do zero usando o Framework Adobe AIR para a plataforma da RIM.

O Playbook é a grande aposta da RIM para o mundo dos tablets, e vem com força total, um dos recursos é que mais agrada é o fato da FULL WEB, sem quadradinho do lego dizendo que Flash Player não está disponível e claro, reprodução de video em FULL HD 1080p, processador rápido e por ai vai.

Assista aqui os 5 webcasts para você começar a detonar no Playbook

Actionscript/ AIR Mobile/ Android

Aplicativo mobile usando actionscript 3.0 puro

Tirei umas 1 hora entre um suspiro e outro, acabei gravando um screencast rápido de pouco menos de 15 minutos de como criar uma aplicação simples no Adobe AIR para dispositivos móveis.

Assista e deixe seu comentário.

O código fonte está aqui:

package
{
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.TouchEvent;
	import flash.text.TextField;
	import flash.ui.Multitouch;
	import flash.ui.MultitouchInputMode;

	[SWF(frameRate="24",height="762",width="480")]
	public class ScreenMobileDraw extends Sprite
	{
		public function ScreenMobileDraw()
		{
			super();
			Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
			// support autoOrients
			stage.align = StageAlign.TOP_LEFT;
			stage.scaleMode = StageScaleMode.NO_SCALE;



			var txt:TextField = new TextField();
			txt.text = "Hello World";

			var h:Number = stage.stageHeight;
			var w:Number = stage.stageWidth;

			addChild(txt);
			txt.x = w/2 - txt.width/2;
			txt.y = h/2 - txt.height/2;

			this.addEventListener(TouchEvent.TOUCH_MOVE,desenhar);
		}
		private function desenhar(e:TouchEvent):void
		{

			var circulo:Sprite = new Sprite();
			addChild(circulo);
			circulo.graphics.beginFill(Math.random()*0xffffff,1);
			circulo.graphics.drawCircle(e.stageX,e.stageY,100*e.pressure);
			circulo.graphics.endFill();

			circulo.x = e.touchPointID[0].x;
			circulo.y =  e.touchPointID[0].y;

		}
	}
}
Actionscript/ Dicas/ Flash Player/ Flex

Dica: Exibindo o consumo de memória do Flash Player em sua aplicação Flex

Duvida vinda por e-mail, bastante desaconselhado já que demoramos muito para responder os e-mails. Como essa dúvida era legal e única, eis aqui uma solução.

Quero exibir a quantidade de memória que minha aplicação Flex está consumindo no momento da execução. Bom dificilmente você vai saber quanto ela está consumindo se você estiver com algum site aberto ou até mesmo MSN Live que use o Flash Player. Já que para ler o consumo de memória mesmo é necessário estar apenas a aplicação rodando. Uma vez que a quantidade de memória acumulativa sendo consumida é medida pelo Flash player em geral e não apenas da aplicação. Se for nessas circunstâncias você pode exibir o consumo de memória para o usuário final. Caso contrário aconselho usar os recursos do Flex Builder como Profiler para tal.

Então como exibir?

Para facilitar eu criei uma classe utilitária chamada MemoriaUtil.as

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package
{
	import flash.system.System;
 
	public class MemoriaUtil
	{
		public function MemoriaUtil()
		{
		}
		public static function uso():String{
 
			 var memoria:String = Number(System.totalMemory/1024/1024).toFixed(2)+'MB';
 
			 return memoria;
		}
	}
}

E uso no Flex assim.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
< ?xml version="1.0" encoding="utf-8"?>
<application xmlns:"http://www.adobe.com/2006/mxml" layout="absolute">
 
	<script>
		< ![CDATA[
 
 
				public function testarMemoria():void{
 
						memoriatxt.text = 'Uso atual do seu Flash Player é de: '+MemoriaUtil.uso();
				}
		]]>
	</script>
		<label enterFrame="testarMemoria()" fontSize="20" x="100" y="100" id="memoriatxt"/>
</application>
Actionscript/ Actionscript Frameworks/ AS 3.0/ Flash Componentes/ Flash CS 3/ Flash CS4

Criando um player de MP3 com Flash CS4 e actionscript 3.0

O exemplo abaixo, mostra como criar um player de música em actionscript 3.0 feito com alguns componentes básicos do Flash CS4, aquiles que vem por padrão no Flash CS3 e Flash CS4.
O projeto foi feito usando o Flex Builder, então procure nos arquevos do site como usar os componentes do Flash no Flex Builder.

Na atual versão do actionscript 3.0 é bem complicado usar a classe de som, para se ter uma idéia, foi necessário usar as classes Sound, SoundChannel,SoundTransform, só para dar o play e controlar o volume.
Em fim, segue abaixo o exemplo:

playermp3

Código:

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package {
	import fl.controls.Button;
	import fl.controls.Slider;
 
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.net.URLRequest;
	import flash.media.Sound;
	import flash.media.SoundTransform;
	import flash.media.SoundChannel;
	import flash.events.MouseEvent;
	import flash.events.Event;
	import fl.events.SliderEvent;
	import fl.controls.Label;
 
	[SWF(width="400",height="150",backgroundColor="0xF2F2F2",frameRate="25")]
	public class AS3Player extends Sprite
	{
		public var playButton:Button;
		public var stopButton:Button;
		public var volumeControl:Slider;
		public var urlSom:String = "mp3/seusom.mp3";
		public var MP3Request:URLRequest;
		private var musicaTransform:SoundTransform;
		private var musicaCanal:SoundChannel;
		private var musica:Sound;
		private var volLabel:Label;
 
 
		public function AS3Player()
		{
			super();
 
			MP3Request = new URLRequest(urlSom);
 
			musica = new Sound();
			musica.load(MP3Request);
			musicaCanal = new SoundChannel();
			musicaTransform = new SoundTransform(0.5,0);
 
 
 
			/**
			 * Montar os botões e Slider para controlar o som
			 *
			 * playButton - Toca o som;
			 * stopButton - Para o som;
			 * volumeControl - Aumenta e diminue o som;
			 * */
 
			playButton = new Button();
			playButton.label = "Tocar";
			playButton.x = 10;
			playButton.y = 20;
			addChild(playButton);
			playButton.addEventListener(MouseEvent.CLICK,SomAction);
 
			stopButton = new Button();
			stopButton.label = "Parar";
			stopButton.x = playButton.width + 20;
			stopButton.y = 20;
			addChild(stopButton);
			stopButton.addEventListener(MouseEvent.CLICK,SomAction);
 
			volumeControl = new Slider();
			volumeControl.direction = "horizontal"// ou vertical;
			volumeControl.minimum =0;
			volumeControl.maximum =1;
			volumeControl.doubleClickEnabled = true;
			volumeControl.tickInterval = .1;
			volumeControl.snapInterval = .1;
			volumeControl.value = musicaTransform.volume;
			volumeControl.liveDragging = true;
			volumeControl.x = 230;
			volumeControl.y = 20;
			addChild(volumeControl);
			volumeControl.addEventListener(SliderEvent.CHANGE,VolumeAction);
 
			volLabel = new Label();
			volLabel.text = "Volume";
			addChild(volLabel);
			volLabel.x = 250;
			volLabel.y = 40;
		}
 
		/**
		 * @public
		 * Controla o volume da música carregada;
		 * */
		public function VolumeAction(e:SliderEvent):void{
				musicaTransform.volume = volumeControl.value;
				musicaCanal.soundTransform = musicaTransform;
		}
 
		/**
		 * @public
		 * controla o som, play e stop;
		 * */
		public function SomAction(e:MouseEvent):void{
 
				var posicao:int = musicaCanal.position;
				if(playButton.label == "Tocar"){
					playButton.label = "Pausa";
					musicaCanal = musica.play(posicao);
				}else{
					musicaCanal.stop();
					playButton.label = "Tocar";
					musicaCanal.stop();
				}
		}
	}
}
Actionscript/ Actionscript Frameworks/ AS 3.0

Como carregar um arquivo externo no Actionscript 3.0

Começando uma nova categoria aqui no site, para desenvolvedores Flash,AIR,Flash, independentemente de framework sendo SDK do Flex ou não.

O Código abaixo, mostra como carregar um arquevo de XML externo, esse arquevo pode ser um arquevo de texto também (txt).

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
package {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.events.SecurityErrorEvent;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
 
	public class as3Howto extends Sprite
	{
 
		public var suaURL:String = "arquevo.xml";
		public var requesita:URLRequest;
		public var loader:URLLoader;
		public function as3Howto()
		{
 
			// montar os objetos
 
			requesita = new URLRequest(suaURL);
			loader = new URLLoader();
			loader.addEventListener(IOErrorEvent.IO_ERROR,ioHandler);
			loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,segurancaHandler);
			loader.addEventListener(Event.COMPLETE,completoHandler);
			// inicia o processo
			loader.load(requesita);
		}
 
		private function ioHandler(e:IOErrorEvent):void{
				trace(e.text + 'n');
		}
		private function segurancaHandler(e:SecurityErrorEvent):void{
				trace('Erro de segurança'+e.text + 'n');
		}
		private function completoHandler(e:Event):void{
				trace('Carregado com sucesso'+'n');
		}
	}
}