[Tutorial] Twitter no flash

Vou aqui ensinar como que se recupera os dados do seu Twitter
Para começar vocês precisam saber que seu conteudo do twitter não pode ter um cadeado… ou seja tem que ser um conteúdo aberto a todos… se for um conteúdo fechado o código não irá funcionar.

Então tudo que vocês vão precisar fazer é pegar um componente de scroller nos componentes do flash, ctrl + F7 abre os componentes lá você escolhe a opção UIScrollBar arraste para o palco depois delete… pois você só precisa dele na biblioteca.

Feito isso vamos ao código:

/*
* Carregando o Twitter em seu flash
* Criado por Thiago de Oliveira Cruz
*/

//Primeiro passo é criar meu xml
var TwitterXML:XML = new XML();

//Crio meu campo de texto
var campo:TextField = this.createTextField(“campo”, 1, 20, 20, Stage.width – 50, Stage.height);
//Do a propriedade de multiline para ele e wordWrap
campo.multiline = true;
campo.wordWrap = true;

/*
* Crio meu scroll com o UIScrollBar
* (precisa colocar esse componente na biblioteca senão, não funciona)
*/
this.createClassObject(mx.controls.UIScrollBar, “scroller”, -5);
//Coloco o tamanho do campo igual ao palco
scroller.setSize(16, Stage.height);
//Digo qual a posição do X do scroll
scroller._x = Stage.width – 16;
//Coloco o scrill ao campo
scroller.setScrollTarget(campo);

//Carrego o meu xml do twitter
TwitterXML.load(‘http://twitter.com/statuses/user_timeline/ThiagoOCruz.xml’);
//Ignoro os espaços em branco
TwitterXML.ignoreWhite = true;
TwitterXML.onLoad = function() {
//Crio um loop para pegar o conteudo do meu twitter
for(var i:Number = 0; i < TwitterXML.firstChild.childNodes.length; i++){
//Recupero aqui apenas o campo text
campo.text += this.childNodes[0].childNodes[i].childNodes[2].firstChild.nodeValue + newline + newline;
}
}

E é só 🙂
Agora é só se divertir com os nodes do XML e buscar as informações que você quer.

Abraços e até a proxima

[Tutorial] Busca em Array

Hoje vou ensinar como fazer uma busca em uma array.
Basicamente o que é feito é buscar uma string que está dentro de uma array…
Então é busca de string em uma array com strings (que da no mesmo que busca em string).

Então vamos lá que o código para isso é bem simples.
Primeiro passo é criar um botão em sua tela para ativar o código no meu caso chamei ele de search
Crio também um campo input text onde eu vou colocar o texto.(no caso coloquei a instancia de search_field)
Segue o código abaixo:

//Crio minha array
var arr:Array=new Array(‘fotos’,’textos’,’noticias’,’contato’,’informações’);

var arr:Array=new Array(“fotos”,”textos”,”noticias”,”contato”,”informações”);

//Botão que faz a ação de procura na array
search.onRelease = function () {
var str:String = search_field.text.toString();
//var str:String = “fotos”;
for(var i=0; i < arr.length; i++) {
if(arr[i] == str){
trace(“Achei”);
}
else {
trace(“sem resultado”);
}
}
}

Até a proxima 😉


[Tutorial] Search in Array

On this example I will show how to search in array.
Search in array its same as search in lots of strings at the same time…
So you are going to search one string in other strings

how to do it?
First of all, create an button that I use instance search
Create an textfield input text, and instance it as search_field

So now I will put here the code that you need to do this simples search:

//Create my array
var arr:Array=new Array(“fotos”,”textos”,”noticias”,”contato”,”informações”);

//Button that will check if the value is on my array
search.onRelease = function () {
var str:String = search_field.text.toString();
//var str:String = “fotos”;
for(var i=0; i < arr.length; i++) {
if(arr[i] == str){
trace(“1 or more matches founded”);
}
else {
trace(“No results”);
}
}
}

Thx for reading my blog
See you on next tutorial

[tutorial] Botoes com texto dinamico

Bom hoje vou ensinar como colocar criar botões dinamicamente com textos diferentes utilizando duplicateMovie não é lá muito dificil uma vez que já ensinei como funciona nesse link então agora vamos aplicar um texto dentro de um movie clip 😉

Para isso vamos usar o seguinte código:

//Crio os clips duplicados
var container:MovieClip = setUpContainer();
//Crio a variavel que vai criar o numero maximo de botões
var ln:Number = 10;
//O espaço entre 1 e outro.
var spacer:Number = 1;
//Crio o clip que vai receber o clip duplicado
var duplicate:MovieClip;
//For que vai botas tudo para funcionar
for(var i:Number = 1; i < ln; i++) {
var newY:Number = i * (container._height + spacer);
duplicate = container.duplicateMovieClip("clip-" + i, i, {_y:newY});
//Aqui eu inicio o campo de texto que vai ter o conteudo dos meus botões
var campo:TextField = duplicate.createTextField("campo",this.getNextHighestDepth(),20,20,100,20);
duplicate.campo.background = true;
duplicate.campo.embedFonts = true;
duplicate.campo.border = true;
duplicate.campo.backgroundColor = 0xFFFFFF;// branco
duplicate.campo.borderColor = 0x000000;// preto
duplicate.campo.multiline = true;
duplicate.campo.wordWrap = true;
duplicate.campo.html = true;
meuFormato = new TextFormat();
meuFormato.font = "my_font";
meuFormato.size = 10;
meuFormato.color = 0x000000;
duplicate.campo.setNewTextFormat(meuFormato);
duplicate.campo.text = duplicate._name;
//Coloco o botão aqui
duplicate.onPress = onclick;
}
//Uma funçãozinha de clic só para mostrar como coloca botão
function onclick(){
trace("cliquei no clip: "+this._name);
}

function setUpContainer():MovieClip {
//crio o mc que vai se repetir
var mc:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
//Do o tamanho dele
var w:Number = 20;
//Do a altura dele
var h:Number = 20;
//Cor que ele vai ser preenchido
mc.beginFill(0xFFFFFF);
//Crio as linhas do mc
mc.lineTo(w, 0);
mc.lineTo(w, h);
mc.lineTo(0, h);
mc.lineTo(0, 0);
mc.endFill();
//Retorno o clip
return mc;
}

Bom o código ta todo comentado com cada coisa o que faz 😉
Agora é só dar nome aos botões e ser feliz ^^

Abraços e até a proxima

[Tutorial] Como usar um CheckBox

Hoje ensinarei como utilizar um CheckBox
Não é algo lá muito complicado o que é necessario apenas saber para que serve cada parametro para poder então fazer funcionar da maneira que queremos.
Primeiro de tudo vamos na parte de componentes do flash e procurar por checkbox
window -> components {ctrl + f7}

Agora vamos selecionar o checkbox na opção user interface
Pegando o checkbox você vai colocar o mesmo no palco e instanciar ele.

Ou simplesmente criar ele dinamicamente.
Mas como posso criar ele dinamicamente é possivel???
Sim é possivel para isso vamos criar assim:

import mx.controls.CheckBox;
_root.createClassObject(CheckBox, “chb_button”, _root.getNextHighestDepth(), {label:”Exemplo de CheckBox”});

O que eu fiz aqui, usei a classe que criar objetos de componentes e para isso os parametros são
createClassObject(objeto a ser criado, instancia do objeto, depth (profundidade no palco), {O que vai ter escrito no cb})

Agora que criei a checkbox vamos aos parametros da mesma não é mesmo??? que adianta ensinar como criar se não vou ensinar a por parametros 😛

Então vamos lá

//chb_button._width largura do checkbox não é usado pois vai mexer apenas com o tamanho da caixinha que vai ser marcada…
//chb_button._height altura do checkbox não é muito utilizado pois é preferivel que seja dinâmico, ou seja ele seja do tamanho que a fonte dele permitir
chb_button.label = “Marque-me com muita informação”; //Aqui você pode dar o nome para o checkbox caso não tenha dado o nome na hora de clicar
chb_button.labelPlacement = “right”; //Esse valor aqui tem apenas 4 valores como padrão, top, left, bottom e right, sendo que right é o padrão dele;
chb_button.selected = true; //Essa opção aqui vai dizer se ele foi marcado ou não.
chb_button.move(20,20);//Aqui vou dizer qual a posição x e y do componente… se eu quiser declarar x e y posso, mas assim é mais rápido e fácil
chb_button.setSize(250, chb_button._height); //Aqui eu to setando qual o tamanho do texto… pois ele poderia estar maior que o campo padrão do checkbox, removendo isso verá que a label acima criada vai ter seu texto cortado.
chb_button.setStyle(“color”, “0xFF0000”); //Aqui eu estou usando a maneira de setar sytle… eu poderia setar font, color etc.

Bom agora não vai ter mais desculpa de não sei usar um checkbox no flash heim galera.

🙂

Até a proxima

Como pegar o total de frames de uma animação

Bom a maioria das pessoas tem dificuldade em pegar o numero de frames total de uma animação quando ela é carregada dinâmicamente.
Pois bem resolvi aqui então criar um metodo de como pegar o valor.

Para aqueles que estavam buscando essa solução eis aqui sua resposta 😉

//Crio o movie clip que carrega
var mc:MovieClip = _root.createEmptyMovieClip(“mc”, 1);
//Crio a classe responsavel pelas informações do clip carregado
var mcl:MovieClipLoader = new MovieClipLoader();
//Crio o objeto ouvinte
var listener:Object = new Object();
//Adiciono o ouvinte a classe que carrega os movie clips
mcl.addListener(listener);
//Carrego minha animação no movieclip
mcl.loadClip(“sua_animacao.swf”, mc);
//Ao iniciar o mc eu ligo uma função
listener.onLoadInit = function(){
//Pego o valor total de frames da minha animação
trace(_root.mc._totalframes);
}

Ta ai a solução 😉 espero que seja util pra alguem hehehe

Abraços

[Tutorial]Como usar a classe MovieClipLoader

Normalmente quando você quer carregar uma imagem usa-se assim:
loadMovie(“imagem.jpg”, container);

E não tem acesso a nada da imagem… nem tamanho… nem onde foi carregada… nem o nome dela… nada!

Com MovieClipLoader você declara apenas uma vez:
var mcl:MovieClipLoader = new MovieClipLoader()

Ai você faz:
mcl.loadClip(“imagem.jpg”, container);

Ai com isso se você colocar um objeto de listener
var listener:Object = new Object();

E adicionar ao MovieClipLoader
mcl.addListener(listener);

Você vai ter acesso aos dados da imagem ao carregar… durante o carregamento… ao iniciar…

Exemplos de como usar:

var mcl:MovieClipLoader = new MovieClipLoader();
var imagem:MovieClip = _root.createEmptyMovieClip(“imagem”, _root.getNextHighestDepth());
var listener:Object = new Object();
mcl.addListener(listener);

var url:String = http://www.d2stations.com/&#8221;;
var foto:String = “NarutoC.JPG”;

mcl.loadClip(url+foto, imagem);

listener.onLoadProgress = function(imagem:MovieClip){
var total:Number = imagem.getBytesTotal();
var loaded:Number = imagem.getBytesLoaded();
trace(“bytesLoaded: “ + loaded + ” bytesTotal: “ + total);
}
listener.onLoadComplete = function(imagem:MovieClip){
trace(“carreguei o arquivo completamente”);
}
listener.onLoadInit = function(imagem:MovieClip){
if(imagem._width > Stage.width or imagem._height > Stage.height){
imagem._xscale = imagem._yscale = ((Stage.width)*(100))/imagem._width;
}
trace(“iniciei reduzi a escala da imagem”);
}
listener.onLoadError = function(){
trace(“Erro ao carregar o arquivo”);
}
listener.onLoadStart = function(){
trace(“iniciei o carregamento da foto “+foto);
}

E pronto agora você já pode usar a classe MovieClipLoader
Só seguir o exemplo das propriedades.

Té a proxima

[Tutorial]Passo a Passo como abrir um SWF externo ou foto

Bom, hoje vou ensinar como fazer um loadMovie() de filmes externos

Não é uma coisa dificil, é algo bem simples. Então vamos lá.

Passo a Passo:

1) Para iniciar um novo projeto vá em File -> New{ctrl + n} -> Flash File(Action Script 2.0)
2) Vemos que temos agora uma tela em branco 550×400 então vamos trabalhar com ela assim mesmo, não precisa mudar o tamanho do arquivo.
3) Na layer 1(camada 1) vamos clicar duas vezes com o botão esquerdo sobre o nome dela e vamos mudar o nome para carregador.
4) Agora vamos fazer a criação do movieclip que vamos usar como carregador ou mais conhecido por ai como:alvo ou container.
5) Para isso iremos em Insert(inserir) -> New Symbol(Novo Simbolo){ctrl + F8}, depois disso aparecerá uma telinha onde você vai poder esconlher entre Movie Clip, botão e graphic. Após criado o objeto você vai ter entrado nele, saia dele clicando no menu acima escrito scene 1(cena 1), para voltar ao palco onde estamos trabalhando.
6) Escolha a opção Movie Clip e nomeie onde está escrito, Symbol 1 para alvo.
7) Abra sua biblioteca Window -> Library(Biblioteca){ctrl + l}
8) Arraste o Movie Clip alvo que está em sua biblioteca para a tela. E centralizea. (Para centralizar você pode usar a ferramenta de alinhamento{window -> align[ctrl + k]}).
9) Após ter seu Movie Clip centralizado na tela, perceba que o mesmo encontra-se vazio não contem nada nele, deixe-o assim mesmo, vamos instanciar ele para que possamos carregar ele usando Action Script, que é a base da programação em flash.
10) Para isso precisaremos acessar a propriedades do Movie Clip, então selecione-o e acessemos as propriedades window -> Properties -> Properties{ctrl + F3}.
11) Após acessar as propriedades você verá uma caixinha na qual da para escolher novamente entre Movie Clip, button e Graphic. NÃO MEXA ALI! Deixe como está. E instancie no campo de texto logo abaixo onde tem escrito label o nome do movie clip. No nosso caso irá se chamar alvo.
12) Feito a instância vamos passar então a fazer os Actions então.
13) Para isso vamos criar uma nova camada só para as Actions. Vamos em Insert(inserir) -> Timeline(Linha do tempo) -> Layer(camada).
14) Feito isso agora vamos fazer a mesma coisa que no passo 3 e nomear como Actions.
15) Clique sobre o frame da timeline na camada Actions e coloque o seguinte código:

alvo.loadMovie(“seumovie.swf”);
// Ou
loadMovie(“seumovie.swf”,alvo);

16) Esse código é relativamente simples como se pode ver, você pode fazer isso para abrir arquivos .jpg, .png, .gif, entre outros.

E pronto você acabou de aprender como utilizar o loadMovie e acessar arquivos externos em seu flash.

Abraços e até a próxima.

Exemplo: exemplo_loadMovie.rar