Ir para conteúdo

Arquivado

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

Junior_zara

[Resolvido] carregar .swf externo aleatorio sem repetiçao.

Recommended Posts

Galera estou com probleminha procurei muito e nao encontrei nada da forma que preciso, e gostaria de uma ajudinha de voces, desculpe se algo estiver errado sou iniciante em flash e tambem no forum, obrigado vamos la!!!

 

Estou desenvolvendo um site de modelos totalmente em flash onde em um certo local tenho que abrir varias imagens.swf uma do lado da outra total de 8, tipo 4 em cima e 4 embaixo, porem toda vez que entrar no site estas imagens te que trocar de lugar.

Criei 8 movie clips e dei o nome(instance) a cada um deles, modelo01 , modelo02 modelo03... modelo08 posicionei nos locais devidos.(em cada um destes movie clip tenho que carregar uma imagem.swf porem nao podendo se repetir... no primeiro freme coloquei o seguinte codigo.

 

 

max = 8 //quantidade de fotos
min = 1 // aqui fica 1 mesmo
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
//ele vai carregar randomicamente imagem1.jpg, imagem2.jpg. imagem3.jpg... até a 5
modelo01.loadMovie("uberlandia/feminino/modelo"+randomNum+".swf");

max = 8 //quantidade de fotos
min = 1 // aqui fica 1 mesmo
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
//ele vai carregar randomicamente imagem1.jpg, imagem2.jpg. imagem3.jpg... até a 5
modelo02.loadMovie("uberlandia/feminino/modelo"+randomNum+".swf");

max = 8 //quantidade de fotos
min = 1 // aqui fica 1 mesmo
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
//ele vai carregar randomicamente imagem1.jpg, imagem2.jpg. imagem3.jpg... até a 5
modelo03.loadMovie("uberlandia/feminino/modelo"+randomNum+".swf");

max = 8 //quantidade de fotos
min = 1 // aqui fica 1 mesmo
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
//ele vai carregar randomicamente imagem1.jpg, imagem2.jpg. imagem3.jpg... até a 5
modelo04.loadMovie("uberlandia/feminino/modelo"+randomNum+".swf");

max = 8 //quantidade de fotos
min = 1 // aqui fica 1 mesmo
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
//ele vai carregar randomicamente imagem1.jpg, imagem2.jpg. imagem3.jpg... até a 5
modelo05.loadMovie("uberlandia/feminino/modelo"+randomNum+".swf");

max = 8 //quantidade de fotos
min = 1 // aqui fica 1 mesmo
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
//ele vai carregar randomicamente imagem1.jpg, imagem2.jpg. imagem3.jpg... até a 5
modelo06.loadMovie("uberlandia/feminino/modelo"+randomNum+".swf");

max = 8 //quantidade de fotos
min = 1 // aqui fica 1 mesmo
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
//ele vai carregar randomicamente imagem1.jpg, imagem2.jpg. imagem3.jpg... até a 5
modelo07.loadMovie("uberlandia/feminino/modelo"+randomNum+".swf");

max = 8 //quantidade de fotos
min = 1 // aqui fica 1 mesmo
var randomNum:Number = Math.floor(Math.random() * (max - min + 1)) + min;
//ele vai carregar randomicamente imagem1.jpg, imagem2.jpg. imagem3.jpg... até a 5
modelo08.loadMovie("uberlandia/feminino/modelo"+randomNum+".swf");

Ate aqui tudo correto perfeito ele loada todos os swf como pretendo aleatorio como deve, porem as imagens se repete tipo quadro 1 foto 8, quadro 2 foto 5, quadro 3 foto 7, ai se repete quadro 4 foto 8 que ja se abriu em outro quadro... entendem. preciso que cada hora que abrem meu site estas 8 images aparecem cada uma em um quadro diferente nao se repetindo, ai fecho o site e abro de novo as imagens novamente trocaram de lugar. aguardo ajuda abrigado segue links do projeto para entenderem melhor,

 

 

http://www.frenezzi....testmodelos.swf

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça uma array com 8 números

 

Exemplo Array(1,2,3,4,5,6,7,8);

 

Ai você vai comparar 2 arrays... e vai preenchendo a outra array conforme forem saindo os números... pois assim você não vai ter números iguais...

Algo mais ou menos assim:

var array:Array = new Array(1,2,3,4,5,6,7,8);
var i = 1;
for(var t = 0; t<array.length ; t++){
	this.createEmptyMovieClip("modelo0"+t, t);
}
var verifica:Array = new Array();

function init(){
	num = Math.round(Math.random()*array.length);
	if(array.length > verifica.length){
		if(search(num, verifica) == 1){
			init();
		}else {
			this["modelo0"+i].loadMovie("uberlandia/feminino/modelo"+num+".swf");
			i++;
			init();
		}
	}
}


function search (input, arrayData) {
	for (i=0; i < arrayData.length; i++) {
		if (arrayData[i] == input || input == 0) {
			return 1;
		}
	}
	verifica.push(input);
	return -1;
};

init();
boa sorte com o código :)/>

Testado e funcionando

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Berseck!!! muito abrigado meu amigo, ja li varios posts seu, você e muito bom, parabens pelo trabalho sua ajuda foi muito importante, parabens mesmo...

 

inseri seu codigo e foi 100% tive apenas que renomer um movie clip, para "modelo00" e que eles começavam de modelo01, a modelo08, agora ficou de modelo00 a modelo07. porem abre todas as fotos e sem repetir alguma. valeww d++++ muito obrigado mesmo tinha ficado 9hs,apenas neste codigo testei de varias formas e nao tinha conseguido, apenas com 2 minutos e sua ajuda deu tudo certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que consegiu

 

Já brinquei muito de arrumar array :)

De procurar dados etc... haha

 

Se fosse PHP dava pra fazer mais fácil ainda o código com 2 linhas só hahahaha

Mas fazer o que o flash não é tão bonzinho.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, gostaria de uma ajuda:

 

Tenho 5 botoes divididos em 5 frames. Tenho 30 filmes swf e cada botao vai chamar 1 desses 30 filmes mas sem repetir.

 

Ex.: Botao 1 chama randomicamente o filme 27. Pula-se para o frame seguinte. Botão 2 poderá chamar qualquer um dos 29 filmes restantes, menos o filme 27 e assim até o botão 5.

 

Trata-se de um quiz com apenas 5 perguntas que serão escolhidas dentre 30, aleatoriamente. Fiz filminhos com cada pergunta.

 

Vou procurar também enquanto não aparece uma resposta.

 

Masi uma vez obrigado a todos.

 

Início é com o frame do botão 1 e ao clicar carregar um dos 30 filmes. Depois que a pessoa responder a pergunta, eu já coloquei uma ação para ir pro frame do botão 2 até o frame do botão 5.

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.