Foros del Web » Creando para Internet » Flash y Actionscript »

Problema con carrucel de imagenes en flash

Estas en el tema de Problema con carrucel de imagenes en flash en el foro de Flash y Actionscript en Foros del Web. E conseguido montar un efecto de carrusel de imagenes que e conseguido de un tutorial que funciona en base a un achivo xml, no consigo ...
  #1 (permalink)  
Antiguo 28/10/2009, 09:27
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 10 meses
Puntos: 6
Exclamación Problema con carrucel de imagenes en flash

E conseguido montar un efecto de carrusel de imagenes que e conseguido de un tutorial que funciona en base a un achivo xml, no consigo encontrar el problema ya que en localhost me funciona perfectamente, pero cuando subo los archivos a mi servidor me muestra el banner y hace todo lo estatico pero no se ecuta el carrusel de imagenes y e puesto los archivos en la misma ruta que en mi localhost, pongo a disposicion de ustedes el actionscript y el xml, de igual forma espero les sirva para algo, claro ya solucionado el problema en el servidor.
En la parte de abajo hay unas lineas comentadas donde configuro las rutas de los archivos, que e probado de varias formas y aun no consigo que funcione.
Código ActionScript:
Ver original
  1. System.useCodepage = true;
  2. XML.prototype.ignoreWhite = true;
  3. import flash.display.BitmapData;
  4. import flash.geom.Rectangle;
  5. import flash.geom.Matrix;
  6. // ancho carrusel en px
  7. var ancho_carrusel:Number = 500;
  8. // ancho de miniatura en su punto máx (en el centro del carrusel) en px
  9. var ancho_miniatura:Number = 100;
  10. // velocidad en escala inversa, cuanto menor sea su valor más rápido gira
  11. var v_giro:Number=50;
  12. var reflejar:Boolean = false;
  13. // color de fondo para que el reflejo quede bien
  14. var color_fondo:Number = 0xF4F4F4;
  15. // array donde metemos los elementos del XML
  16. var x0:Number = 665;
  17. var y0:Number = 85;
  18. //aqui se configura todo aqui pongo las rutas de mis archivos como la carpeta con las miniaturas, pero no funciona, en localhost si pero en el servidor no, y estan en las mismas rutas no consigo entender que esta mal
  19. var url_fotos:String = "./tema/rulet/f.xml";
  20. var dir_minis:String = "./tema/rulet/miniaturas/";
  21. // ------------------------------------------------------------------------------
  22. // ----- fin ajustes personalizables --------------------------------------------
  23. // ------------------------------------------------------------------------------
  24. // objeto XML que carga la lista de miniaturas
  25. // Hasta aquí hemos definido una serie de ajustes iniciales.
  26. var IMG_array:Array;
  27. var incre:Number = 0;
  28. var num_fotos:Number;
  29. var num_fotos_cargadas:Number;
  30. var radio:Number = (ancho_carrusel-ancho_miniatura-10)*0.5;
  31. var miniaturasXML:XML = new XML();
  32. miniaturasXML.onLoad = cargarMiniaturas;
  33. miniaturasXML.load(url_fotos);
  34. // funcion que se ejecuta al cargar el XML
  35. function cargarMiniaturas():Void {
  36.     IMG_array = this.firstChild.childNodes;
  37.     num_fotos = 6;
  38.     //num_fotos = IMG_array.length;
  39.     var contenedor:MovieClip = _root.createEmptyMovieClip("contenedor_mc", _root.getNextHighestDepth());
  40.     contenedor._y = y0;
  41.     contenedor._visible = false;
  42.     var carrusel:MovieClip = contenedor.createEmptyMovieClip("carrusel_miniaturas_mc", contenedor.getNextHighestDepth());
  43.     // lo posiciono donde nos conviene
  44.     carrusel._x = x0;
  45.     //carrusel._y = y0;
  46.     num_fotos_cargadas = 0;
  47.     for (var k:Number = 0; k<num_fotos; k++) {
  48.         crearMiniatura(IMG_array[k].attributes.nombre,k);
  49.     }
  50.  
  51. }
  52. function crearMiniatura(ruta:String, orden:Number):Void {
  53.     trace("ruta = "+ruta);
  54.     // clip contendrá la imagen
  55.     var clip:MovieClip = contenedor_mc.carrusel_miniaturas_mc.createEmptyMovieClip("foto_"+orden, contenedor_mc.carrusel_miniaturas_mc.getNextHighestDepth());
  56.     clip.forceSmoothing = true;
  57.     var dentro:MovieClip = clip.createEmptyMovieClip("foto", clip.getNextHighestDepth());
  58.     dentro.forceSmoothing = true;
  59.     clip.orden = orden;
  60.     // para cargar la miniatura definimos un objeto MovieClipLoader
  61.     // y un objeto detector de eventos
  62.     var mi_mcl:MovieClipLoader = new MovieClipLoader();
  63.     var miListener:Object = new Object();
  64.     mi_mcl.addListener(miListener);
  65.     // cargamos la imagen
  66.     mi_mcl.loadClip(dir_minis+ruta,dentro);
  67.     //mi_mcl.loadClip("http://www.tutoriales-flash.com//miniaturas/"+ruta,dentro);
  68.     miListener.onLoadStart = function(target_mc:MovieClip) {
  69.         // cuando comienza la carga de la imagen
  70.         // ponemos al _alpha a 0
  71.         target_mc._alpha = 0;
  72.     };
  73.     miListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
  74.         // aquí podéis poner acciones para mostrar una precarga,
  75.         // este caso no lo hemos considerado oportuno
  76.     };
  77.     // cuando ya se ha completado la carga y tenemos disponible el clip
  78.     miListener.onLoadInit = function(target_mc:MovieClip) {
  79.         //target_mc.smoothBitmap();
  80.         var coef:Number = target_mc._width/ancho_miniatura;
  81.         target_mc._height = int(target_mc._height/coef);
  82.         target_mc._width = ancho_miniatura;
  83.         target_mc._alpha = 100;
  84.         target_mc._x = -(int(target_mc._width*0.5));
  85.         target_mc._y = 0;
  86.         target_mc.onRelease = function() {
  87.             // acciones al hacer clic en la foto
  88.             if (ruta.indexOf(".gif") != -1) {
  89.                 var temp_array:Array = ruta.split(".gif");
  90.                 getURL("http://www.tutoriales-flash.com/tutorial.asp?id_tuto="+temp_array[0], "_blank");
  91.             } else {
  92.                 getURL("http://www.tutoriales-flash.com", "_blank");
  93.             }
  94.         };
  95.         num_fotos_cargadas++;
  96.         //trace("onLoadInit: "+orden+" | cargadas: "+num_fotos_cargadas+"/"+num_fotos);
  97.         if (num_fotos_cargadas>=num_fotos) {
  98.             setTimeout(_root.girar_carrusel,500);
  99.         }
  100.     };
  101. }
  102. function girar_carrusel() {
  103.     contenedor_mc._y = y0-contenedor_mc._height;
  104.     if (reflejar) {
  105.         var reflejo:MovieClip = _root.createEmptyMovieClip("reflejo_miniaturas_mc", _root.getNextHighestDepth());
  106.         reflejo._yscale = -100;
  107.         reflejo._y = contenedor_mc._y+contenedor_mc._height*2+1;
  108.         var myMatrix:Matrix = new Matrix();
  109.         myMatrix.createGradientBox(ancho_carrusel,contenedor_mc._height,Math.PI/2,0,-15);
  110.         var sombreado:MovieClip = _root.createEmptyMovieClip("sombreado_mc", _root.getNextHighestDepth());
  111.         var colors:Array = [color_fondo, color_fondo, color_fondo];
  112.         var alphas:Array = [40, 90, 100];
  113.         var ratios:Array = [0, 160, 255];
  114.         sombreado.beginGradientFill("linear",colors,alphas,ratios,myMatrix);
  115.         sombreado.moveTo(0,0);
  116.         sombreado.lineTo(ancho_carrusel,0);
  117.         sombreado.lineTo(ancho_carrusel,contenedor_mc._height);
  118.         sombreado.lineTo(0,contenedor_mc._height);
  119.         sombreado.lineTo(0,0);
  120.         sombreado._y = y0+1;
  121.         sombreado._x = x0-sombreado._width*0.5;
  122.     }
  123.     delete contenedor_mc.onEnterFrame;
  124.     contenedor_mc.onEnterFrame = function() {
  125.         incre += (_root._xmouse-x0)/_root.v_giro;
  126.         for (var k:Number = 0; k<=num_fotos; k++) {
  127.             this.carrusel_miniaturas_mc["foto_"+k].girar();
  128.         }
  129.         if (reflejar) {
  130.             var bmp:BitmapData = new BitmapData(ancho_carrusel+100, this._height, true, 0x00000000);
  131.             var myRectangle:Rectangle = new Rectangle(0, 0, ancho_carrusel+100, this._height);
  132.             bmp.draw(this,new Matrix(),new ColorTransform(),"normal",myRectangle,true);
  133.             _root.reflejo_miniaturas_mc.attachBitmap(bmp,1,"auto",true);
  134.         }
  135.     };
  136.     contenedor_mc._visible = true;
  137. }
  138. MovieClip.prototype.girar = function() {
  139.     var degrees:Number = _root.incre+(360*this.orden/num_fotos);
  140.     var radians:Number = degrees*Math.PI/180;
  141.     if (Math.sin(radians)<0) {
  142.         this._alpha = 15;
  143.     } else {
  144.         this._alpha = 100;
  145.     }
  146.     this._x = radio*Math.cos(radians);
  147.     this._xscale = (1-Math.cos(radians+Math.PI*0.5))*99-99;
  148.     this.swapDepths(int(this._xscale*10));
  149.  
  150. };

Codigo Xml
Código xml:
Ver original
  1. <exploracion carpeta="miniaturas">
  2. <archivo nombre="banner.jpg" size="30"/>
  3. <archivo nombre="logo.jpg" size="30"/>
  4. <archivo nombre="logotipo.jpg" size="30"/>
  5. <archivo nombre="logoletras.jpg" size="30"/>
  6. <archivo nombre="vicom.jpg" size="30"/>
  7. <archivo nombre="a.jpg" size="30"/>
  8. </exploracion>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:15.