Comunidad de diseño web y desarrollo en internet online

Problema con en AS2 this.getNextHighestDepth()

Citar            
MensajeEscrito el 12 Jun 2011 01:33 pm
Buen dia, tengo un problema al instanciar un movieclip que esta en la biblioteca, en realidad quiero insanciar dos que estan en la bibliteca, el codigo actionscrip 2 es:

QUIERO ACLARAR QUE ESTE CODIGO ESTA DENTRO DE UNA FUNCION.

Código ActionScript :

attachMovie("galeriaIMG", "galeria",   this.getNextHighestDepth() );      
attachMovie("galeriaYOUTUBE", "galeriaV",  this.getNextHighestDepth() );         



y no me funciona, lo soluciono asi:

Código ActionScript :

attachMovie("galeriaIMG", "galeria",   1);      
attachMovie("galeriaYOUTUBE", "galeriaV",  1 );         


De esta forma si me funciona, sin embargo, me gustaria entender porque no funciona con this.getNextHighestDepth() porque es un problema que tengo siempre con todo lo que quiero instanciar y tengo que estar probando hasta que lo logro.
Otra cosa que no entiendo es porque si pongo attachMovie si funciona, pero si pongo this.attachMovie no.

Saludos!

Por yosoyzone

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 12 Jun 2011 04:13 pm
Creo que el codigo enrealidad es asi,

attachMovie("galeriaIMG", "galeria", 100, getNextHighestDepth());
attachMovie("galeriaYOUTUBE", "galeriaV",100, getNextHighestDepth());

Probá y decime que tal!

Por azokasion

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Jun 2011 08:32 pm
Muchas gracias por la respuest. Hoy voy a probarlo y te cuento. Pero porque el numero 100?
Ese parametro que seria?

Por yosoyzone

21 de clabLevel



 

safari
Citar            
MensajeEscrito el 12 Jun 2011 09:24 pm
La verdad es que no se que es EXACTAMENTE, pero siempre que le coloco 100 , el codigo me funciona, conozco que, el primero es eln ombre del objeto, el segundo el nuevo nombre del objeto, el otro no se, y el ultimo parametro es el numero del objeto.

Por azokasion

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jun 2011 04:38 pm
ok, gracias, esperemos que alguien puede ayudarnos.

Por yosoyzone

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jun 2011 06:40 pm
Te andubo el codigo ?

Por azokasion

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jun 2011 07:22 pm
Creo que tu problema puede radicar en lo siguiente:

attachMovie("galeriaIMG", "galeria", this.getNextHighestDepth() );

estas "creando" un mc sin indicar en donde lo estas agregando (ejemplo: _root / u otro mc) entonces cuando le indicas "this.get....." ese this, no esta refiriendo a nada (ene ste caso al propio mc que aun no esta creado; por ello es nada)

date una vuelta pore ste tuto
[url=http://www.cristalab.com/tutoriales/precargas-swf-y-jpg-en-flash-con-moviecliploader-c15l/][/url]
donde esta utilizado y de muy buena forma; basicamente la linea en el tutorial es esta

Código :

_root.attachMovie("barra", "barra_mc", _root.getNextHighestDepth());


que en el caso de que quieras instanciar el mc de tu trabajo en el root, te sirve

saludos y suerte

Por PrimoSaviSan

56 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jun 2011 07:34 pm
hola, gracias por la respuesta.
Tengo una pregunta, en el caso que me indicas, "_root" a que hace referencia?

Porque el codigo para instanciar los movieclip estan dentro de otro movielip. No en "stage".
Como no estan directamente en el escenario sino dentro de otro movieclip y yo intentaba hacer esto:

Código ActionScript :

this.attachMovie...


Pero con el "this" no funciona. Y no puedo usar una ruta tipo _root.nombre.movieclip.attach...
seria bueno para mi evitar esto ultimo, si pongo _root solamente, me lo instanciaria directamente fuera de todo movieclip. Verdad?

Por yosoyzone

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jun 2011 07:48 pm
pasame el codigo con el que llamas al MC que luego instancia el mc de la biblioteca.

Noe stoy seguro de estar comprandiendo lo que queres hacer

Por PrimoSaviSan

56 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jun 2011 07:55 pm
pd: fijate aca el tema de _root

[url=http://foros.cristalab.com/al-cargar-un-swf-externo-no-funciona-un-clip-con-mascara-t69762/][/url]

que le generaba problemas a alguien mas

drarock escribió:

Es que esta usando _root. y cuando llamas desde otro .swf esta buscando en el _root del otro .swf y ya no del mismo, si ese codigo esta en su linea principal, puedes cambiar el _root por this asi buscara en su propia linea de tiempo.


lo explico mejor de lo que podria habrlo hecho yo.

probe tu linea

Código :

attachMovie("galeriaIMG", "galeria",   this.getNextHighestDepth() );   
  


en un stage vacio y me funciono la pelo (entonces el this esta respondiendo en este caso al stage principal...

por eso te pido el codigo que usas para llamar al moviclip que luego llama a "galeriaMG"

saludos

Por PrimoSaviSan

56 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jun 2011 08:19 pm
Hola, te paso todo el codigo que ahora funciona muy bien, pero sigo con las dudas.
Este codigo esta dentro de un movieclip, te lo envio comentado asi podes entenderlo.

Código ActionScript :

   //Instancio un nuevo objeto loadvars...
   var miObjetoLoadVars:LoadVars = new LoadVars();

   //Voy a setear todas las variables que necesito enviar al script php, solo pongo el objeto.nombreVariable = valor...
   //Indico que pagina quiero recuperar de las generadas por el paginator...
   //miObjetoLoadVars._pagi_pg = 1;
   //Indico por GET la posicion en portada que tengo que mostrar...
   //miObjetoLoadVars.posicion = 1;
   
   //Puedo poner una variable global y  que sea el Id del contenido php
   miObjetoLoadVars.aRecuperar = _global.aRecuperar;   
   
   //Envio las variables indicando la ruta del archivo, el obtejo loadVars y el metodo...
   //miObjetoLoadVars es el objeto que instancie al principio...
   //como envio las variables de arriba por GET, seria como que la ruta queda asi: "contenido.php?_pagi_pg = 1"...
   miObjetoLoadVars.sendAndLoad("datos.php", miObjetoLoadVars, "GET");   

   //Realizo la "carga" de las variables del archivo en el objeto loadvar...
   //Controlo que se halla cargado el archivo correctamente...
   //Si no es asi muestro mensaje de error... exito devuelve un booleano...
   miObjetoLoadVars.onLoad = function (exito:Boolean)
   {      
      if (exito)
      {
         //Variables que obtengo del .php:
         //Tienen esta forma: this.nombreVariable         
         var idPhp:Number = this.idContenido;
         var tituloPhp:String = this.titulo;
         var contenidoPhp:String = this.contenido;   
         _global.cadenaGlobalIMG = this.cadenaImagenes; //Todas las imagenes(la pongo global para que la lea la galeria)...
         var totalDeImagenesPhp:Number = this.cantidadImagenes; //La necesito para saber si muestro la galeria o una imagen comun...
         _global.cadenaGlobalYOUTUBE = this.cadenaYoutube; //Todos los videos(la pongo global para que la lea la galeria)...         
         var totalDePaginasPhp:Number = this.totalPaginas;         

         
         
         //Ruta de la carpeta de las imagenes:
         _global.carpetaIMG = "image/";
         
         
         //-------------- COMPLETO EL TEXTO --------------//
         //Si hay una sola imagen la agrego al texto dinamico: 
         if(totalDeImagenesPhp == 1)
         {
            //Como solo hay una imagen, elimino el /##/ de la cadena y me quedo con el nombre...
            var imgCorregida:String = _global.cadenaGlobalIMG.split("/##/").join("");
            var img:String = "<img class='imgNoticia' src='"+_global.carpetaIMG+imgCorregida+"' alt='"+tituloPhp+"' align='left' />";
         }
         else
         {
            //Si no no muestro nada (porque si hay mas de una muestro la galeria)...
            var img:String = "";
         }
         
         titulo.htmlText = "<p class='texto-titulo'><b>"+tituloPhp+"</b></p>";
         texto.htmlText = "<p class='texto-main'>"+img+contenidoPhp+"</p>";   
         
         
         texto.htmlText += "<p>Total de Paginas:"+totalDePaginasPhp+"</p>";         
         texto.htmlText += "<p>ID:"+idPhp+"</p>";            
         //-------------- /COMPLETO EL TEXTO --------------//
         
         
         
         //------------ INSTANCIO LA GALERIA DE IMAGENES ----------//
         //Si hay mas de una imagen, instancio la galeria...
         if(totalDeImagenesPhp > 1)
         {
            attachMovie("galeriaIMG", "galeria",  1, {_x:0, _y:texto._height + 50});      
         }
         //------------ /INSTANCIO LA GALERIA DE IMAGENES ----------//
         
         

         
         //------------ INSTANCIO LA GALERIA DE VIDEOS ----------//
         //Si hay mas de una imagen, instancio la galeria...
         if(_global.cadenaGlobalYOUTUBE)
         {
            attachMovie("galeriaYOUTUBE", "galeriaV",  2, {_x:0, _y:texto._height + galeria._height + 50});         
         }
         //------------ /INSTANCIO LA GALERIA DE IMAGENES ----------//         
      } 
      else
      {
         titulo.htmlText = "<p><b>Estamos trabajando</b></p>";
         texto.htmlText = "<p>Estamos trabajando el sitio web, por favor vuelva a intentarlo mas tarde...</p>";
      }
   }
   stop();



Por ejemplo, si hago "this.attachMovie" no funciona.
Y si luego quiero hacer algo como "this["movieclcip" + i] no me funciona.
Lo que hago es _parent.plan["movieclip" + i] para solucionar esto.

Es decir, voy para atras en la ruta de los movieclip y luego vuelvo a entrar al movieclip "plan".
El codigo logre que funcione, pero quiero sacarme esas dudas, tampoco funciona el getNextHigheleve.

Un abrazo!

Por yosoyzone

21 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jun 2011 08:46 pm
bueno, la verdad es que estoy viedno y viendo; pero 4 ojos ven mas que dos:

Calculo que el problema puede venir por dos lados:
1- el llamado dentro de un mc dentro de otro mc (rutas, root, this y demases)
2- que el attach este dentro del onLoad y esto + lo de arriba igual "this" no funciona

calculo que con suerte llegara a esta charla un diosteorico de CL y nos dira la verdad revelada

mientras tanto te paso:

Cep escribió:


Hay dos opciones o usas rutas relativas: this, _parent. O si cargas tu pelicula en un Mc usas _lockroot; que es lo que hace? cuando llamas a _root. este lo "redirecciona" para que no tengas el problema de que llames a la pelicula principal.


de esta charla, constructiva

problema con LoadVars

donde de costadito esta tocado el tema

saludos

Por PrimoSaviSan

56 de clabLevel



 

firefox

 

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