Ir para conteúdo

Arquivado

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

Marrabel

Banner Rotativo

Recommended Posts

Boa tarde a todos,

Possuo um banner rotativo aonde gostaria de fazer uma pequena alteração mas não estou obtendo sucesso.

 

Eis aqui meu AS3:

import fl.transitions.Tween;
import fl.transitions.easing.*;

var Delay:int = 0;
var Total:int = 0;
var Imagens:XMLList = null;
var Carregadores:Array = new Array();
var Contador:int = 0;
var Proximo:int = 0;
var Tempo:Timer = null;
var Transicao:Tween = null;
var Conteudo:Sprite = new Sprite();
var Descricao:TextField = new TextField();

var Carregador:URLLoader = new URLLoader();
Carregador.load(new URLRequest("banner.xml"));
Carregador.addEventListener(Event.COMPLETE, Completo, false, 0, true);

function Completo(e:Event):void
{
	var ArquivoXML:XML = new XML(e.target.data);
	Carregador.removeEventListener(Event.COMPLETE, Completo);
	Carregador = null;
	Imagens = ArquivoXML.imagem;
	Delay = Imagens[Proximo].@delay;
	Total = Imagens.length();
	CarregaImagens();
}

function CarregaImagens():void
{
	for (var i:int = 0; i < Total; i++)
	{
		var Link:String = Imagens[i].@link;
		var Carregador:Loader = new Loader();
		Carregador.load(new URLRequest(Link));
		Carregador.contentLoaderInfo.addEventListener(Event.COMPLETE, ImagemCarregada);
		Carregadores.push(Carregador);
	}
}

function ImagemCarregada(e:Event):void
{
	Contador++;
	if (Contador == Total)
	{
		ConfigureBanner();
	}
}

function ConfigureBanner():void
{
	addChild(Conteudo);
	Descricao.selectable = false;
	Descricao.width = 1024;
	Descricao.height = 50;
	Descricao.x = 0;
	Descricao.y = 718;
	addChild(Descricao);
	ProximaImagem();
	Tempo = new Timer(Delay * 1000);
	Tempo.addEventListener(TimerEvent.TIMER, ConfiguraTempo);
	Tempo.start();
}

function ConfiguraTempo(e:TimerEvent):void
{
	Proximo++;
	if (Proximo == Total)
	{
		Proximo = 0;
	}
	ProximaImagem();
}

function ProximaImagem():void
{
	if (Conteudo.numChildren > 0)
	{
		Conteudo.removeChildAt(0);
	}
	Carregadores[Proximo].alpha = 0;
	Conteudo.addChildAt(Carregadores[Proximo], 0);
	Transicao = new Tween(Carregadores[Proximo], "alpha", Strong.easeOut, 0, 1, 2,true);
	Descricao.text = Imagens[Proximo].@descricao;
}

Eu gostaria de colocar uma opção para atribuir um tempo (delay) para cada imagem. Pois há imagens mais importantes que outras que devem permanecer por mais tempo.

 

Obrigado desde ja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, você já tem no seu code uma definição de tempo para os banners, se quer definir um tempo específico para cada, adicione essa informação no XML e traga essa informação com as demais, ao carregar a imagem, atribua para essa o respectivo tempo.

 

Att.

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.