Ir para conteúdo
Fórum Script Brasil

Adan.Ribeiro

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Adan.Ribeiro

Adan.Ribeiro's Achievements

0

Reputação

  1. 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. 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> Só para Ninjas.
×
×
  • Criar Novo...