Actionscript/ AS 3.0/ Dicas/ Flash/ Flash CS 3/ Flash CS4/ Flex

Suavizar imagem no Flex/Flash

Tivemos uma surpresa hoje pela manhã, chegaram 8 e-mails perguntando a mesma coisa, como deixar a imagem mais suave quando o container ou moviclip que será despejada é menor.

O que acontece é que enquanto o Bitmap não estive preenchido ou melhor completo ao processo de carregar a imagem, o Bitmap em sí fica null, não é somente no Flex mais também no Flash.

Para solucionar o problema no Flash, aconselho ler isso aqui no blog do GSkinner(inglês).

Para o Flex, é fácil, adicione no evento complete=”” ao campo de Imagem.

	

Feito isso você pode aliviar os pixels mal posicionados na tela, Essa opção mudou muito no Flash Player 10, ficando bem melhor o resultado do que no Flash Player 9.

Existem outros links de referências que valem o click:
http://www.kevin-fitzpatrick.net/blog/?p=10

Flash CS4/ Flex Builder 3

Como usar componentes padrão do Flash CS4 no Flex Builder 3

Últimamente eu venho fazendo alguns experimentos para aperfeiçoar as habilidades perdidas no Flash, já fazia tempo desde 2004 que não abria o Flash nem para fazer banner. Então esse ano voltei para ver como andava o Flash IDE suas novidades, tem muitos recursos que vai ser dificil acompanhar todos em pouco tempo.
Embora o Flash tenha ganhado tantos recursos em sua ferramenta de edição, o editor de actionscript 3.0 peca, é fraco, obsoleto e não tem todas as funções que um bom e básico editor de programação tem.
Isso deixa alguns que trabalham ainda com Flash tristes e com poucas opções. Felizmente em minhas andanças eu vi que muitos optavam por usar o Flex Builder como seu predileto editor de Actionscript.

O editor de actionscript é muito bom para quem trabalhava com Actionscript dentro do Flash IDE, é algo como de água para o vinho. Existe outro editor que também tem que é o FDT que é o campeão em edição de actionscript 3.0. Sem dúvidas é o melhor. Em fim, voltando ao nosso Flex Builder.
A única tarefa para fazer com que o Flex Builer edite seu actionscript não tem mistério, já que cada projeto feito no Flex Builder não passa de pastas administradas virtualmente, o Flex Builder só organiza.

Configurando o Flex Builder

1. Faça o download do Flex Builder stand alone ou plug-in para sua máquena.
2. Instale-o.
3. Crie um novo Actionscript 3.0 Project.
4. Crie um novo diretório chamado libs na raiz do projeto e não na pasta ‘src’, vamos fazer similar o que o Flex Builder faz para projetos Flex.
5. Após criado, clique com o botão direito do mouse sobre o projeto e vá até a opção ‘properties’.
6. Ao lado esquerdo do menu em lista, escolha a opção ‘Actionscript Build Path’.
7. Clique na aba com o nome ‘Library Path’ e clique no botão add SWC Folder.
8. Digite o nome da pasta, libs. Já que vai conter o diretório do mesmo projeto.

Pronto, com isso concluído, o seu projeto vai aceitar arquevos .SWC diretamente na pasta libs e irá refletir para todo seu projeto. Pulamos agora para o Flash CS4, vamos criar um swc por lá.

Configurando o Flash CS4
1. Faça o download do Flash CS4 Professional
2. Instale-o.
3. Crie um novo arquevo Flash para Actionscript 3.0
4. Após criá-lo, abra o painel de componentes. Para abrir vá em Window > Components.
5. Arraste quais componentes você quer para o palco de seu arquevo, e depois delete.
6. Automaticamente as classes, assets do componente arrastado é salvo na biblioteca do filme Flash, para verificar se eles estão por lá, combine CTRL+L, e você vai ver.
7.Depois disso, você vai precisar da seguinte opção, vá em File > Publish Settings > Desmarque a opção HTML.
8. Selecione a Aba Flash, na categoria ‘SWF Settings, marque a opção Export SWC.
9. Clique OK e pronto, seu SWC está pronto, basta agora arrastar para dentro da pasta libs que você criou lá no Flex Builder que será refletida as mudanças, caso não seja, no projeto lá do Flex Builder, pressione F5 depois que você adicionar o swc.

As vantagens de usar isso é que você pode usar o autocomplete com todas as propriedades dos componentes usados e a facilidade de montar uma interface em um projeto simples de Actionscript.

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/ Flash CS4

Trabalhando com DataProvider no Flash CS3/CS4

A sintaxe de programação para se trabalhar com DataProvider no Flash CS3 ou CS4 é um pouco diferente da que estamos acostumados no Flex. Entretanto o funcionamento é o mesmo.

O exemplo abaixo, popula um controle de ComboBox, e foi feito com Document Class, caso você queria setar um para rodar em sua máquena.

A primeira coisa que você faz para adicionar dados ao seu controle é justamente criar um objeto DataProvider e setar o source dele para o Array, XML ou coleção de objetos que você tenha. Ele parece muito com o comportamento do ICollectionView do Flex.

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
package{
		import fl.controls.ComboBox;
		import fl.data.DataProvider;
		import flash.events.Event;
 
		import flash.display.MovieClip;
		[SWF(width="800",height="600", backgroundColor="0xcccccc", frameRate='40')]
		public class Main extends MovieClip {
 
			public var cbx:ComboBox;
			public var arr:Array = ['Sao Paulo','Recife','Rio de Janeiro','Brasilia'];
			public function Main() {
				var d:DataProvider = new DataProvider(arr);
					cbx = new ComboBox();
					cbx.dataProvider = d;
					addChild(cbx);
					cbx.x = 100;
					cbx.y = 100;
					cbx.addEventListener(Event.CHANGE,selecionado);
			}
			private function selecionado(e:Event):void{
				trace(e.target.selectedItem.data.toString());
			}
		}
}
Flash CS4/ Flash Player/ Notícias/ Web 2.0

Flash Player 10 disponível

É sem dúvida o melhor Flash Player já lançado em um período de 18 meses na Adobe, Tem muitos recursos, 3D, pixel bender, dynamic sound, etc. Tanto que de uma só vez eles lançaram ao mesmo
tempo, para Linux,Mac e Windows.

Veja aqui as novidades do Flash Player 10, as 10 melhores novidades:

3D effects(novo)

Agora você pode criar animações intuitivas, interfaces elaboradas usando todos os recursos de 3D no Flash Player 10, mesmo você sendo um novato no mundo 3D você consegue fazer animações avançadas, a ferramenta para criar esse recurso de 3D por padrão vem com o Flash CS4, porém você também pode usar esses recursos diretamente no Flex Builder com o novo Flex Component Kit.

Custom filters and effects (Novo)

Crie em alta performance,efeitos em tempo real iguais a filmes de Hollywood, O Pixel Bender, que é a mesma tecnologia por tras dos efeitos do Adobe After Effects, esses efeitos dinâmicos e interativos podem ser usados em conjunto com o After Effects, em suma, você pode criar tanto no Flash CS4 quanto no After Effects.

Advanced text support (Novo)

A Adode pegou todo seu aprendizado em manipulação de textos durante ai sua jornada com o PDF e incorporou dentro do Flash Player 10, agora você pode ter textos que tragam melhor qualidade de impressão, ganhar mais controle sobre o layout do texto, ja que você pode usar ligaturas do texto por exibição em colunas, colocar textos ao redor de imagens, textos bi-direcionais, verticais, etc. E as novidades que mais gostei do Flash Player 10 foi a possibilidade de usar device fonts com anti-aliase, rotacionar, estilizar da maneira que você gosta. Tanto quanto criar seus próprios componentes de texto, Resumo geral é uma das melhores coisas que colocaram no Flash Player.

Dynamic sound generation (Novo)

Depois de um grande movimento pelo site , a Adobe mostrou-se madura em ouvir os requesitos da comunidade que usa suas ferramentas. Com o novo recurso e nova API para som que podem lhe dar a opção de gerar músicas, novos formatos de audio como também criar em tempo de execução sons para jogos. Você pode por exemplo extrair dados de um arquevo de MP3 carregado, filtrar esses dados, mixar e gerar assim nova música, que foi baseado praticamente em bibliotecas C++, como C++ é fácil manipular audio agora você tem esse recurso direto do Flash Player e o melhor acessando isso via actionscript 3.0.

Melhorias no Drawing API

Quando se fala em melhorias no Draw API do Flash Player, você bate a curiosidade e vai ver de perto o código fonte da nova API para ver o que mudou. E como todo mundo que trabalha em programação de certo é curioso, não fui diferente. A nova API para Draw foi bastante melhorada, devido ao fato que o Flash Player 10 suportar 3D, como antigamente tinhamos apenas os eixos x,y; Passamos agora a ter o eixo z, e isso com toda certeza afeta a maneira como desenhar. Com a nova API, você consegue desenhar de forma mais fácil, sem ter que ficar desenhando linha por linha como é feito hoje, também facilmente adaptado no caso de ambientes 3D para rendenização de texturas e o melhor disso tudo é sem perder performance.

Melhorias no Hardware acceleration

Como tem 3D, composição de bitmaps, filtros e blend modes, isso requerer e muito da máquena do cliente, só que não necessariamente isso tem que ser uma experiência ruim para o usuário final, as melhorias são significativas e você pode até ver redução do uso de memória da máquena para quem já tem o Flash Player 10 e usando recursos altamente consumidores de memória como por exemplo video overlay.

Vector data type (Novo)

Melhor performance para criar arrays, melhor efieciencia para checar erros.

Dynamic Streaming (Novo)

Imagina fazer stream de seu video e ele por sí, adaptar-se as condições de rede do cliente, como velocidade por exemplo. E como é streaming dinâmico você também poderá acessar métricas do video igual ao que é feito hoje com o Google Analytics para sites por exemplo.

Speex audio codec (Novo)

Esse é um tipo de recurso que permite você fazer encode de voz direto no Flash Player e gravar um arquevo de mp3 local por exemplo, é baseado no Speex, um projeto open-source para voice encode.

Melhorias File upload and download APIs

É muito aguardado por muitos, agora com o Flash Player 10, você pode carregar arquevos locais e salvar esses arquevos na máquena local. É sem dúvida uma ótima forma de fazer upload e download pelo Flash Player sem precisar de server-side para isso.

Quer saber mais sobre outras novidades do Flash Player 10? Visite aqui o site.