Ir para conteúdo

POWERED BY:

Arquivado

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

Leo KW

Banner externo

Recommended Posts

Fala galera,

 

Eu tenho um mc vazio que puxa uns swf externos, eu queria fazer um código pra que ao terminar de executar o flash externo 1, ele passar pro 2 e assim por diante, até que chegando no ultimo voltar pro primeiro.

 

Creio que não seja muito dificil, eu tenho esse código aqui, mais ele não passa de 1 pro outro quando acaba, ele acaba o primeiro e fica parado no final dele.

 

//Cria as matrizes
var swfs:Array = new Array();
cores[0] = "banner1";
cores[1] = "banner2";
cores[2] = "banner3";
cores[3] = "banner4";
/*Evita que um banner seja repetido em seguida
No caso ele chama uma função que tem nome de "randomiza"
Antes de tudo, tem uma variavel que se chama lastRandom = -1; 
ela seria o último número randomizado.
Na função, ele faz o primeiro random.. 
dae ele faz um loop while, que diz "enquanto o número random for igual ao último número randomizado,
tenta randomizar de novo..." */
lastRandom = -1;
function randomiza(numMax) {
	numRandom = random(numMax);
	while (lastRandom == numRandom) {
		numRandom = random(numMax);
	}
	lastRandom = numRandom;
	return numRandom;
}
//Função que cria o random.
function MostraSwf() {
	i = randomiza(3);
	//trace(i);
	if (i == 0) {
		loadMovie("banner_home1.swf", "recebeswf");
	} else if (i == 1) {
		loadMovie("banner_home2.swf", "recebeswf");
	} else if (i == 2) {
		loadMovie("banner_home3.swf", "recebeswf");
	} else if (i == 3) {
		loadMovie("banner_home4.swf", "recebeswf");
	}
}
MostraSwf();
stop();
//Função dos botões
btn1.onPress = function() {
	loadMovie("banner_home1.swf", "recebeswf");
};
btn2.onPress = function() {
	loadMovie("banner_home2.swf", "recebeswf");
};
btn3.onPress = function() {
	loadMovie("banner_home3.swf", "recebeswf");
};
btn4.onPress = function() {
	loadMovie("banner_home4.swf", "recebeswf");
};

//Posiciona o movieclip vazio

//recebeswf._x = 100;

//recebeswf._y = 150;
Preciso fazer em cima desse código!

Abraços!

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conforme o aviso existente no fórum de origem deste post, não é permitida a postagem de dúvidas nesta área, motivo pelo qual este tópico será movido para o fórum principal deste assunto.

 

Tópico Movido

 

Origem: Artigos, Tutoriais e Matérias (Flash) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Destino: Flash & ActionScript

Compartilhar este post


Link para o post
Compartilhar em outros sites

//Cria as matrizes
var swfs:Array = new Array();
cores[0] = "banner1";
cores[1] = "banner2";
cores[2] = "banner3";
cores[3] = "banner4";
/*Evita que um banner seja repetido em seguida
No caso ele chama uma função que tem nome de "randomiza"
Antes de tudo, tem uma variavel que se chama lastRandom = -1;
ela seria o último número randomizado.
Na função, ele faz o primeiro random..
dae ele faz um loop while, que diz "enquanto o número random for igual ao último número randomizado,
tenta randomizar de novo..." */
lastRandom = -1;
function randomiza(numMax) {
	numRandom = random(numMax);
	while (lastRandom == numRandom) {
		numRandom = random(numMax);
	}
	lastRandom = numRandom;
	return numRandom;
}
//Função que cria o random.
function MostraSwf() {
	i = randomiza(3);
	//trace(i);
	if (i == 0) {
		loadMovie("banner_home1.swf", "recebeswf");
	} else if (i == 1) {
		loadMovie("banner_home2.swf", "recebeswf");
	} else if (i == 2) {
		loadMovie("banner_home3.swf", "recebeswf");
	} else if (i == 3) {
		loadMovie("banner_home4.swf", "recebeswf");
	}
}
MostraSwf();
stop();
//Função dos botões
btn1.onPress = function() {
	loadMovie("banner_home1.swf", "recebeswf");
};
btn2.onPress = function() {
	loadMovie("banner_home2.swf", "recebeswf");
};
btn3.onPress = function() {
	loadMovie("banner_home3.swf", "recebeswf");
};
btn4.onPress = function() {
	loadMovie("banner_home4.swf", "recebeswf");
};

//Posiciona o movieclip vazio

//recebeswf._x = 100;

//recebeswf._y = 150;

O que você pode fazer é colocar um onEnterFrame que fique verificando o _currentframe se é igual ao totalframes do clip desejado... caso for ele carrega o proximo clip da array... se ele chegar ao ultimo ele simplesmente zera o a array e começa novamente.

 

Abraços

 

ps: Num sei pq... mas acho que já vi esse código antes??? num topico que eu postei =X

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você pode fazer é colocar um onEnterFrame que fique verificando o _currentframe se é igual ao totalframes do clip desejado... caso for ele carrega o proximo clip da array... se ele chegar ao ultimo ele simplesmente zera o a array e começa novamente.

 

Abraços

 

ps: Num sei pq... mas acho que já vi esse código antes??? num topico que eu postei =X

Fala berseck,

 

Eu tinha procurado o outro tópico e não tinha achado, achei que tinham deletado, por isso fiz outro, pode apagar aquele então! malz msm!

 

então cara, é isso mesmo que eu quero fazer, algo que confere se o clipe atual ja chegou no ultimo frame, caso tenha chego, ele carrega o proximo clipe da array, você pode me dar alguma dica de como fazer isso na pratica?!

 

To com essa bomba na mão ja faz tempo e até agora não consegui resolver! =/

 

Abraços!

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei não ;)

 

Mas se a lógica estiver correta vai funcionar

var mc:MovieClip = this.createEmptyMovieClip('mc', this.getNextHighestDepth());
var arr:Array = new Array('banner_home1.swf','banner_home2.swf','banner_home3.swf','banner_home4.swf');//Pode acrescentar + aqui se quiser
var i:Number = 0;

mc.loadMovie(arr[i].toString());//tire o toString() caso não esteja abrindo os banners

mc.onEnterFrame = function(){
	if(_currentframe == _totalframes){
		if(i < arr.length){
			i++;
		}else {
			i = 0;
		}
		mc.loadMovie(arr[i].toString());		
	}
}

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei esse seu código, mas ele não passa os banners, ele abre sempre o primeiro, e quando acaba ele não passa pro segundo...fica parado no final do primeiro banner!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sabia que tava esquecendo de algo :P

 

Segue:

var mc:MovieClip = this.createEmptyMovieClip('mc', this.getNextHighestDepth());
var arr:Array = new Array('varilux_300x250.swf','varilux_468x300.swf','varilux_728x90.swf');//Pode acrescentar + aqui se quiser
var i:Number = 0;

mc.loadMovie(arr[i].toString());//tire o toString() caso não esteja abrindo os banners

onEnterFrame = function(){
	if(mc._currentframe == mc._totalframes){
		if(i < arr.length){
			i++;
			mc.loadMovie(arr[i].toString());		
		}else {
			i = 0;
			mc.loadMovie(arr[i]);		
		}
	}
}

 

E veja que dessa vez eu testei heim xD

 

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.