Criando campos de texto por AS 2.0 e AS 3.0

30 10 2009

Bom hoje vou explicar como se faz campos de texto por AS 2.0 e 3.0

Para começar vocês não vão precisar de nada, basta abrir o flash clicar no frame e copiar e colocar o código para ver funcionar.

Em AS 2.0 temos a função createTextField
Então vamos ver como ela funciona:

/*
* Criando um campo de texto dinamico
*/
var campo:TextField = this.createTextField(‘campo’, 1);
/*
* Como usar
*/
campo.text = “um texto de testes”;

Bom como podem ver é muito fácil criar campos de texto em AS o this significa que ele vai criar onde você já está, se eu colocar _root ele vai criar no palco principal… mesmo se existir uma função chamando dentro de um MovieClip, se estiver escrito _root é no palco e se estiver this. é onde ele se encontra
A declaração var campo:TextField serve apenas para indicar para o flash que aquela variavel tem as propriedades de texto então se você só digitar depois de declarar a variavel campo.(ponto) ele vai mostrar ja todas as propriedades do campo de texto que você pode usar.

Agora como fazer isso em AS 3.0

/*
* Criamos o campo de texto
*/
/*
* IMPORTANTE NUNCA ESQUECER
*/
import flash.text.TextField;
// Aqui eu crio o nosso campo de texto
var campo:TextField = new TextField();
// coloco um texto qualquer
campo.text = ‘um texto de testes’;
// adiciono ao palco
addChild(campo);

Como pode-se ver em AS 3.0 eh diferente de AS 2, você declara depois onde vai adicionar o campo, como eu só escrevi addChild(campo) é a mesma coisa que eu estiver colocando o campo no root do palco, se eu colocar MovieClip.addChild(campo) eu vou estar adicionando dentro de um MovieClip
E lembre-se que em AS 3.0 é necessário importar todas as coisas que você estiver trabalhando… campos de texto etc.

E por hoje é só, espero ter ajudado as pessoas nessa passagem de AS 2.0 para 3.0

abs





Usando Tween

20 10 2009

Hoje vou dar um pequeno exemplo de como usar o tween do flash
Fazendo uma bolinha ir e voltar de uma posição de uma maneira simples

Eis o código:

//Importo as classes necessárias
import mx.transitions.*;
import mx.transitions.easing;

//Crio meu tween que vai fazer a animação
var primeiroTween:Tween = new Tween();
//Crio minha variavel verificadora
var foi:Boolean = true;

//Agora dou a bolinha intanciada de bola no palco a ação de clic
bola.onPress = function() {
//Se foi estiver em true, ele executa a primeira ação
if(foi) {
//Aqui faço a bolinha se movimentar no eixo x de 0 a 200 em 1 segundo
primeiroTween = new Tween(bola, “_x”, Back.easeOut, 0, 200, 1, true);
//Aqui ao terminar a ação do movimento da bolinha eu troco o valor da minha variavel
//assim evito que multiplos clics façam com que ela vá para proxima ação
primeiroTween.onMotionFinished = function() {
foi = false;
}
//Aqui é se ela já foi então volta
}else {
//Para ela voltar eu uso o yoyo() que faz a ação inicial ao contrário
primeiroTween.yoyo();
}
}

Simples fácil e pratico

Agora só aplicar para outras opções ;)
Té mais





[Tutorial] virtual hosts

16 10 2009

Bom galera eu hoje, quebrei minha cabeça de tudo quando foi maneira para conseguir montar um virtual host em meu computador. E ao resolver esse problema resolvi compartilhar a solução para outras pessoas que encontraem o mesmo problema.

Eu uso xampp, mas esse procedimento também serve para o apache normal.

Então vamos lá

Passo número 1 é ir no httpd.conf
E habilitar a linha descomentando a mesma
# Virtual hosts
Include “conf/extra/httpd-vhosts.conf”

E ai vamos agora ao vhosts :)

Muitos tutoriais explicam de uma maneira que é errada… pois acaba apontando para a pasta de localhost e isso ficam pessoas se matando para concertar

Primeiramente descomenta a linha NameVirtualHosts *:80
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

Então vamos la
Para fazer o famoso mysite

Basta fazer o seguinte:

ServerAdmin mysite@localhost.com
ServerName www.mysite.com
DocumentRoot “C:/xampp/htdocs/mysite”

Vendo ali vemos o DocumentRoot, esse deve indicar qual o caminho ou pasta que se encontra o seu site, no meu caso eu uso xampp então por isso que fica nessa pasta.

Agora salvamos o arquivo vhosts e temos nosso host funcionando reinicie o apache.

Bom até ai tudo certo… teste a url www.mysite.com
Abriu? dependendo da configuração de seu computador pode abrir perfeitamente bem. Masssssss não deveria se você usar windows.

Temos ainda que configurar para o windows o arquivo hosts para isso vamos no seguinte caminho:
C:\WINDOWS\system32\drivers\etc

E temos que abrir o arquivo hosts, para abrir ele pode usar o bloco de notas ou algum arquivo que abre um texto

Você vai encontrar a linha
127.0.0.1 localhost

Aee correto então agora o que tenho que fazer?
Agora você precisa colocar o endereço de seu site
Eu usei o www.mysite.com correto?
Então temos que colocar assim

#LocalHost
127.0.0.1 localhost
#My site
127.0.0.1 www.mysite.com

Salve o arquivo, se der um erro e tiver que salvar em txt salve, ou com outro .nome que vc quiser… ai o que você vai fazer é pegar o original do windows e vai trocar o nome dele para que ele fique de backup e vai remover a terminação do nome do arquivo que você colocou, assim ele vai voltar a ser um arquivo sem nome como o proprio hosts que você encontrou primeiramente.

Agora basta você testar
www.mysite.com

Se tudo foi feito corretamente você tem um site virtual agora em sua máquina ;)

Para configurar de outras pessoas encontrarem pelo seu ip requer outras configurações.

E isso fica para um outro tutorial

Abraços e até a proxima





[Tutorial] Banner Randomico

15 10 2009

Bom esse tutorial é destinado a uma ferramenta que mostre banners randomicos, mas apenas de SWF’s não serve para passar banners em gif ou jpg

Apenas banners com varios frames, pois ele não calcula um tempo em si… ele apenas calcula quantos frames já passou se chegou ao total de frames ele passa para o proximo

O código é alto explicativo, espero que gostem

/*
*
* Codigo criado por Thiago de Oliveira Cruz
* Código para fazer banners randomicos, sem repetição até terminar de passar todos
*
*/

//Crio uma array com todos os meus banners
//Lembrando que aqui posso criar um XML para popular esse valor ou um LoadVars
var array:Array = new Array(‘banner1.swf’,'banner2.swf’,'banner3.swf’);
//Cria a string vazia que vai receber os banner que forem passando
var old:String = new String();
//Crio um contador
var count:Number = 0;

//Crio o alvo que vai carregar os clips
var alvo:MovieClip = this.createEmptyMovieClip(‘alvo’, 0);

//Crio minha função que vai fica loopando os swf’s
function init(){
var i = Math.round(Math.random()*2);
var str:String = array[i].toString();
//Crio o if que busca se o valor já passou pela nova array
if(old.indexOf(str) >= 0) {
//verifico se meu contador = valor total da array menos 1 pq a contagem de array é do 0 e não 1
if(count >= array.length){
//zero a string de banners
old = “”;
//zero meu contador
count = 0;
//re inicio minha função
init();
} else {
//somo + 1 ao meu contador caso ele não passe pelo resultado acima.
count++;
init();
}
}else{
//Somo o nome do baner a minha string de controle
old += str+”,”;
//Carrego os banners
loadMovie(array[i], alvo);
}
}
//Verificador do frame do banner, se atingir o maximo ele para e passa para o proximo
this.onEnterFrame = function(){
if(alvo._currentframe == alvo._totalframes){
init();
}
};

//Inicio toda a função
init();

Até a proxima





Twitter em seu site com flash

19 09 2009

Aqui vou ensinar como fazer um arquivo de flash para pegar seus tweets do twitter.

Fiz adaptações no código de AS 3.0 para poder fazer para AS 2.0.

Vamos usar a API do proprio twitter pra fazer ok?

Então vamos lá
No flash:

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

//Primeiro passo é criar meu xml
var twitter:LoadVars = new LoadVars();
var twitterXML:XML = new XML();

twitterXML.ignoreWhite = true;

//loadPolicyFile
System.security.loadPolicyFile(‘crossdomain.xml’);

//Crio meu campo de texto
var campo:TextField = this.createTextField(“campo”, 1, 20, 20, Stage.width – 50, Stage.height – 50);
var stats:TextField = this.createTextField(“stats”, 2, 20, Stage.height – 40, Stage.width – 50, 50);
//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 – 50);
//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 e vira um arquivo twitter.xml criado pelo php
twitter.load(‘twitter.php’);
//Ignoro os espaços em branco
twitter.onLoad = function(ok) {
if(ok){
//Recupero meu arquivo e carrego o xml
twitterXML.load(‘twitter.xml’);
twitterXML.onLoad = init;
}else {
trace(‘deu erro’);
}
}
//Coloco o XML num campo de texto previamente criado
function init(){
var cn = twitterXML.firstChild.childNodes;
for(var i = 0; i < cn.length; i++){
campo.text += cn[i].childNodes[2].firstChild.nodeValue + newline + newline;
}
}

Comopode ver eu uso um loadVars para carregar um php depois do que eleresponder… no caso ele deveria responder um XML em texto… mas aipor algum motivo, que eu desconheço… não consegui recuperar essetexto como XML para o flash com AS 2.0 então eu simplesmentetransformei em arquivo salvando em meu servidor.

Agora vamos ao PHP:

————– abre php ——————
/*
* Esse código foi criado por Thiago de Oliveira Cruz
* Sem fins lucrativos apenas para aprendizagem!
* Não pode ser vendido, nem com nenhum fim lucrativo
*/
#Essa função aqui precisa do curl ativado em seu sistema de PHP
#caso não tenha entre no php.ini de seu servidor… ou localhost e descomente o curl.dll
#para saber o que curl faz acesse http://www.php.net/curl
function get_content($url)
{
$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_HEADER, 0);

ob_start();

curl_exec ($ch);
curl_close ($ch);
$string = ob_get_contents();

ob_end_clean();

return $string;
}

#Aqui eu coloco meu arquivo XML que vai ser puxado do twitter… então coloque um legal aqui como o da CocaCola de Exemplo
$content = get_content (“http://twitter.com/statuses/user_timeline.xml?screen_name=CocaCola”);
#Aqui eu to colocando o cabeçalio desse arquivo aqui que deve retornar um XML ele sozinho…
#caso consiga recuperar no flash… não precisa fazer os passos de criação de arquivo.
header(“Content-type:text/xml”);

#Aqui eu crio um arquivo em meu servidor chamado twitter.xml
$nodes = fopen(‘twitter.xml’,'w’);
#Escrevo o texto todo que esse arquivo escreve… que já é um XML
fwrite($nodes, $content);
#Salvo meu arquivo
fclose($nodes);

#Aqui eu imprimo o arquivo como um XML em tela
echo $content;
——— fecha PHP ————-

Agora você precisa do crossdomain né?
Esse basta pegar um igual do twitter e salvar na mesma pasta de seu site
http://www.twitter.com/crossdomain.xml

Lembre-seque no meu código eu chamo o crossdomain no policy então é extremamenteobrigatório e necessário para que esse código funcione!!!

Espero que gostem e aproveitem bem.

Abraços