Podéis visualizarla en esta web:
http://www.rinconaudiovisual.com
Dentro del apartado PORTAFOLIO
Mi pregunta es la siguiente; cuando la imagen llega a su fin, el botón sigue funcionando de la misma manera, por lo que el usuario se queda pulsándolo esperando a que aparezca una nueva imagen.
Por lo tanto, tengo dos opciones; o bien hago que cuando cargue la última imagen el botón se bloquee, o bien que vuelva a empezar por la primera imagen. Me gusta más esta última opción. Asi que, ¿cómo podría hacer que al hacer click en el botón de siguiente, se vuelva a cargar todo desde el principio?
Este es el código que he usado:
Para el AS2:
Código ActionScript :
//Permite caracteres tradicionales como letras con tilde la ñ, etc.
System.useCodepage = true;
//Se declara la variable indice de tipo número (utilizada para referencia la foto a mostrar)
var indice:Number;
//Se declara la variable dibujo_xml de tipo XML (utilizada para almacenar el documento xml)
var texto_xml:XML;
/*
Funcion cargarDatos (utilizada para cargar y cambiar las fotos en el documento)
Esta función recibe un parámetro "_indice" que corresponde al elemento foto a mostrar
*/
function cargarDatos(_indice:Number){
//Se inicializan variables utilizadas para almenar los datos de una foto
var titulo:String;
var mensaje:String;
var imagen:String;
//Recuperando datos del objeto xml
//Se accede al primer hijo de elemento [foto] y se recupera al valor del primer elemento de [titulo]
titulo = texto_xml.firstChild.childNodes[_indice].firstChild.firstChild.nodeValue;
//Se accede al segundo hijo de elemento [foto] y se recupera el valor del primer elemento de [mensaje]
mensaje = texto_xml.firstChild.childNodes[_indice].firstChild.nextSibling.firstChild.nodeValue
//Se accede al último hijo de elemento [foto] y se recupera el valor del primer elemento de [imagen]
imagen = texto_xml.firstChild.childNodes[_indice].lastChild.firstChild.nodeValue
//Mostrando los datos recuperados en el cuado de texto mensaje_txt y cargando la imagen en pantalla_mc
_root.titulo_txt.htmlText = "";
_root.mensaje_txt.htmlText = "";
_root.titulo_txt.htmlText += "<p><font color='#666666' size='14'><pre><b><i>" + titulo + "</i></b></pre></font></p>";
_root.mensaje_txt.htmlText += "<p><font size='14'>" + mensaje + "</font>";
//Cargado la imagen JPG externa en el clip pantalla_mc con el valor recuperado del objeto xml
_root.contenedor2_mc.loadMovie(imagen);
}
//Función que permite avanzar a la [foto] siguiente almacenada en el objeto xml
siguiente_btn.onPress = function(){
//comprobando si existe el siguiente elemento [foto]
if(texto_xml.firstChild.childNodes[indice+1] != null){//retringue a avanzar solo si hay una [foto] siguiente
indice++; //incrementado en uno el indice
cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
}
}
//Función que permite retroceder a la foto anterior almacenada en el objeto xml
anterior_btn.onPress = function(){
//comprobando si existe una elemento [foto] anterior
if(texto_xml.firstChild.childNodes[indice-1] != null){//retringue a avanzar solo si hay una [foto] anterior
indice--; //reducciendo en uno el indice
cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
}
}
//Inicializaciones
indice=0; //inicializando indice en 0 para mostrar la primera foto
//creando el objeto fotos_xml de typo XML
texto_xml = new XML();
//Permite que el objeto XML ignore los espacios en blanco entre marca y marca del documento XML
texto_xml.ignoreWhite = true;
//El método load() permite cargar el documento xml "dibujo_xml"
texto_xml.load("paisajes.xml");
//El evento onLoad de activa cuado se haya cargado el documento fotos.xml
texto_xml.onLoad = function(){
//Se llama a la funcion cragarDatos para mostar la primera foto (esto por la variable indice en 0)
cargarDatos(indice);
}Para el XML:
Código XML :
<?xml version="1.0" encoding="iso-8859-1"?> <foto> <foto fecha="14/04/2011"> <titulo>"Loneliness"</titulo> <mensaje>Puerto de Catarroja</mensaje> <image>imagenes/paisaje001.jpg</image> </foto> <foto fecha="14/04/2011"> <titulo>"Ciudad de las Artes y las Ciencias"</titulo> <mensaje>Valencia</mensaje> <image>imagenes/paisaje002.jpg</image> </foto> </foto>
Espero no haber sido demasiado lioso con mi explicación.
Muchisimas gracias a todos por vuestro tiempo.
Saludos!
