Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2009, 07:55
keibolblack
 
Fecha de Ingreso: noviembre-2006
Mensajes: 15
Antigüedad: 17 años, 5 meses
Puntos: 0
Botones siguiente y anterior en Galería con Xml

Hola, a ver si me podeis ayudar ya que soy un poco novato con el action script.
Estoy haciendo una galería en flash que carga fotos de un xml a un mc que tengo en dos capas del escenario. El código es este:

Código actionscript:
Ver original
  1. //CREAMOS MOVIECLIPS CONTENEDORES DE IMAGENES/////////////////
  2. _root.createEmptyMovieClip("imagen1_mc",1);
  3. _root.createEmptyMovieClip("imagen2_mc",2);
  4. //////////////////////////////////////////////////////////////
  5. //ANALIZAMOS NODOS XML////////////////////////////////////////
  6. function analiza_xml() {
  7. direcciones = new Array();
  8. vinculos = new Array();
  9. duraciones = new Array();
  10. primer_nodo = imagenes_xml.childNodes;
  11. nodo_galeria = primer_nodo[0].childNodes;
  12. for (var j = 0; j<nodo_galeria.length; j++) {
  13. direcciones[j] = nodo_galeria[j].attributes.direccion;
  14. vinculos[j] = nodo_galeria[j].attributes.vinculo;
  15. duraciones[j] = nodo_galeria[j].attributes.duracion;
  16. }
  17. }
  18. ///////////////////////////////////////////////////////////////
  19. //FUNCION PRINCIPAL////////////////////////////////////////////
  20. function muestra_imagen(cual) {
  21. var mclListener:Object = new Object();
  22. mclListener.onLoadInit = function(objetivo_mc:MovieClip) {
  23. if (objetivo_mc == imagen1_mc) {
  24. objetivo_mc.swapDepths(imagen2_mc);
  25. alphaTween = new mx.transitions.Tween(_root.imagen2_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 2, true);
  26. alphaTween2 = new mx.transitions.Tween(_root.imagen1_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
  27. } else {
  28. objetivo_mc.swapDepths(imagen1_mc);
  29. alphaTween = new mx.transitions.Tween(_root.imagen1_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 100, 0, 2, true);
  30. alphaTween2 = new mx.transitions.Tween(_root.imagen2_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
  31. }
  32. if (vinculos[cual] != undefined) {
  33. objetivo_mc.onRelease = function() {
  34. getURL(vinculos[cual]);
  35. };
  36. } else {
  37. objetivo_mc.onRollOver = function() {
  38. objetivo_mc.useHandCursor = false;
  39. };
  40. }
  41. mi_duracion = duraciones[cual];
  42. objetivo_mc.onEnterFrame = function() {
  43. var mi_fecha:Date = new Date();
  44. milisegundos = mi_fecha.getTime();
  45. if (hito == undefined) {
  46. hito = milisegundos;
  47. }
  48. milisegundos_pasados = milisegundos-hito;
  49. if ((milisegundos_pasados>1000*mi_duracion) or( _root.avance_inmediato==1)) {
  50. _root.avance_inmediato=0;
  51. hito = milisegundos;
  52. siguiente_imagen();
  53. }
  54. };
  55. };
  56. var imagen_mcl:MovieClipLoader = new MovieClipLoader();
  57. imagen_mcl.addListener(mclListener);
  58. if (imagen1_mc.getDepth()<imagen2_mc.getDepth()) {
  59. imagen_mcl.loadClip(direcciones[cual],imagen1_mc);
  60. } else {
  61. imagen_mcl.loadClip(direcciones[cual],imagen2_mc);
  62. }
  63. }
  64. //////////////////////////////////////////////////////////////
  65. //SECUENCIA IMAGENES///////////////////////////////////////////
  66. function siguiente_imagen() {
  67. if (cual == undefined) {
  68. cual = 0;
  69. } else {
  70. cual++;
  71. }
  72. if (cual == nodo_galeria.length) {
  73. cual = 0;
  74. }
  75. muestra_imagen(cual);
  76. }
  77. //////////////////////////////////////////////////////////////
  78. //LEE XML//////////////////////////////////////////////////////
  79. var imagenes_xml:XML = new XML();
  80. imagenes_xml.ignoreWhite = true;
  81. imagenes_xml.onLoad = function(success) {
  82. analiza_xml();
  83. siguiente_imagen();
  84. };
  85. function lee_xml(que) {
  86. imagenes_xml.load(que);
  87. }
  88. lee_xml("pasefotos.xml");
  89. stop();
Luego tengo dos botones en otra capa con este otro código:

Código actionscript:
Ver original
  1. on (press) {
  2.     _root.avance_inmediato = 1;
  3.     _root.cual = 0;
  4.     _root.carga_imagen(cual);
  5. }

Con esto consigo ir a una foto determinada, pero ¿como podría decirle que vaya a la foto siguiente o anterior, simplemente?

Espero que me podais ayudar.
Saludos

Última edición por keibolblack; 21/07/2009 a las 11:24