Ir para conteúdo

POWERED BY:

Arquivado

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

Aconrado

[Resolvido] Galeria de Banner em Actionscript + XML

Recommended Posts

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".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, já foi resolvido o botão proximo com esse codigo

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);
}

Mas agora esta difissiul de fazer o botão Voltar funcionar.

 

Alguem poderia me dar um dica com esse codigo fazer Voltar em vez de ir para Proxima ?

 

Agradeço Aconrado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido.

 

Att, Arthur

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.