Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
Carregando comentários...