Ir para conteúdo

Arquivado

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

leandro martins

Sorteio de texto

Recommended Posts

Gostaria que o flash sorteasse um nome dentre varios dentro de um txt.EX: Queria fazer um sistema que o meu swf pegasse dentro de um txt varios nomes que eu colocasse lá e ele fosse sorteado aleatoriamente (se tiver um ou cem nomes, todos tenham a mesma chance).ex. neste texto tem os nomes, usuario1, joao, lucas, andre, leandro, então queria fazer ao apertar um botão no swf chamado de sortear ele me retornasse algum deste nomes.Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

esses nomes estão separados como?? espaços??? virgulas???Dá para fazer o flash decompor nome a nome e colcar num array.Com isso, com os nomes no array, pode-se usar uma função random que sorteia um indice desse array e exibe na tela o nome que está nesse indice..Falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

o txt pode ser feito assim:nomes=nome1/nome2/nome3/nome4/nome5Ai no flash você faz assim:array_nomes = Array();p=0;loadvariables("nomes.txt","_root");for (i=0; i<_root.nomes.length; i++) { char = substring(_root.nomes, i,1); if (char == "/") { p+=1; } else { array_nomes[p] +=char; }}No final voce terá um array com todos os nomes separados um a um em cada indice...Ai é só usar a função Math.Rand() que faz o randon para selecionar um indice e com esse indice você chama o nome no arrayfalows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa aí está boa, ludoman, mas acredito que tenha uma solução mais prática:

 

array_nomes = Array();p = 0;loadVariables("nomes.txt", "_root");array_nomes = _root.nomes.split("/");//já cria automaticamente

Só uma consideração sobre o carregamento:

Se você colocar a action como está aí em cima vai dar errado pois o flash não terá tempo de carregar o txt para analizar ele na próxima linha. Então ou você coloca essa quarta linha num frame mais adiante, ou usa o loadVars com o evento onLoad (no fórum tem vários exemplos);

 

Agora sobre o sortear:

 

seu_btn.onRelease = function(){trace(array_nomes[Math.floor(Math.random() * array_nomes.length)]);}

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa aí que eu coloquei você põe no frame de onde está o botão com o nome de instância "seu_btn" (sem aspas). Pode botar o nome que quiser, só mudar a action.Agora pra mostrar no palco você pode criar um campo de texto e simplismente trocar a linha:seu_txt.text = array_nomes[Math.floor(Math.random() * array_nomes.length)];Flw

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.