Ir para conteúdo

POWERED BY:

Arquivado

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

galvaomcz

Multibanner no flash

Recommended Posts

Bom dia pessoal,

Como eu posso criar um banner no flash e esse banner "puxe" outros banners externos animados em gif, swf ou até mesmo estáticos? Ah e que possa ainda definir um tempo de espera em cada banner voltando para o primeiro ao terminar a ultima exibição?

Missão dura neh? Tô precisando mesmo...

 

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

primeiro você cria dos layers, um para separar os banners em frames (layer 1) e outro para alguns scripts em especial(layer2).

 

agora você carrega cada um dos banners com um script assim(layer 2, 1º frame):

stop();
var carregar:Loader = new Loader();
carregar.load(new URLRequest("seubanner"));

depois você cria um keyframe pra cada banner e em cada frame um movie clip, e os scripts(em cada frame):

 

frame1:

 

mcDoFrame1.addChild("bannerDoFrame1");

frame2:

mcDoFrame2.addChild("bannerDoFrame2");

e por aí vai...

 

agora você tem que salvar na mesma pasta do swf um txt (que nesse exemplo vai ter o nome duracao.txt) com os tempos de duração em segundos dos banners nesse formato:

 

banner1=10&banner2=5&banner3=15 ...

 

e esse script no layer 2:

var url:URLRequest = new URLRequest("duracao.txt");
var textoDuracao:URLLoader = new URLLoader();
textoDuracao.dataFormat = URLLoaderDataFormat.VARIABLES;
textoDuracao.load(url);
textoDuracao.addEventListener(Event.COMPLETE, lerTextoDuracao);
var duracaoBanner1 = 0;
var duracaoBanner2 = 0;
var duracaoBanner3 = 0;
function lerTextoDuracao(e:Event) {
duracaoBanner1 = textoDuracao.data.banner1;
duracaoBanner2 = textoDuracao.data.banner2;
duracaoBanner3 = textoDuracao.data.banner3;
(...)
}

outra vez no layer 2, coloque esse script:

 

var cronometro:Timer = new Timer(1000, 1);
cronometro.addEventListener(TimerEvent.TIMER, compararTempo);
cronometro.start();

function compararTempo(e:Event) {
	
	//banner1:
	var tempo1 = getTimer();
	var tempo1arredondado:uint = tempo1 / 1000;
	if(duracaoBanner1 == tempo1arredondado){
		gotoAndStop("frame do banner 2");
	}
	
	//banner2:
	var tempo2 = getTimer();
	var tempo2arredondado:uint = tempo2 / 1000;
	if(duracaoBanner2 == tempo2arredondado - tempo1arredondado){
		gotoAndStop("frame do banner 3");
	}
	
	//banner3:
	var tempo3 = getTimer();
	var tempo3arredondado:uint = tempo3 / 1000;
	if(duracaoBanner3 == tempo3arredondado - tempo2arredondado - tempo1arredondado){
		gotoAndStop("frame do banner 1");
	}
	
	//(...)
}
stage.addEventListener(Event.ENTER_FRAME, compararTempo);
Acho que é só isso http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.