Comunidad de diseño web y desarrollo en internet online

Ayuda con Load Movie

Citar            
MensajeEscrito el 21 Dic 2008 06:46 pm
Hola gente
Mi problema es el siguiente:
Tengo un swf principal con un movie clip donde cargo un swf externo a través de la acción de un boton.
Tengo 3 botones difrentes que deben cargar el mismo swf externo, pero en distintos frames (o etiquetas)
boton 1: carga el swf "tipologias"
boton 2: carga el swf "tipologias" en el frame 10 (también etiquetado como "dos")
boton 3: carga el swf "tipologias" en el frame 20 (también etiquetado como "tres")

Por alguna razón, no puedo lograr cargar el swf externo en un frame que no sea el inicial,
por lo que los 3 botones cargan la misma instancia.
Estuve investigando la informacion publicada por Elav de loadMovie, pero no pude solucionar el problema.


Adjunto el código a continuación del botón nro 2:

on(release){
_root.home_mc.contenedor_mc.loadMovie("tipologias.swf");
this.onEnterFrame = function()
{
if (contenedor_mc.getBytesLoaded() != 0 && contenedor_mc.getBytesLoaded() == contenedor_mc.getBytesTotal()) {
trace("cargo");
delete this.onEnterFrame;
_parent.contenedor_mc.gotoAndPlay("dos");}
}
}

Espero que alguien pueda ayudarme
Gracias. Saludos

Por sebasd

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Dic 2008 11:12 pm
Segun veo en el código del segundo botón puedo apreciar que cargas "contenedor_mc" en "home_mc" pero en ningún momento le estás diciéndo en qué fotograma cargarlo. Lo que hace es cuando carga "contenedor_mc", le dices que se vaya en "contendor_mc" a su fotograma/frame X. (o esa es tu intención porque no se si el código está correcto).

Dices "Tengo 3 botones difrentes que deben cargar el mismo swf externo, pero en distintos frames (o etiquetas)"
pero yo no tenía constancia que fuese posible cargar un swf en un frame concreto, a no ser que en esos fotogramas en concreto (el 1, 10 y 20) tengas a su vez un mc vacío donde cargar el swf.

Creo que deberías aclarar este punto antes de continuar.

Por pitger

Claber

201 de clabLevel



Genero:Masculino  

Cáceres

firefox
Citar            
MensajeEscrito el 22 Dic 2008 03:07 am
Gracias por responder

aclaro las dudas:
contenedor_mc va cargado dentro de home_mc, todo dentro del swf principal. este movie clip no quiero que vaya a ningun frame en particular sino que es un movie vacio donde cargar el swf externo.
mediante el action de cada uno de los botones yo lo que quiero lograr es que en contenedor_mc me cargue el swf externo (tipologias.swf) en distintas instancias. este swf externo tiene un movie general que tambien se denomina contenedor_mc y es el que yo quiero que cargue en las diferentes instancias según sea el boton 1, 2 o 3, mediante la siguiente acción (en el caso del boton 2):
_parent.contenedor_mc.gotoAndPlay("dos")
(no se si está bien el action, me guíe por la info publicada por Elav y también probé otras alternativas)

para mayor aclaracion muestro el ejemplo online:
www.ideararquitectura.com

sería la sección inversiones y las 3 fotos serían los 3 botones que menciono.
el primero me carga el swf externo desde el fotograma 1, ese estaría correcto
el problema es con los otros 2 botones.

Por sebasd

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Dic 2008 12:14 am
Creo que esto no debería ir en los botones

Código :

   this.onEnterFrame = function(){
      if (contenedor_mc.getBytesLoaded() != 0 && contenedor_mc.getBytesLoaded() ==contenedor_mc.getBytesTotal()){
         trace("cargo");
         delete this.onEnterFrame;
         _parent.contenedor_mc.gotoAndPlay("dos");
      }
   }


El botón no puede comprobar la sentencia 'if' más que una vez, no lo hace de forma cíclica, por lo que sólo evalua el 'if' una vez... razón por la que el 'track' o cabeza lectora no se desplaza ningún fotograma dentro de tipologias.swf.

No tengo los archivos y no se si me he enterado bien de como está montado eso. Para no liarme yo te propóngo la siguiente solución y ya me contarás (otra opción es que me mandes los archivos para que lo vea 'in person' la estructura [[email protected]]):

Doy por hecho que los botones están en el _root

• En el botón 2

Código :

on(release){
   VeteA="dos";
   _root.home_mc.contenedor_mc.loadMovie("tipologias.swf");
}


• En el botón 3

Código :

on(release){
   VeteA="tres";
   _root.home_mc.contenedor_mc.loadMovie("tipologias.swf");
}


• En contenedor_mc

Código :

onClipEvent(EnterFrame){ 
   if (this.getBytesLoaded() != 0 && this.getBytesLoaded() ==this.getBytesTotal()){
      this.gotoAndPlay(_root.VeteA);
   }
}


Hay otras forma mas o menos profanas pero creo que así te puede funcionar perfectamente. Como mucho puede ocurrir que, si le das al botón2 por ejemplo... la sentencia de contenedor_mc te envíe una y otra vez de forma cíclica al fotograma especificado y no deje avanzar el track. Si fuera ese el caso podrías evitarlo de la siguiente forma (te pongo sólo el ejemplo de un botón:

• En el botón 3

Código :

on(release){
   VeteA="tres";
   Interruptor=0; //Establecemos a modo de 'interruptor' esta funcion a cero. Esta var. es 0 en los 3 btns.
   _root.home_mc.contenedor_mc.loadMovie("tipologias.swf");
}


• En contenedor_mc

Código :

onClipEvent(EnterFrame){
   if(_root.Interruptor==0){
        if (this.getBytesLoaded() != 0 && this.getBytesLoaded() ==this.getBytesTotal()){
      this.gotoAndPlay(_root.VeteA);
   }
        _root.Interruptor=1; /*Cambiamos la variable 'Interruptor' para que una vez que se cumpla lo del 'if' anterior,
                              no se vuelva a ejecutar la sentencia más veces hasta que el botón 1, 2 o 3 vuelva a 
                              establecer 'Interruptor' a 0 */
}


Ahí va eso!!... espero que salga todo "fine"

Por pitger

Claber

201 de clabLevel



Genero:Masculino  

Cáceres

firefox
Citar            
MensajeEscrito el 05 Ene 2009 10:03 pm
no hay caso
probé de este modo pero tampoco puedo lograr que que el movie externo sea cargado en algun frame diferente al 1

http://foros.cristalab.com/como-controlar-un-movieclip-cargado-externamente-t11208/
en este link se menciona un caso similar, pero tampoco me ha funcionado

seguiré intentando

Por sebasd

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Ene 2009 01:35 am
Hay un tiempo desde que el swf termina de cargarse hasta que es accesible y puedes manipularlo. loadMovie no está creado para manejar ese lapso de tiempo. Busca en la ayuda de Flash "MovieClipLoader" que es lo que deberás usar para hacer lo que quieres. El primer link de mi firma es un tutorial de MovieClipLoader.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

chrome
Citar            
MensajeEscrito el 18 Ene 2009 09:11 pm
Hola
Probé utilizando el metodo MovieClipLoader y logro cargar el movie externo,
pero como puedo hacer para cargarlo directamente en la instancia que yo quiero (etiqueta "dos")?

Por sebasd

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Ene 2009 01:48 am
Me encantan las explicaciones tecnicas, aprendi algo y me mareo... :shock:

Por Siriö

624 de clabLevel

4 tutoriales
1 articulo

 

Germany

msie7
Citar            
MensajeEscrito el 19 Ene 2009 12:54 pm
la idea es ir aprendiendo de la gente que sabe a través del foro, por eso la consulta
aprendi que lo mas correcto para casos similares es utilizar MovieClipLoader
lo cual desconocia por completo y me es de mucha utilidad
Para no caer en los mismo errores que cometi queria entender como controlar el fotograma de inicio del movie externo

agradezco las sugerencias

Por sebasd

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Ene 2009 11:46 pm
Hola a todos mi problema es que tengo un swf muy pesado y lo parti en 2 swf, el problema que tengo es que carge el codigo en el primer boton, me manda al fotograma deseado.

on (press) {
loadMovieNum("katari.swf",1);
}
on (release) {
_level1. gotoAndPlay (1);
}

pero al colocar el codigo parecido pero para ir a un diferente fotograma no funciona. que debo corregir .
De ante mano agradesco la ayuda

Por jesusrpp

0 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Ene 2009 05:53 pm
por lo que lei, tu caso es parecido al mio
segun lo que me recomendaron, lo mejor es cargar un swf externo mediante el método MovieClipLoader

http://www.cristalab.com/tutoriales/precargas-swf-y-jpg--en-flash-con-moviecliploader-c15l/
en este link esta el tutorial y la explicacion de como debe realizarse

espero que sirva de algo!

Por sebasd

3 de clabLevel



 

firefox

 

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