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

Ir a un fotograma específico de un MC

Estas en el tema de Ir a un fotograma específico de un MC en el foro de Flash y Actionscript en Foros del Web. Hola a tod@s: Mi problema no es nuevo, según he comprobado en la búsqueda. Pero aún así no he logrado encontrar la solución: Quiero que ...
  #1 (permalink)  
Antiguo 25/07/2005, 12:41
 
Fecha de Ingreso: abril-2005
Mensajes: 31
Antigüedad: 19 años
Puntos: 0
Ir a un fotograma específico de un MC

Hola a tod@s:

Mi problema no es nuevo, según he comprobado en la búsqueda. Pero aún así no he logrado encontrar la solución:
Quiero que al cargar una película externa, tanto por niveles, como mediante un MC, vaya a un fotograma concreto de dicha película.
La película principal es pelicula1.swf, donde tengo un botón, en el cual he probado los siguientes códigos, sin resultado:

a) mediante un clip de vídeo vacío donde cargo la película:

on (press) {
movieclip.loadMovie("peli2.swf");
movieclip.gotoAndStop(5);
}

b) el mismo método de otra forma, que he visto por ahí:

on (press) {
movieclip.loadMovie("peli2.swf");
_root.movieclip.gotoAndStop(5);
}

c) con niveles:

on (press) {
loadMovieNum ("peli2.swf",1);
_level1.gotoAndStop (5);
}

Ninguno me sirve. Me cargan la película externa pero en el fotograma primero.

He leído en un post una explicación de TMeister que dice:
"al dar click en X boton ejecutas tu codigo de cargar el swf externo y mandalo un Frame especifico..
Las dos instruciones se ejecutan con milisegundos de direfencia, mientras que el SWF tarda mas en cargar..
Entonces tu indicas que haga un gotoAnd.. al frame 5 cuando aun no esta cargado nisiquira el frame 1 del SWF externo..

La solucion es hacer un preload, comprobando si ya se termino de cargar el SWF externo, si ya termino de cargarse entonces si puedes hacer tu gotoAndPlay sin proiblemas..."

Lo interesante es el último párrafo. Alguien sabe cómo hacerlo??? Necesito un código que me cargue la película (ese ya le tengo) y que después de cargarla (cómo especifico eso en action script????) vaya al fotograma que quiero, con gotoandstop.

Gracias de antemano.
  #2 (permalink)  
Antiguo 25/07/2005, 13:11
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Hola Lucia79:
Prueba con éste código colócandolo en el primer frame de tu película:
stop();
my_mc.loadMovie("peli2.swf");
_root.createEmptyMovieClip("contenedor",1);
contenedor.onEnterFrame=function(){
if(my_mc.getBytesLoaded()>=mcContenido.getBytesTot al()) {
my_mc.gotoAndStop(5); //va al frame 5
delete contendor.onEnterFrame;
}
};

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 25/07/2005, 14:57
 
Fecha de Ingreso: abril-2005
Mensajes: 31
Antigüedad: 19 años
Puntos: 0
Muchas gracias Bandit, conseguido!!!
Puse el código en el botón, al hacer on(release), y quité el stop(); y me carga la pelicula en el fotograma correspondiente.

Ahora quisiera entender el código, haber si lo he comprendido bien:

my_mc.loadMovie("peli3.swf"); //cargo la pelicula externa en el MC my_mc

con la siguiente parte creo un movieclip vacío donde ejecuto la función que comprueba la carga de la película:

_root.createEmptyMovieClip("contenedor",1);
contenedor.onEnterFrame=function(){
if(my_mc.getBytesLoaded()>=mcContenido.getBytesTot al()) {


my_mc.gotoAndStop(5); //vamos al frame 5

delete contendor.onEnterFrame; //borramos el MC creado

Mi pregunta es: ¿porqué es necesario crear un MC para ejecutar esa función? ¿no se puede hacer sin crearlo?
  #4 (permalink)  
Antiguo 25/07/2005, 19:34
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Hola Lucía:
Como se está usando el loadMovie, se tiene que usar un MC vacío como contenedor de la carga.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 26/07/2005, 01:04
 
Fecha de Ingreso: abril-2005
Mensajes: 31
Antigüedad: 19 años
Puntos: 0
Y cómo sería por niveles? Es decir, en vez de cargar la peli externa en un MC, cargarla en un nivel superior e ir al correspondiente fotograma?

Un saludo
  #6 (permalink)  
Antiguo 26/07/2005, 02:30
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 3 meses
Puntos: 3
loadMovieNum("archivo.swf", 1) //cargarías archivo.swf en el nivel 1

P.D.: ¡¡¡ Al fin he vuelto al foro !!!, espero volver recargado para tratar de seguir ayudando :D
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #7 (permalink)  
Antiguo 27/07/2005, 02:00
 
Fecha de Ingreso: abril-2005
Mensajes: 31
Antigüedad: 19 años
Puntos: 0
Gracias, Goc00. Lo de cargar la peli en un nivel superior lo sabía. Mi pregunta es, una vez cargada ir a un fotograma concreto de dicha película, pues el siguiente código no funciona:

loadMovieNum("archivo.swf", 1);
_level1.gotoAndStop(5);

Un saludo
  #8 (permalink)  
Antiguo 27/07/2005, 02:05
Avatar de Leftside  
Fecha de Ingreso: julio-2005
Ubicación: Carrodilla
Mensajes: 77
Antigüedad: 18 años, 8 meses
Puntos: 0
yo usaría en "archivo.swf" (que es el que se carga) MovieClip.onLoad{_level1.gotoAndStop(5);}
  #9 (permalink)  
Antiguo 27/07/2005, 04:37
 
Fecha de Ingreso: abril-2005
Mensajes: 31
Antigüedad: 19 años
Puntos: 0
Vale, ya lo tengo: para ir a un frame específico al cargar un swf en un nivel superior he adaptado el código que Bandit dijo para los movieclips y lo he puesto así:

on (release) {
loadMovieNum("peli2.swf",1); //cargamos la película externa en el nivel1
_root.createEmptyMovieClip("contenedor",1);
contenedor.onEnterFrame=function(){
if(_level1.getBytesLoaded()>=_level1.getBytesTotal ()) {
_level1.gotoAndStop(5); //una vez cargada la película, vamos al frame5
delete contendor.onEnterFrame;
}
};
}

Y ya está. Funciona.

Gracias a todos
  #10 (permalink)  
Antiguo 04/08/2005, 14:25
 
Fecha de Ingreso: abril-2005
Mensajes: 4
Antigüedad: 19 años
Puntos: 0
Exclamación Cargar Varios Swf E Ir A Un Fotograma De Estos

Hola Bandit:

Por favor ayúdame con estos archivos. Te estoy enviando los flas pa q veas como funcionan. El archivo principal se llama proceso y los swf a cargar se llaman proceso1 y proceso3. En realidad son 4 swfs a cargar, pero sólo te envío dos de ellos.

Una vez que hayas navegado un poco t darás cuenta que si, por ejemplo, le haces click al botón 4, aparece todo ese sector ampliado, pero resaltado el botón 1.

Lo que quiero es que cuando haga click en los botones, llame al swf externo correspondiente y que se vaya al fotograma donde se encuentre resaltado el número del botón al cual has hecho click.

puedes descargar los archivos akí:

http://www.mariobenites.com/procesos/proceso.fla

http://www.mariobenites.com/procesos/proceso1.fla

http://www.mariobenites.com/procesos/proceso3.fla

Muchas gracias.


Cita:
Iniciado por Bandit
Hola Lucia79:
Prueba con éste código colócandolo en el primer frame de tu película:
stop();
my_mc.loadMovie("peli2.swf");
_root.createEmptyMovieClip("contenedor",1);
contenedor.onEnterFrame=function(){
if(my_mc.getBytesLoaded()>=mcContenido.getBytesTot al()) {
my_mc.gotoAndStop(5); //va al frame 5
delete contendor.onEnterFrame;
}
};

Espero haberte sido de ayuda.
  #11 (permalink)  
Antiguo 04/08/2005, 19:18
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Hola mariophp:
Vamos a ver si te entendí.
Si lo que quieres es ir por ejemplo con el botón 1 al frame 49 de la película proceso1.swf, donde se ve el botón 1 en color rojo, el código debes de ponerlo así:
on (release) {
vacio.loadMovie("proceso3.swf");
vacio.gotoAndPlay (49);
}
Lo mismo con el botón 9 que va a ese mismo frame de la película proceso3.swf.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #12 (permalink)  
Antiguo 05/08/2005, 15:46
 
Fecha de Ingreso: julio-2005
Mensajes: 9
Antigüedad: 18 años, 8 meses
Puntos: 0
Busqueda

Hola Todos:
He estado leyendo el foro por que tengo un problemita muy parecido al de Lucia79, pero la verdad es que soy un novato aun en esto del action scrpit y no lo he resolovido, queria ver si alguno de ustedes me puede ayudar:

Se trata de lo siguiente, estoy haciendo mi pagina y tengo mi home(home.swf) con tres botones, ahora bien mi idea es cargar el contenido de cada boton en 3 peliculas externas (Contacto.swf, servicios.swf y productos.swf) y llamarlos a traves de niveles superiores. En uno de mis botones, el de Contacto puse el siguiente action, que funcionaba bien:

on (release) {
loadMovie("contacto.swf", 2);
}

el problema era que al probarlo en linea, se demoraba un poco en cargar mi pelicula perdiendose la continuidad de la secuencia de entrada que yo habia diseñado(es decir se ve una pausa porque el browser esta cargando al pelicula). Intente solucionarlo poniendo en el primer frame de mi pelicula Contacto.swf en blanco con un stop() y en mi pelicula home puse en un frame en balnco durante la linea del tiempo la orden;

loadMovie("contacto.swf", 2);

con la intencion de que se fuera cargando mientras corria el resto de la animacion del home y asi lograr que cuando se diera click en el boton de contacto se viera fluida la animacion de entrada, a mi boton de contacto le cambie la orden:

on (release) {
_level2.gotoAndPlay(2)
}
para que empezar a correr la animacion desde el frame 2 ya que el 1 esta vacio con un stop() para que no se encimara en la animacion de mi home pero no corre ya mi pelicula de contacto.swf, probe ponerle el action que le recomendaste a Lucia79 para ir a un frame determinado de un pelicula exterana por medio de niveles,(obviamente cambie los nombre de las pelicuals por los de los mios, asi com el frame al que queria ir) pero no funciono.

No se si estoy muy perdido y no es asi como debo precargar mi pelicula contacto.swf o si es mi codig que esta mal.

Agradeceria si alguien me ayuda y si esta muy confuso les puedo enviar mis archivos para que lo entiendan un poco mejor.
Gracias

Última edición por Lord Mao; 05/08/2005 a las 17:22
  #13 (permalink)  
Antiguo 05/08/2005, 19:43
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Hola Lord_Mao:
En primer lugar para cargar por niveles se debe de usar el: loadMovieNum y tú estás usando loadMovie que sirve para cargarlo dentro de un MC vacío.
El código para cargarlo por niveles sería asi:
on (release) {
loadMovieNum("contacto.swf", 2);//donde el 2 es el nivel
}
Para cargar dentro de un MC vacío, a éste hay que ponerle un nombre de instancia, por ejemplo: carga.
El código sería así:
on (release) {
carga.loadMovie("contacto.swf");
}

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #14 (permalink)  
Antiguo 08/08/2005, 17:54
 
Fecha de Ingreso: julio-2005
Mensajes: 9
Antigüedad: 18 años, 8 meses
Puntos: 0
Hola Bandit
Muchas Gracias por la ayuda Funciono muy bien, solo tengo una duda;
Como hago para que mis peliculas se vayan cargando en mi home, para que ya en el browser no se tarden en cargar y pierda la continuidad mi animacion de salida y entrada?

De antemano te doy muchas gracias
Saludos
LDMAO
  #15 (permalink)  
Antiguo 29/04/2008, 09:32
Avatar de marisolivier  
Fecha de Ingreso: septiembre-2005
Ubicación: daganzo (madrid)
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Ir a un fotograma específico de un MC

Cita:
Iniciado por Lucia79 Ver Mensaje
Vale, ya lo tengo: para ir a un frame específico al cargar un swf en un nivel superior he adaptado el código que Bandit dijo para los movieclips y lo he puesto así:

on (release) {
loadMovieNum("peli2.swf",1); //cargamos la película externa en el nivel1
_root.createEmptyMovieClip("contenedor",1);
contenedor.onEnterFrame=function(){
if(_level1.getBytesLoaded()>=_level1.getBytesTotal ()) {
_level1.gotoAndStop(5); //una vez cargada la película, vamos al frame5
delete contendor.onEnterFrame;
}
};
}

Y ya está. Funciona.

Gracias a todos
estoy viendo este foro y estoy buscando algo similar:

es ir a un frame especifico pero cargando la peli en el mismo nivel...con ese codigo no me va...
__________________
ilustradordiseñadorweb
  #16 (permalink)  
Antiguo 29/04/2008, 11:43
 
Fecha de Ingreso: febrero-2008
Mensajes: 30
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Ir a un fotograma específico de un MC

Bandit yo tengo un problema similar yo kiero que al cargar el mc se mueva y que los botones que esten dentro del mc funcionen me podrias ayudar plsssssssss :(
  #17 (permalink)  
Antiguo 29/04/2008, 17:01
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 9 meses
Puntos: 406
Re: Ir a un fotograma específico de un MC

Hola marisolivier:
Te sugiero que lo cargues en un MC vacío, de ese modo lo puedes controlar mejor.
Comúnmente se cae en un error al querer cargar una película e ir a un fotograma determinado con éste código:
on(release){
mc_vacio.loadMovie("nombre.swf");
gotoAndPlay(número del frame);
}
el código gotoAndPlay(número del frame), se activa antes de que se cargue la película por lo tanto no funciona, se tiene que hacer una precarga simple colocando el código así:
En éste ejemplo creamos el MC vacío.
on(release){
clip_mc = this.createEmptyMovieClip("contenedor", 1);
clip_mc.loadMovie("peli2.swf");
this.onEnterFrame = function() {
if (clip_mc.getBytesLoaded() != 0 && clip_mc.getBytesLoaded() == clip_mc.getBytesTotal()) {
trace("cargo");
clip_mc.gotoAndPlay(5);//aquí va el número del frame dode se quiere ir
delete this.onEnterFrame;
}
};
}

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #18 (permalink)  
Antiguo 30/04/2008, 03:35
Avatar de marisolivier  
Fecha de Ingreso: septiembre-2005
Ubicación: daganzo (madrid)
Mensajes: 76
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Ir a un fotograma específico de un MC

bueno al final lo he solucionado de esta forma:

en el boton que llama a la peli para ir aun frame especifico (el 2):

Código:
on (release) {
	_global.frameToGo = 2;
	loadMovieNum("peli02.swf", 1);
}
y en la peli02.swf, en el 1º frame:

Código:
if (_global.frameToGo<>0) {
	this.gotoAndPlay(_global.frameToGo);
	_global.frameToGo = 0;
}
__________________
ilustradordiseñadorweb
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 18:18.