A navegação do meu painel de notícias será identica à que vemos por aí nos portais de notícias (ex. site do IG).
Tenho o arquivo FLA onde o ActionScript define os dados a serem carregados.
Tenho uma classe chamada Slide.as que foi retirada de um exemplo em outro site que define o comportamento do temporizador do painel, os campos de textos que vão receber os dados e outros detalhes.
E também tenho o arquivo XML com os dados que vão preencher o FLA.
A dúvida é a seguinte: Eu tenho um controle neste painel com o número de cada slide e setas que indicam o próximo e também o slide anterior. Preciso bolar uma forma de identificar os slides para relacionar cada número com o seu respectivo slide.
Este é o AS que vai no FLA.
var xmlDados:XML = new XML();
xmlDados.ignoreWhite = true;
xmlDados.onLoad = function(S:Boolean):Void
{
if(S){
var tempData:Array = new Array();
var f:XMLNode = this.firstChild.childNodes[0];
do {
var tempObj:Object = {
src: f.attributes.src,
href: f.attributes.href,
title: f.attributes.title,
desc: f.childNodes[0].nodeValue,
texto: f.childNodes[1].nodeValue
}
tempData.push(tempObj);
delete tempObj;
} while(f = f.nextSibling);
Slide.dataProvider = tempData;
}
}
xmlDados.load("slides.xml");
Este é o Slide.as
class Slide extends MovieClip {
public var mcAlvo:MovieClip;
public var mcAlvo1:MovieClip;
public var mcAlvo2:MovieClip;
public var mcInfo:MovieClip;
public static var FIRST_SLIDE:Boolean = true;
public static var INIT_TIME:Date;
public static var LAST_TIME:Date;
public static var DATA:Array = new Array();
public static var INDEX_DATA:Number = 0;
public static var MCL_IMG:MovieClipLoader = new MovieClipLoader();
public static var SHOW_NEXT:Boolean = false;
public static var MC_ALVO:MovieClip;
public static var TIMER:Number;
public static var UPDATE_TIME:Number = 5;
function Slide(){
Slide.MCL_IMG.addListener(Slide);
(mcAlvo1 = mcAlvo.duplicateMovieClip("mcAlvo1", 1)).swapDepths(mcInfo);
(mcAlvo2 = mcAlvo.duplicateMovieClip("mcAlvo2", 2)).swapDepths(mcInfo);
Slide.MC_ALVO = mcAlvo1;
Slide.TIMER = setInterval(mx.utils.Delegate.create(this, this.nextSlide), 10);
mcAlvo._visible = false;
}
public static function set dataProvider(data:Array):Void
{
Slide.DATA = data;
if(Slide.DATA.length > 0){
Slide.INDEX_DATA = 0;
Slide.INIT_TIME = new Date();
Slide.MCL_IMG.loadClip(Slide.DATA[Slide.INDEX_DATA].src, Slide.MC_ALVO);
Slide.LAST_TIME = new Date();
}
}
public static function onLoadStart(mcAlvo:MovieClip):Void
{
Slide.SHOW_NEXT = false;
}
public static function onLoadInit(mcAlvo:MovieClip):Void
{
Slide.SHOW_NEXT = true;
mcAlvo._parent.nextSlide();
}
public function nextSlide():Void
{
if(Slide.SHOW_NEXT
&& (Slide.FIRST_SLIDE == true || (Slide.LAST_TIME - Slide.INIT_TIME) > (UPDATE_TIME * 1000))){
Slide.FIRST_SLIDE = false;
Slide.INIT_TIME = new Date();
Slide.LAST_TIME = new Date();
Slide.MC_ALVO.swapDepths((Slide.MC_ALVO == mcAlvo1 ? mcAlvo2 : mcAlvo1));
mcInfo.tTitulo.text = Slide.DATA[Slide.INDEX_DATA].title;
mcInfo.tDesc.text = Slide.DATA[Slide.INDEX_DATA].desc;
mcInfo.tTexto.text = Slide.DATA[Slide.INDEX_DATA].texto;
Slide.MC_ALVO.link = Slide.DATA[Slide.INDEX_DATA].href;
Slide.MC_ALVO.onRelease = function():Void
{
getURL(this.link);
}
Slide.MC_ALVO = Slide.MC_ALVO == mcAlvo1 ? mcAlvo2 : mcAlvo1;
if(Slide.INDEX_DATA+1 >= Slide.DATA.length) {
Slide.INDEX_DATA = 0;
} else {
Slide.INDEX_DATA++;
}
Slide.MCL_IMG.loadClip(Slide.DATA[INDEX_DATA].src, Slide.MC_ALVO);
} else {
Slide.LAST_TIME = new Date();
}
}
}
E aqui o Slides.XML.
<?xml version="1.0" encoding="UTF-8"?>
<slides>
<slide src="fotos/foto1.jpg" href="link1.htm" title="Alunas recebem prêmio por" ><![CDATA[Criatividade]]><![CDATA[Algum texto com até 74 caracteres.]]></slide></slide>
</slides>
Pergunta
Adan.Ribeiro
Olá,
A navegação do meu painel de notícias será identica à que vemos por aí nos portais de notícias (ex. site do IG).
Tenho o arquivo FLA onde o ActionScript define os dados a serem carregados.
Tenho uma classe chamada Slide.as que foi retirada de um exemplo em outro site que define o comportamento do temporizador do painel, os campos de textos que vão receber os dados e outros detalhes.
E também tenho o arquivo XML com os dados que vão preencher o FLA.
A dúvida é a seguinte: Eu tenho um controle neste painel com o número de cada slide e setas que indicam o próximo e também o slide anterior. Preciso bolar uma forma de identificar os slides para relacionar cada número com o seu respectivo slide.
Este é o AS que vai no FLA.
Este é o Slide.as E aqui o Slides.XML.Só para Ninjas.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.