Ir para conteúdo

POWERED BY:

Arquivado

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

pedrovoltaire

[Resolvido] SWF externo aleatório

Recommended Posts

Bom dia pessoal, valeu pela atenção.

Estou com o seguinte problema.

Tenho um arqui principal em que ele puxa um swf externo. Até aí ok, só que eu queria que puxasse aleatóriamente. Ou seja, cada vez que entrar na página puxa um .swf diferente, sendo que eu vou ter 3 .swf diferentes.

 

é isso.

 

Para puxar o swf eu usei:


if(_root.fotohome == Number(_root.fotohome)){
		loadMovieNum("fotohome.swf",_root.fotohome);
	} else {
		_root.fotohome.loadMovie("fotohome.swf");
	}
	
	

esse fotohome.swf é um dos que serão abertos, mas vou abrir mais 2 . Então ficará para abrir:

fotohome.swf

fotohome2.swf

fotohome3.swf

 

valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca as strings que representam os nomes dos arquivos em um array. Depois você acessa esse array usando como indice um numero randomico entre 0 e a quantidade de elementos da matriz menos 1. Vai ser algo parecido com isso(não estou certo se em AS2 o randon é dessa forma):

 

//Criando o Array
var arquivos:Array = ['fotohome.swf', 'fotohome2.swf', 'fotohome2.swf'];

// Definindo o index randomico de acordo com o nro de arquivos no array
var iRand:uint = Math.round(Math.random() * (arquivos.length-1));

//agora você carrega usando o index, coloquei em uma variavel como exemplo
var arquivoParaCarregar:String = arquivos[iRand];

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá sim... mas com relação ao código que fiz, a única mudança vai ser no tipo de dados do iRand, no AS2 não tem uint. Tenta Number =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em AS2 ficaria assim:

var iRand:Number = Math.floor(Math.random()*(arquivos.length));

O inconveniente é que pela quantidade de swfs que possui a chance de repetição é grande...

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, consegui assim.

 

//carrega os nomes rotacionado
banners = new Array("fotohome.swf", "fotohome2.swf", "fotohome3.swf");
// (_root.fotohome ) sobe um nivel e carrega no ( fotohome )
loadMovie(banners[random(banners.length)], "_root.fotohome");

Valeu pela ajuda, fui mesclando as respostas e consegui.

Valeu mesmo!!!

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.