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!