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

Cargar un swf en una escena concreta

Estas en el tema de Cargar un swf en una escena concreta en el foro de Flash y Actionscript en Foros del Web. Hola: Quisiera que al darle a un botón, me cargase un swf, pero en una escena determinada, en su fotograma uno. En ese swf que ...
  #1 (permalink)  
Antiguo 06/06/2006, 06:27
Avatar de Midai  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid - España
Mensajes: 134
Antigüedad: 12 años, 10 meses
Puntos: 1
Pregunta Cargar un swf en una escena concreta

Hola:

Quisiera que al darle a un botón, me cargase un swf, pero en una escena determinada, en su fotograma uno. En ese swf que quiero que cargue tengo varias escenas.

He probado con este código de Bandit:

on(release){
clip_mc = this.createEmptyMovieClip("holder", 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 donde se quiere ir
delete this.onEnterFrame;
}
};
}

Y con este código también de Bandit, en el que no aparece lo de trace:

on (release) {
my_mc = this.createEmptyMovieClip("contenedor", 1);
my_mc.loadMovie("page.swf");
this.onEnterFrame = function() {
if (my_mc.getBytesLoaded() != 0 && my_mc.getBytesLoaded() == my_mc.getBytesTotal()) {
my_mc.gotoAndStop(3);//va al frame 3
delete this.onEnterFrame;
}
};
}

Pero en ambos casos tengo dos problemas:

- Me lo carga no en sustitución de la película que ya estaba cargada, sino encima de ella, y como la que carga tiene un fondo de página distinto, pues no se ven los efectos como se deberían ver, sino que deja ver cosas que en su fondo original están tapadas. Necesitaría que se cargase la segunda película desapareciendo de la pantalla la primera o tapándola completamente.

- Me carga la segunda película desde su primera escena, fotograma 1. No sé cómo decirle que vaya a una escena concreta. He probado poniendo en my_mc.gotoAndStop("elnombredelaescena",1); pero no funciona. Me sale un mensaje de error en el aviso de "Salida" cuando pruebas la película en el que aparece la palabra "elnombredelaescena".

¿Alguien me puede ayudar?

Gracias,
Midai
  #2 (permalink)  
Antiguo 06/06/2006, 19:31
Avatar de Midai  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid - España
Mensajes: 134
Antigüedad: 12 años, 10 meses
Puntos: 1
Pregunta

Hola de nuevo:

He solucionado el segundo problema, es decir, ya me muestra una escena concreta, a partir del fotograma en el que he puesto una etiqueta, de un swf que llamo desde un botón de un swf principal, poniendo en este botón el siguiente código que he encontrado de Bandit:

Primero coloca como etiqueta en el primer frame de la segunda escena, por ejemplo: P3
Coloca éste código en un botón:
on (release) {
my_mc = this.createEmptyMovieClip("contenedor", 1);
my_mc.loadMovie("pag.swf");
this.onEnterFrame = function() {
if (my_mc.getBytesLoaded() != 0 && my_mc.getBytesLoaded() == my_mc.getBytesTotal()) {
my_mc.gotoAndPlay("P3");//va al frame P3
delete this.onEnterFrame;
}
};
}



Pero el segundo problema sigo teniéndolo, me sigue mostrando por debajo la película que llamaba a ese segundo swf. Supongo que es un tema de niveles por lo que me suena haberos leído. Pero no sé cómo añadir algo al código de arriba para que aparezca en un nivel que haga que no se vea la película que lo llamó.

Gracias,
Midai
  #3 (permalink)  
Antiguo 07/06/2006, 00:30
 
Fecha de Ingreso: abril-2006
Mensajes: 66
Antigüedad: 11 años, 8 meses
Puntos: 0
Se sigue viendo porque si miras el codigo dice:
this.createEmptyMovieClip("contenedor",1);
que traducida seria algo como
esto.crarUnMovieClipVacio("contenedor",1)
Conclusion: El loadMovie (cargarPelicula) lo esta haciendo en un MovieClip vacio de nombre contenedor que esta ARRIBA de lo que vos tenias ahi tirado... Sino queres que te lo tire arriba, y queres que reemplaze lo que esta abajo la solucion es algo como:
on (release) {
this.loadMovie("pag.swf");
this.onEnterFrame = function() {
if (this.getBytesLoaded() != 0 && this.getBytesLoaded() == this.getBytesTotal()) {
this.gotoAndPlay("P3");//va al frame P3
delete this.onEnterFrame;
}
};
}
:D
Por ultimo: NO USES ESCENAS! el dia que quieras agregar programacion a esto se te va a complicar la vida, ya que no podes pasar variables de una escena a la otra.
Suerte!
  #4 (permalink)  
Antiguo 07/06/2006, 06:39
Avatar de Midai  
Fecha de Ingreso: febrero-2005
Ubicación: Madrid - España
Mensajes: 134
Antigüedad: 12 años, 10 meses
Puntos: 1
Gracias, Ch1qui:

Con tu solución desaparece la película principal y sólo muestra el swf al que llamo con el botón. Peeero, sigue apareciendo el color de fondo de de la película principal y estropea los efectos de la película que se carga. Además, con tu solución aparece el swf desde la primera escena, fotograma 1, en vez de ir a una escena en concreto.

Eso de no utilizar escenas lo estoy aprendiendo desde hace un tiempo. Pero yo empecé con mi manual de Flash y así aprendí a hacer películas: las que tengo hechas desde el principio tienen esa estructura en escenas.

No me va a quedar más remedio que llamar con el botón a una nueva página htm que contenga la swf que quiero cargar, para que no me mantenga el color de fondo de la película original.

Saludos,
Midai
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 07:42.