Comunidad de diseño web y desarrollo en internet online

No se donde me estoy equivocando!!!

Citar            
MensajeEscrito el 21 Ene 2010 07:46 pm
Hola, tengo en la pelicula principal una galeria de imagenes que la llamo asi:

Código :

this.createEmptyMovieClip("galeria_mc",1);
loadMovie("galeria.swf", galeria_mc);
galeria_mc._x = -188
galeria_mc._y = -211


y en la raiz del sitio tengo:

una carpeta llamada minis, otra carpeta llamada originales, la galeria "galeria.swf" y el archivo xml "verminiaturas.xml", además del swf principal.

creo que tengo un problema en las rutas, dado que al darle al btn de imagenes, carga "galeria.swf" y el mc se abre pero las fotos no se ven. En cambio, si abro la galeria directamente, doble click en "galeria.swf" si veo las fotos. les enseño el frame con el action y el xml.

Código :

stop();
System.useCodepage = true;
XML.prototype.ignoreWhite = true;
import mx.transitions.Tween;
var separacion:Number = 115;
var pagina_actual:Number = 1;
var num_paginas:Number;
var IMG_array:Array;
var miniaturasXML:XML = new XML();
miniaturasXML.onLoad = mostrarMiniaturas;
miniaturasXML.load("verminiaturas.xml");
function mostrarMiniaturas():Void {
   var fila:Number = 0;
   var col:Number = 0;
   IMG_array = this.firstChild.childNodes;
   num_paginas = Math.ceil(IMG_array.length/9);
   var lienzo:MovieClip = _root.createEmptyMovieClip("lienzo_miniaturas", _root.getNextHighestDepth());
   lienzo.cacheAsBitmap = true;
   lienzo._x = 10;
   lienzo._y = 30;
   lienzo.setMask(mascara_mc);
   for (var k:Number = 0; IMG_array[k]; k++) {
      if (col>2) {
         col = 0;
         fila++;
      }
crearMiniatura(col, fila, IMG_array[k].attributes.nombre);
      col++;
   }
}
function crearMiniatura(columnaF:Number, filaF:Number, ruta:String) {
   var bajo_clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("bajo_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
   var clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("foto_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
   var mi_mcl:MovieClipLoader = new MovieClipLoader();
   var miListener:Object = new Object();
   mi_mcl.addListener(miListener);
   clip.valor = "aaa";
   mi_mcl.loadClip("minis/"+ruta, clip);
   miListener.onLoadStart = function(target_mc:MovieClip) {
      target_mc._alpha = 0;
   };
   miListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
   };
   miListener.onLoadInit = function(target_mc:MovieClip) {
      target_mc._x = (separacion*columnaF)+(100-target_mc._width)*0.5;
      target_mc._y = (separacion*filaF)+(100-target_mc._height)*0.5;
      bajo_clip._x = target_mc._x-5;
      bajo_clip._y = target_mc._y-5;
      with (bajo_clip) {
         beginFill(0xffffff);
         lineStyle(1, 0xEEEEEE, 100);
         lineTo(target_mc._width+10, 0);
         lineTo(target_mc._width+10, target_mc._height+10);
         lineTo(0, target_mc._height+10);
         lineTo(0, 0);
         endFill();
      }
bajo_clip.onRelease = function() {
         verFotoGrande(ruta);
      };
var myTween:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
   };
}
function verFotoGrande(ruta:String) {
   clearInterval(intervaloColor);
   var grande:MovieClip = _root.createEmptyMovieClip("grande_mc", 2*IMG_array.length+11);
   var bajo_grande:MovieClip = _root.createEmptyMovieClip("bajo_grande_mc", 2*IMG_array.length+10);
   var grande_mcl:MovieClipLoader = new MovieClipLoader();
   var grandeListener:Object = new Object();
   grande_mcl.addListener(grandeListener);
   grande_mcl.loadClip("originales/"+ruta, grande);
   grandeListener.onLoadStart = function(target_mc:MovieClip) {
      myColor = new Color(target_mc);
      myColorTransform = new Object();
      myColorTransform = {ra:100, rb:255, ga:100, gb:255, ba:100, bb:255, aa:100, ab:0};
      myColor.setTransform(myColorTransform);
   };
   grandeListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
   };
   grandeListener.onLoadInit = function(target_mc:MovieClip) {
      target_mc._x = 353+Math.round((315-target_mc._width)*0.5);
      target_mc._y = 28+Math.round((315-target_mc._height)*0.5);
      bajo_grande._x = target_mc._x-5;
      bajo_grande._y = target_mc._y-5;
      with (bajo_grande) {
         beginFill(0xffffff);
         lineStyle(1, 0xEEEEEE, 100);
         lineTo(target_mc._width+10, 0);
         lineTo(target_mc._width+10, target_mc._height+10);
         lineTo(0, target_mc._height+10);
         lineTo(0, 0);
         endFill();
      }
      var indiceColor:Number = 255;
      intervaloColor = setInterval(cambiarColor, 10);
      function cambiarColor() {
         myColorTransform = {ra:100, rb:indiceColor, ga:100, gb:indiceColor, ba:100, bb:indiceColor, aa:100, ab:0};
         myColor.setTransform(myColorTransform);
         indiceColor -= 2;
         if (indiceColor == -1) {
            clearInterval(intervaloColor);
         }
      }
   };
}
function moverLienzo(posY:Number):Void {
   var myTween:Tween = new Tween(lienzo_miniaturas, "_y", mx.transitions.easing.Regular.easeOut, lienzo_miniaturas._y, posY, 1, true);
}
pMenos_btn.enabled = false;
pMenos_btn._alpha = 30;



Y este es el XML

Código :

<?xml version="1.0" ?> 
 <exploracion carpeta="minis">
  <archivo nombre="IMG_1243.jpg"/> 
  <archivo nombre="IMG_1137.jpg" /> 
  <archivo nombre="IMG_1238.jpg" />
  <archivo nombre="IMG_1221.jpg" />
  <archivo nombre="IMG_1139.jpg" />
  <archivo nombre="IMG_1227.jpg" />
  <archivo nombre="IMG_1561.jpg" />
  <archivo nombre="IMG_1565.jpg" /> 
  <archivo nombre="IMG_1388.jpg" /> 
  <archivo nombre="012.jpg" /> 
 </exploracion>


He probado en todos los sitios donde ponen rutas poner ./ para que lea de la raiz, pero tampoco me funciona.... en donde me estoy equivocando?

Gracias a todos!!!

Por inmagic

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 21 Ene 2010 08:39 pm
Fijate en este link la explicación que da Hernán.

Cuando un swf se carga dentro de un movieclip toma el root del swf principal. Con this._lockroot = true lo que haces es que el swf que que carga tu xml, siga manteniendo su propio root.

Por Flater

16 de clabLevel



 

Buenos Aires; Argentina

chrome

 

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