ActionScript - Problemas con as2

 
Vista:

Problemas con as2

Publicado por Victoria Rodríguez (1 intervención) el 04/02/2010 06:34:48
Hola. En primer lugar quiero decir que soy novata en esto de programar. Pero estoy desarrollando una galeria fotográfica sencilla en flash, (con imágenes, botón adelante y atrás, un contador numérico y una serie de imagenes pequeñas que converti en botones para que me lleven a fotografías determinadas dentro de la galeria). Tengo dos problemas, los botones adelante y atrás funcionan perfectamente pero los dos continuan despues de que acaba la galeria. Mi primera inquietud es como puedo ponerles un tope para que no se pasen.
Mi segundo problema es que las imagenes pequeñas llevan a las fotografías que quiero, pero cuando se activan la galeria vuelve a empezar en vez de continuar su ciclo normal.
Por ejemplo quiero que el botón office_btn me lleve a la fotografía 41, y lo hace pero en vez de seguir a la 42, 43, 44, etc, o retroceder a la 40, regresa a la 1.
Pongo aqui parte del codigo para que por favor alguien me indique que me falta. Gracias.

numero_txt.text=nimangen;
cargar_mc.loadMovie(fotos[nimagen])

enter_btn.onRelease=function(){
nimagen=Number(numero_txt.text)
cargar_mc.loadMovie(fotos[nimagen])
}
atras_btn.onRelease=function(){
nimagen--
numero_txt.text=nimagen
cargar_mc.loadMovie(fotos[nimagen])
}
adelante_btn.onRelease=function(){
nimagen++
numero_txt.text=nimagen
cargar_mc.loadMovie(fotos[nimagen])
}
call_btn.onRelease=function(){
numero_txt.text=2
cargar_mc.loadMovie(fotos[2])
}
office_btn.onRelease=function(){
numero_txt.text=41
cargar_mc.loadMovie(fotos[41])
}
learn_btn.onRelease=function(){
numero_txt.text=81
cargar_mc.loadMovie(fotos[81])
}
insect_btn.onRelease=function(){
numero_txt.text=121
cargar_mc.loadMovie(fotos[121])
}
strategy_btn.onRelease=function(){
numero_txt.text=161
cargar_mc.loadMovie(fotos[161])
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Limitar los botones de adelante y atrás en una galería fotográfica

Publicado por Alejandro (369 intervenciones) el 27/06/2023 00:51:07
Hola, Victoria, entiendo que estás desarrollando una galería fotográfica en Flash y que tienes dos problemas: los botones de adelante y atrás no tienen un límite para evitar que se pasen del rango de imágenes y los botones de las imágenes pequeñas no continúan el ciclo normal de la galería después de mostrar una imagen específica.

Para resolver el primer problema, debes agregar comprobaciones en los botones de adelante y atrás para verificar si el número de imagen está dentro del rango permitido. Aquí tienes un ejemplo de cómo puedes hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
atras_btn.onRelease = function() {
  if (nimagen > 1) {
    nimagen--;
  } else {
    nimagen = 1; // Establece el valor mínimo permitido
  }
  numero_txt.text = nimagen;
  cargar_mc.loadMovie(fotos[nimagen]);
};
 
adelante_btn.onRelease = function() {
  if (nimagen < fotos.length - 1) {
    nimagen++;
  } else {
    nimagen = fotos.length - 1; // Establece el valor máximo permitido
  }
  numero_txt.text = nimagen;
  cargar_mc.loadMovie(fotos[nimagen]);
};

En el código anterior, se verifica si el número de imagen (`nimagen`) está dentro del rango permitido antes de incrementarlo o decrementarlo. Si está en el límite, se establece el valor mínimo o máximo permitido.

Para resolver el segundo problema, donde los botones de las imágenes pequeñas no continúan el ciclo normal de la galería después de mostrar una imagen específica, puedes utilizar una variable adicional para controlar si se ha seleccionado una imagen específica. Aquí tienes un ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var seleccionado:Boolean = false;
 
office_btn.onRelease = function() {
  nimagen = 41;
  numero_txt.text = nimagen;
  cargar_mc.loadMovie(fotos[nimagen]);
  seleccionado = true;
};
 
atras_btn.onRelease = function() {
  if (seleccionado) {
    seleccionado = false; // Reinicia la selección
  } else {
    nimagen--;
    numero_txt.text = nimagen;
    cargar_mc.loadMovie(fotos[nimagen]);
  }
};
 
adelante_btn.onRelease = function() {
  if (seleccionado) {
    seleccionado = false; // Reinicia la selección
  } else {
    nimagen++;
    numero_txt.text = nimagen;
    cargar_mc.loadMovie(fotos[nimagen]);
  }
};

En el código anterior, se agrega una variable `seleccionado` que se establece como `true` cuando se hace clic en uno de los botones de las imágenes pequeñas. Esto evita que los botones de adelante y atrás continúen el ciclo normal de la galería y en su lugar se reinicia la selección.

Espero que estas soluciones te ayuden a resolver tus problemas en la galería fotográfica. ¡Buena suerte con tu proyecto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar