Ir para conteúdo

POWERED BY:

Arquivado

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

Fernando Tragueta

Como colocar link em imagens geradas por XML

Recommended Posts

Olá galera, peguei uma galeria pronta na net pois meus conhecimento em ActionScript e XML são muito basicos tanto é que acredito que essa minha duvida não seja algo muito complicado de ser resolvido.

 

Em meu arquivo flash eu tenho o seguinte codigo AS:

 

//------------------------------------------< Import >------------------------------------------\\

//#include "mc_tween2.as"

import mx.transitions.Tween;

import mx.transitions.easing.*;

//------------------------------------------< /Import >------------------------------------------\\

 

//------------------------------------------< VARS / Settings >------------------------------------------\\

var curIndex = 0;

var numOfItems = 0;

var imageWidth = 0;

var imageHeight = 0;

var imageFadeSpeed = .5;

var slideShowOn = false;

var textMargin = 50;

var bdrWidth = 15;

var btnMargin = 40;

info_box._alpha = 70;

bdr._visible = true;

photoTitle_txt._visible = true;

photoCount_txt._visible = true;

info_box._visible = true;

prev_btn._visible = true;

next_btn._visible = true;

//------------------------------------------< /VARS / Settings >------------------------------------------\\

 

//------------------------------------------< LOADER >------------------------------------------\\

var my_mcl:MovieClipLoader = new MovieClipLoader();

var mclListener:Object = new Object();

 

mclListener.onLoadProgress = function(target_mc:MovieClip,numBytesLoaded:Number,numBytesTotal:Number):Void {

var pctLoaded:Number = Math.ceil(100*(numBytesLoaded/numBytesTotal));

 

attachMovie("loadingText","loadingText",99);

 

loadingText._x = Stage.width / 2;

loadingText._y = Stage.height / 2;

loadingText.txt.text = pctLoaded + "%";

};

 

mclListener.onLoadInit = function(mc:MovieClip):Void {

imageWidth = mc._width;

imageHeight = mc._height;

loadingText._visible = false;

alignImage();

}

 

mclListener.onLoadComplete = function(mc:MovieClip):Void {

if(slideShowOn == true){

holder();

}

}

 

my_mcl.addListener(mclListener);

my_mcl.loadClip(imageVariable, MovieClipToLoadImageInto);

//------------------------------------------< /LOADER >------------------------------------------\\

 

 

//----------------------------------<XML>----------------------------------\\

var myXML:XML = new XML();

myXML.ignoreWhite = true;

 

var names:Array = new Array();

 

myXML.onLoad = function(){

var linkname:Array = this.firstChild.childNodes;

for(i=0;i<linkname.length;i++){

names.push(linkname.attributes.url);

 

}

numOfItems = names.length - 1;

photoCount_txt.text = (curIndex+1)+" of "+(numOfItems+1);

loadImages()

}

 

myXML.load("photos/data.xml");

//----------------------------------</XML>----------------------------------\\

 

//------------------------------------------< LOAD IMAGES >------------------------------------------\\

function loadImages(){

my_mcl.loadClip("photos/"+names[curIndex],imageMC.imageTarget);

photoCount_txt.text = (curIndex+1)+" of "+(numOfItems+1);

photoTitle_txt.text = "";

 

for(i=0;i<names[curIndex].length;i++){

var subVar = names[curIndex].substr(i,1);

if(subVar != "."){

photoTitle_txt.text = photoTitle_txt.text + subVar

} else {

i = names[curIndex].length;

}

}

}

//------------------------------------------< /LOAD IMAGES >------------------------------------------\\

 

//------------------------------------------< NEXT AND PREV BUTTONS >------------------------------------------\\

next_btn.onRelease = nextFunc;

prev_btn.onRelease = prevFunc;

 

function nextFunc(){

if(curIndex >= numOfItems){

curIndex = 0;

} else {

curIndex++;

}

imageOut();

}

 

function prevFunc(){

if(curIndex <= 0){

curIndex = numOfItems;

} else {

curIndex--;

}

imageOut();

}

 

prevFunc

//------------------------------------------< /NEXT AND PREV BUTTONS >------------------------------------------\\

 

//------------------------------------------< TRANSITIONS >------------------------------------------\\

function imageOut(){

var tw:Tween = new Tween(imageMC,"_alpha",Strong.easeOut,100,0,imageFadeSpeed,true);

var tw2:Tween = new Tween(bdr,"_alpha",Strong.easeOut,100,0,imageFadeSpeed,true);

 

var hold = setInterval(holdGo, imageFadeSpeed * 1000);

function holdGo(){

clearInterval(hold);

loadImages();

}

}

 

function imageIn(){

imageMC.alphaTo(100,imageFadeSpeed,"linear",0);

bdr.alphaTo(100,imageFadeSpeed,"linear",0);

 

var tw3:Tween = new Tween(imageMC,"_alpha",Strong.easeIn,0,100,imageFadeSpeed,true);

var tw4:Tween = new Tween(bdr,"_alpha",Strong.easeIn,0,100,imageFadeSpeed,true);

}

//------------------------------------------< TRANSITIONS >------------------------------------------\\

 

 

//------------------------------------------< ALIGN IMAGE >------------------------------------------\\

function alignImage(){

 

imageMC.imageTarget._x = (Stage.width / 2) - (imageWidth / 2);

imageMC.imageTarget._y = (Stage.height / 2) - (imageHeight / 2)-(info_box._height/2);

 

bdr._width = imageWidth + bdrWidth;

bdr._height = imageHeight + bdrWidth;

bdr._x = imageMC.imageTarget._x - bdrWidth/2;

bdr._y = imageMC.imageTarget._y - bdrWidth/2;

 

imageIn();

 

prev_btn._x = 40;

prev_btn._y = Stage.height / 1.6;

next_btn._x = Stage.width - btnMargin;

next_btn._y = Stage.height / 1.6;

 

info_box._width = Stage.width;

info_box._x = 0;

info_box._y = Stage.height - info_box._height;

 

photoTitle_txt._y = Stage.height - photoTitle_txt._height - info_box._height/2+photoTitle_txt._height/2;

photoCount_txt._y = Stage.height - photoCount_txt._height - info_box._height/2+photoCount_txt._height/2;

photoTitle_txt._width = Stage.width;

 

photoCount_txt._width = Stage.width;

photoTitle_txt._x = 0+textMargin;

photoCount_txt._x = 0-textMargin;

 

}

//------------------------------------------< /ALIGN IMAGE >------------------------------------------\\

 

 

 

Pelo intendido isso vai fazer com que ele carregue as imagens contidas no arquivo data que esta dentro de uma pasta chamada photos.

 

Nesse arquivo contem o seguinte codigo XML:

 

<?xml version="1.0" encoding="UTF-8"?>

 

<gallery>

<image url="Flower Photo 1.jpg" />

<image url="Flower Photo 2.jpg" />

<image url="Flower Photo 3.jpg" />

<image url="Flower Photo 4.jpg" />

<image url="Flower Photo 5.jpg" />

<image url="Flower Photo 6.jpg" />

<image url="Flower Photo 7.jpg" />

<image url="Flower Photo 8.jpg" />

<image url="Flower Photo 9.jpg" />

<image url="Flower Photo 10.jpg" />

<image url="Flower Photo 11.jpg" />

</gallery>

 

Vamos agora a minha duvida:

 

Estou usando essa galeria para fazer o portfolio de um site (site de web design), onde cada foto exibida será a capa de um site, e para que os usuarios possam visitar esse site essas fotos deveriam conter um link que ao clicadas, abririam uma outra pagina com o site escolhido pelo usuario.

 

Como eu conseguiria colocar um link para cada imagem para ao clicadas redirecionem para outro site???

 

Obrigado pela atenção,

Compartilhar este post


Link para o post
Compartilhar em outros sites

A dúvida em si não é tão complexa, mas como disse que seus conhecimentos são básicos, nesse caso se torna complicado tentar explicar visto que está utilizando uma galeria pronta... Primeiro seria acrescentar no seu XML o link referente a imagem, por exemplo:

<image url="Flower Photo 1.jpg" link="http://www.dominio.com.br" />
Depois no Flash, efetuar a leitura deste novo atributo e inserir este conteudo dentro de uma cx de texto dinâmica por exemplo, mas se realmente há interesse em aprender e não apenas utilizar um cód pronto, sugiro pesquisar por integração Flash+XML para entender como a coisa funciona, depois aplique o aprendizado no seu script...

 

Att.

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.