[Resolvido] Galeria de Banner em Actionscript + XML
Sou novo com Actionscript+XML, e tenho que alterar um banner onde muda a imagens com o Tempo.
Mas agora presiço colocar um botão proximo e anterior.
Alguem poderia me dar um dica ?
As imagens estão no XML.
Aqui estão os codigos:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<destaques>
<destaque uid='1' area='musica' foto='C:/site/foto1.jpg' titulo='Site' chamada='Site...' url_link='http://www.site.com.br/noticias/uma_noticia_qualquer' />
<destaque uid='2' area='musica' foto='C:/site/foto1.jpg' titulo='Site' chamada='Site...' url_link='http://www.site.com.br/noticias/uma_noticia_qualquer' />
<destaque uid='3' area='musica' foto='C:/site/foto1.jpg' titulo='Site' chamada='Site...' url_link='http://www.site.com.br/noticias/uma_noticia_qualquer' />
</destaques>
Actionscript:
//valores iniciais
_root.xmllink;
stop();//carrega zeh tween
#include "mc_tween2.as"
///////////////CRIA AS ARRAYS//////////////////
//array do id
arUid=[];
//array da area
arArea=[];
//array do título
arTitulo=[];
//array da chamada
arTChamada=[];
//array da foto
arFoto=[];
//array do link
arLink=[];
//---------------------------------------------
//array das fotos carregadas
arFotoCar=[];
//apaga tudo
_level0.meio.conteudo._alpha=0;
_level0.nav._alpha=0;
//carrega o xml
///////////////CARREGA O XML E CONCATENA OS VALORES PARA AS ARRAYS//////////////////
var vidXML:XML = new XML();//Declara um novo objeto XML
vidXML.load("C:/site/destaquehome.xml");//Carrega o arquivo XML
//vidXML.load("http://www.site.com.br/site/xml_destaquesHome");//Carrega o arquivo XML
//
vidXML.ignoreWhite = true;//Ignora os espaços em branco do XML
vidXML.onLoad = function(success:Boolean){
if (success) {
//Quando o XML for carregado, executa a função
//quantidade de destaques
_root.qtdDest = this.firstChild.childNodes.length;
//for para pegar os ítens da array
for (var i = 0;i<_root.qtdDest;i++) {
if (this.firstChild.childNodes[i].attributes.uid!="") {
//pega a array do id
//verifica se o mesmo id já foi puxado
varpos=0;
for (var j=0; j<(i+1);j++) {
if (this.firstChild.childNodes[i].attributes.uid == arUid[j]) {
varpos=1
}//
}//
if (varpos==0) {
arUid.push(this.firstChild.childNodes[i].attributes.uid);
//pega a array da area
arArea.push(this.firstChild.childNodes[i].attributes.area);
//pega a array do título
arTitulo.push(this.firstChild.childNodes[i].attributes.titulo);
//pega a array da chamada
arTChamada.push(this.firstChild.childNodes[i].attributes.chamada);
//pega array da foto
arFoto.push(this.firstChild.childNodes[i].attributes.foto);
//pega array do link
arLink.push(this.firstChild.childNodes[i].attributes.url_link);
}//
}//
}//fim for
//começa
inicia();}//
}//fim function
//carrega a primeira
///////////////FUNÇÃO INICIAL//////////////////
function inicia() {
//carrega a primeira foto
carrega_imagem(arFoto[0],0);
muda_layout(0);
nav ();}//fim function
///////////////CARREGA AS IMAGENS//////////////////
//foto atual caminho e nome da foto a ser carregada
function carrega_imagem (fotoAtual,nume) {
//cria um objeto
carregaRes = new Object();
//verifica se terminou de carregar
carregaRes.onLoadInit = function(target_mc:MovieClip) {
//
_level0.meio.fotoHome._alpha=0;
//_level0.meio.fotoHome.alphaTo(100,1,"linear");
//mostra a navegação
_level0.nav.alphaTo(100,1);
// _level0.meio.fotoHome.alphaTo(0,0.5,"linear",0);
// _level0.meio.conteudo.alphaTo(0,0.5,"linear",0);
// _level0.meio.fotoHome.onTweenComplete = function () {
// _level0.meio.fotoHome.onTweenComplete = null;
_level0.meio.fotoHome.alphaTo(100,0.5,"linear",0);
_level0.meio.conteudo.alphaTo(100,0.5,"linear",0);
//posiciona
_level0.meio.fotoHome.fotoin._x=288-(_level0.meio.fotoHome._width/2);
_level0.meio.ajustaFund.resizeTo(_level0.meio.fotoHome._width,_level0.meio.fotoHome._height,1);
_level0.meio.ajustaFund.slideTo(_level0.meio.fotoHome._x,_level0.meio.fotoHome.y,1);
//mostra o texto
_level0.meio.conteudo.alphaTo(100,1,"linear");
//começa a contar o tempo
contador=0;
conta_tempo(nume);// }//
}//fim function
//cria um carregador
var carFotRes:MovieClipLoader = new MovieClipLoader();
//vincula o carregador ao acompanhamento de eventos
carFotRes.addListener(carregaRes);
//pega a imagem
carFotRes.loadClip(fotoAtual,"_level0.meio.fotoHome.fotoin");
//deixa o movie transparente
//_level0.meio.fotoHome._alpha=0;
}//fim function
//tempo começa
///////////////CONTROLADOR DE TEMPO//////////////////
function conta_tempo(nume){
//
//var meuTempo=setTimeout(verificador,5000);
_level0.onEnterFrame = function () {
contador++;
if (contador==50) {
//carrega a próxima
mostra(nume,1);
delete _level0.onEnterFrame;
}
}}//fim function
// botao anterior/proximo
avancar.onRelease = function() { // ao clicar no avançar...
if(i == total-1) { // ...se já estiver na última foto...
i=0; // volta pra primeira
}
else { // senão...
i++; // vai para a próxima
}
preloader(); // ativa o preloader
carrega(); // carrega a foto
alinhar(); // alinha a foto no meio
}
voltar.onRelease = function() { // ao clicar no botão voltar...
if(i == 0) { // se estiver na primeira foto...
i=total-1;//... quando clicar pra voltar, vai pra última
}
else { // senão...
i--; // ... volta uma foto
}
preloader(); // ativa o preloader
carrega(); // carrega a foto
alinhar(); // alinha a foto no meio
}
//mostra
function mostra(nume,conc) {
nume = nume+(conc);
if(nume>=qtdDest){
nume = 0
}//fim if
if(nume<0){
nume = qtdDest-1;
}//fim if
//atualiza a navegAÇÃO
nav (nume);//apaga tudo
_level0.meio.fotoHome.alphaTo(0,0.5,"linear",0.3);
_level0.meio.conteudo.alphaTo(0,0.7);
_level0.nav.alphaTo(0,0.5);
_level0.meio.fotoHome.onTweenComplete = function () {
_level0.meio.fotoHome.onTweenComplete = null;
//carrega a foto
carrega_imagem(arFoto[nume],nume);
//carrega o conteúdo
muda_layout(nume);}//
}//fim function
function nav (nume) {
//próximo anterior
_level0.nav.proximo.onRelease=function () {
mostra();}//fim function
_level0.nav.anterior.onRelease=function () {
mostra();}//fim function
}//fim function
//////////////////////////MUDA LAYOUT////////////////////
function muda_layout (nume) {
//texto
_level0.meio.conteudo.chamada.embedFonts = true;
_level0.meio.conteudo.chamada.setTextFormat(arial,arial_bold);
_level0.meio.conteudo.chamada.htmlText=searchAndReplace(arTChamada[nume], '“', '"');
_level0.meio.conteudo.chamada.htmlText=searchAndReplace(_level0.meio.conteudo.chamada.text, '”', '"');
_level0.meio.conteudo.chamada.htmlText=searchAndReplace(_level0.meio.conteudo.chamada.text, '–', '-');
_level0.meio.conteudo.chamada.htmlText=searchAndReplace(_level0.meio.conteudo.chamada.text, '’', '’');
_level0.meio.conteudo.chamada.htmlText = " <font size='12' face='Arial Rounded MT Bold' color='#"+muda_cor(nume)+"'><b>"+arTitulo[nume]+"</b></font><br>"+_level0.meio.conteudo.chamada.text+"</font>";//cor do texto
_level0.meio.conteudo.tit.colorTo(muda_cor(nume),0);
//icone
_level0.meio.conteudo.icos.gotoAndStop(arArea[nume]);
//link
_level0.meio.onPress=function () {
getURL(arLink[nume],"_parent");}//fim onpress
}//fim function
function searchAndReplace(holder, searchfor, replacement) {
temparray = holder.split(searchfor);
holder = temparray.join(replacement);
return (holder);
}
//////////////////////////CORES/////////////////////////
function muda_cor (nume) {
switch (arArea[nume]) {
case "musica" :
cor="2E6432";
break;
case "artes" :
cor="EE1D83";
break;
case "cinema" :
cor="A2024A";
break;
case "danca" :
cor="812991";
break;
case "teatro" :
cor="03A99F";
break;
case "patrimonio" :
cor="AC6900";
break;
case "literatura" :
cor="0083C3";
break;}//fim switch
return cor;
}//fim function
No ".fla" tenho o:
Scene 1-
Code : Quadro 1 "Onde tenho o Codigo"
Nav-
Proximo(Botão) "
on (press){nextFrame();}
"
Anterior(Botão)"
on (press){prevFrame();}
"
Proximo(Botão)-
Layer 2 :Quadro 1 "
on (press){nextFrame();}
"
Layer 2 :Quadro 8 "
on (press){nextFrame();}
"
Anterior(Botão)-
Layer 2 :Quadro 1 "
on (press){prevFrame();}
"
Layer 2 :Quadro 8 "
on (press){prevFrame();}
"
icos-
Layer 10 : Quadro 1 "
stop();
" "Não sei o que isso fais exatamente".
Discussão (2)
Carregando comentários...