Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafa440

Sem palavras aleatórias

Recommended Posts

Ola amigos...

Seguinte, pesquisei na net e achei um .FLA muito interessante, open source e tudo mais...

O que ele faz, assim que abre o SWF, ele aparece uma palavra que você queira e, ao clicar em uma das letras, aparecem outras "palavras",só que, são letras aleatórias...

http://www.levitated.net/daily/levRunes.html

 

Se puderem baixar para ver os codigos, é que há muitos códigos pelo FLA...

O que eu queria mudar e não consegui foi que eu queria que, ao invez de palavras aleatorias, aparecessem palavras pré selecionadas, por exemplo, colocando a palavra "Teste", se clicar em "T" aparece "Tecnologia", no "E" aparece "Educação", no "S"...

E isso em todas as letras que possam aparecer...

Queria que explicassem, mostrassem o caminho, me falando qual função eu deveria trocar e por qual e não que dessem o codigo pronto já pq eu queria aprender e não acabar logo...

De qualquer forma, eu vou continuar olhando o codigo pra ver se consigo, se conseguir, aviso aqui.

Agadeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca todas as palavras num XML que você quer... relacionado as letras

 

Puxa esse XML criando um Array com elas

 

E quando a pessoa clicar na letra T você faz uma busca no array referente a aquela letra e mostra um valor randomico pré selecionado que você colocou que vai vir do XML

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, tipo, eu coloco só a palavra, por exemplo, só teste, ou coloco algo ligando o T ao teste?

E como, ali, nesse codigo, eu consigo identificar que a pessoa clicou na letra T?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cada letra ali no caso é um MC separado ;)

 

Você teria que fazer 1... faz 1 MC que contem um campo de texto e duplica ele eternamente... só mudando o conteúdo.

 

E sim teria que ser relacionado ao T,A, Z etc...

E ai você usaria essas letras como index para procurar na array que contém a informação que você deseja informar.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, só pra eu ver se eu entendi, quando ele faz as letras aleatorias, está criando varios MCs, cada uma sendo um...

Eu tenho que fazer um MC com um campo de texto dinamico(?) dentro...

Ai, no xml, eu colocaria algo como T = Tecnologia... (não entendo nada de XML, ainda vou pesquisar)

é isso?

Desculpa se estou sendo burro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É exatamente isso você cria um movieclip q contem um campo de texto dentro dele

 

E duplica ;)

Bem fácil de fazer com AS 3 ou com AS 2

E ai tudo q você tem q fazer é um loop duplicando e colocando as letras para formar a palavra desejada.

 

dando um split na palavra e pegando letra por letra e colocando 1 em cada movieclip

 

E pegar o conteúdo do XML

 

Tem varios tutoriais de XML na net

Um q eu gosto bem é do Kirupa

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, vamos lah, daki a pouco você vai me chingar, antes de tudo vlw pela paciencia cara

eu criei um movieclip e coloquei um dinamic text com a letra a dentro

pra ele duplicar usarei isso:

var i = 0;

function duplica(){
var i = _root.i;
_root.mc.duplicateMovieClip("novo" + i, i);
_root.i++;

}

var loop = setInterval(duplica, 100);

até aqui tudo certo...

Mas, você estava querendo dizer que, na hora de duplicar, eu coloco outra letra no lugar do A?

ou não?

e Split?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim exatamente isso

 

Você vai fazer algo que loope com uma array de letras

 

Exemplo

var letras = split("","Telhado");
var duplicate:MovieClip;

var mc:MovieClip = setUpContainer();

trace(letras); //output T,e,l,h,a,d,o

for (i = 0; i < letras.length; i++) {
 duplicate = mc.duplicateMovieClip("clip-" + i, i);
 campo = duplicate.createTextField("letra", i + 1000, 0, 0, 20, 20); //(instancia, depth, x, y, width, height) são os campos do createTextField
 campo.text = letra[i];
}

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;
}

Deve ser algo assim :)

 

Como eu to de mudança e o computador não é meu, eu não testei para ver se funciona... mas o caminho é esse ai

 

Se quiser saber como fazer duplicateMovie

Veja aqui o meu exemplo: http://berseck.wordpress.com/2009/06/24/botoes-com-texto-dinamico/

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, eu até consegui entender umas coisas no codigo...

tipo, que o Split separa letra por letra a palavra que eu quero, certo?

ou seja, voce criou a variavel letras que é igual a cada letra da palavra telhado separadamente certo?

eu consegui alterar algumas coisas como a cor do mc que cria e o tamanho, mas, só fiquei nisso, ele cria um quadrado preto sem nada preto...

e no output vem um "undefined"

Tipo, pelo que entendi tenho que colocar esse codigo dentro do MC que eu vou duplicar depois...

só que ele só cria o mc dentro do movieclipe contendo apenas uma caixa preta...

não sei se fiz algo errado, mudei essa parte só:

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;
}

sendo a cor e a altura e largura...

eu tentei colocar a instancia do texto denimaco igual algumas palavras que parecem ser nomes de instâncias, mas, não deu certo

e nem fora do MC e dando a instância pra ele tbm...

Não sei o que to deixando passar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código passado faz exatamente isso ele cria um MovieClip preto no beginFill é a cor que ele vai preencher o MovieClip

O que você pode fazer é não preencher com fundo nenhum. Ou uma cor de acordo com sua necessidade em hexadecimal.

 

Quanto ao resto você tem que criar um código seu eu não tenho esse código pronto. Para lhe dar como exemplo.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.