Comunidad de diseño web y desarrollo en internet online

Botones nextframe, prevframe en 1 solo botón

Citar            
MensajeEscrito el 20 May 2013 11:55 am
Hola a todos, hace tiempo que estoy con unos problemas que no consigo solucionar y me estoy volviendo loca:

Estoy realizando un portafolio interactivo con flash C5.5 y AS3.
Tengo 3 botones: Curriculum, Trabajos y Contacto. Cada botón va a una ruta relativa (del escritorio) en la que al darle click aparece la imagen correspondiente.

Estos son los problemas:
Los botones curriculum y contacto "funcionan" pero aparece la imagen de los botones anterior, siguiente, primero y último.
Al darle click al botón trabajos aparece la primera imagen pero no "funcionan" los botones para que se vea el resto de trabajos o darle hacia atrás..


o-o-o-o-o-o-o

Estos son los códigos que he puesto en 1 solo frame a la altura de las demás capas:

Código ActionScript :

var cargador:Loader = new Loader();

cargador.x = 60,15;
cargador.y = 224,10;
addChild(cargador);

function cargarFoto(evento:MouseEvent)
{
    switch(evento.target.name) {

    case "Btn01":
        rutaFoto.url = "trabajos/Curriculum.jpg";
        cargador.load(rutaFoto);
        break;
    case "Btn02":
        rutaFoto.url = "trabajos/img0" + numFoto + ".jpg";
        cargador.load(rutaFoto);
        texto_txt.text = " " + numFoto + " de " + fotosTotales;
        break;

    case "Btn03":
        rutaFoto.url = "trabajos/Contacto.jpg";
        cargador.load(rutaFoto);
        break;
    }
}

Btn01.addEventListener(MouseEvent.CLICK, cargarFoto);
Btn02.addEventListener(MouseEvent.CLICK, cargarFoto);
Btn03.addEventListener(MouseEvent.CLICK, cargarFoto);

//botones anterior y siguiente
var numFoto:uint = 1;
var fotosTotales:uint = 99;
var rutaFoto:URLRequest = new URLRequest();
cargarFoto();

function gestionarNumFoto(evento:MouseEvent)
{

   switch(evento.target.name) {
     case "primero_btn":
        if (numFoto != 1) {
          numFoto = 1;
          cargarFoto()
        }
        break;

    case "anterior_btn":
        if(numFoto != 1) {
           numFoto--;
           cargarFoto()
        }
        break;
    case "siguiente_btn":
        if(numFoto != fotosTotales) {
            numFoto++;
            cargarFoto()
        }   
        break;

    case "ultimo_btn":
        if(numFoto != fotosTotales) {
            numFoto = fotosTotales;
            cargarFoto()
        }
        break;
   }
}


primero_btn.addEventListener(MouseEvent.CLICK, gestionarNumFoto);
anterior_btn.addEventListener(MouseEvent.CLICK, gestionarNumFoto);
siguiente_btn.addEventListener(MouseEvent.CLICK, gestionarNumFoto);
ultimo_btn.addEventListener(MouseEvent.CLICK, gestionarNumFoto);

stop();


Si hubiera alguien que me pudiera ayudar le estaría muy agradecida.

Por Andriu82

11 de clabLevel



Genero:Femenino  

chrome
Citar            
MensajeEscrito el 21 May 2013 11:29 am
cargarfoto tiene un switch que espera solo una llamada de Btn01, Btn02 o Btn03, tienes que hacer una funci'on distinta que simplemente cargue una foto seg'un el valor de numFoto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 12 Jun 2013 02:53 pm
Gracias Jorge! , bueno lo he probado y ya está solucionado pero tengo otro problema:
en la sección "Trabajos" no sé cómo hacer para que en la primera imagen "trabajos.jpg" no se vean los botones de "primero" y "anterior" , y en la última imagen "img099.jpg" que no se vean los botones de "último" y "siguiente".
Este es el código:

Código ActionScript :

stop();
import com.greensock.TweenMax;

var enlaceFoto:URLRequest = new URLRequest();

function showHide(n:Number, t:Number)
{
TweenMax.to(anterior_btn, t, {autoAlpha:n});
TweenMax.to(siguiente_btn, t, {autoAlpha:n});
TweenMax.to(ultimo_btn, t, {autoAlpha:n});
TweenMax.to(primero_btn, t, {autoAlpha:n});
}

showHide(0, 0);


function subirFoto(evento:MouseEvent)
{
switch (evento.target.name)
{
case "Btn01" :
showHide(0, 1);
enlaceFoto.url = "trabajos/Curriculum.jpg";
cargador.load(enlaceFoto);
texto_txt.text = "";
break;


case "Btn02" :
showHide(1, 1);
enlaceFoto.url = "trabajos/trabajos.jpg";
cargador.load(enlaceFoto);
texto_txt.text = "";

break;

case "Btn03" :
showHide(0, 1);
enlaceFoto.url = "trabajos/Contacto.jpg";
cargador.load(enlaceFoto);
texto_txt.text = "";

break;
}
}


Btn01.addEventListener(MouseEvent.CLICK, subirFoto);
Btn02.addEventListener(MouseEvent.CLICK, subirFoto);
Btn03.addEventListener(MouseEvent.CLICK, subirFoto);


var numFoto:uint = 0;

var fotosTotales:uint = 99;

var rutaFoto:URLRequest = new URLRequest();

var cargador:Loader = new Loader();
cargador.x = 60,15;
cargador.y = 224,10;
addChild(cargador);

function gestionarNumFoto(evento:MouseEvent)
{
switch (evento.target.name)
{

case "primero_btn" :
if (numFoto != 0)
{
numFoto = 1;
cargarFoto();
texto_txt.text = " " + numFoto + " de " + fotosTotales;
}
break;

case "anterior_btn" :
if (numFoto != 1)
{
numFoto--;
cargarFoto();
texto_txt.text = " " + numFoto + " de " + fotosTotales;
}
break;

case "siguiente_btn" :
if (numFoto != fotosTotales)
{
numFoto++;
cargarFoto();
texto_txt.text = " " + numFoto + " de " + fotosTotales;
}
break;

case "ultimo_btn" :
if (numFoto != fotosTotales)
{
numFoto = fotosTotales;
cargarFoto();
texto_txt.text = " " + numFoto + " de " + fotosTotales;

}
break;

}
}

function cargarFoto()
{
rutaFoto.url = "trabajos/img0" + numFoto + ".jpg";
cargador.load(rutaFoto);

}



primero_btn.addEventListener(MouseEvent.CLICK, gestionarNumFoto);
anterior_btn.addEventListener(MouseEvent.CLICK, gestionarNumFoto);
siguiente_btn.addEventListener(MouseEvent.CLICK, gestionarNumFoto);
ultimo_btn.addEventListener(MouseEvent.CLICK, gestionarNumFoto);

Por Andriu82

11 de clabLevel



Genero:Femenino  

chrome
Citar            
MensajeEscrito el 12 Jun 2013 03:08 pm
En el lugar adecuado (por ejemplo al terminar de cargar la foto o en gestionarNumFoto) seteas la visibilidad de los botones, por ejemplo

siguiente_btn.visible = (numFoto != fotosTotales)

Asi con cada uno de los botones

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 12 Jun 2013 05:04 pm
Gracias Jorge por tu aportación, lo he puesto cada uno adaptado a cada botón dentro de las condicional "if", pero me sigue dando ese "error", la cuestión esque tiene que ser en en la primera imagen y el la última donde no se vean esos botones y no sé cómo organizarlo..
He pensado en hacer esto, por ejemplo : siguiente_btn.visible = ("trabajos.jpg"), pero en vez de "visible" que sea "invisible", pero no cambia de color, no es factible, ¿no hay otro término para que de esa manera no se pueda ver?

Por Andriu82

11 de clabLevel



Genero:Femenino  

chrome
Citar            
MensajeEscrito el 12 Jun 2013 05:21 pm
Ok, no entendiste el principio

La propiedad visible puede ser solo true o false (booleano)
Quiero que si estoy en la ultima foto, el boton siguiente y ultimo no se vea.
Entonces al final de la funcion gestionarNumFoto pongo

siguiente_btn.visible = ultimo_btn.visible = (numFoto != fotosTotales)

Esto quiere decir, si la foto en que estoy es distinta de la utima, entonces visible = true, sino false. Para el boton primero y anterior haria

anterior_btn.visible = primero_btn.visible = (numFoto !=1)

Suponiendo que la primera foto sea la 1, esto quiere decir que lo muestre si la foto actual no es la 1

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 12 Jun 2013 08:57 pm
De acuerdo, ¡gracias por tu ayuda, Jorge! ^^

Por Andriu82

11 de clabLevel



Genero:Femenino  

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.