Comunidad de diseño web y desarrollo en internet online

SWF en SWF

Citar            
MensajeEscrito el 17 Dic 2009 10:38 pm
Hola a TODOS:
Les cuento que llevo todo el día intentando de lograr que un archivo SWF llame a otro… tranquilos he leído los demás tutoriales y no soluciona mi problema.
Me explico:
Tengo un archivo que lo llamaremos index (es una imagen que utilizo de fondo de la web) este se carga en un HTML donde esta configurado la pantalla liquida (para que se habrá siembre del mismo tamaño o algo así).
En index.swf hay un code” loadmovienum” que llama a otra película SWF, llamada Home.swf, que sus dimensiones son menores. La idea es que se centre en este SWF (index)… (cosa que no he podido lograr) en estos momento lo que he realizado es que las propiedades del documento “sus dimensiones” sean las mismas que index.swf y la animación queda centrada.
Existe alguna manera de tener Home.swf (dimensiones 750X425) que lo llame index.swf (dimensiones 1162X587) y quede centrado??? No olvidar que en HTML esta todo el código para que la imagen esta en INDEX este siempre centrada y calce en todo los monitores.

Espero haber sido claro y que entiendan mi problema.
Saludos a todos y si desean les puedo mandar los archivo.
Gracias de antemano.

Por aktomahawk

2 de clabLevel



 

msie8
Citar            
MensajeEscrito el 18 Dic 2009 06:22 am
Lo que te convendrá hacer es usar loadMovie no loadMovieNum, ya que te será más fácil para reposicionar la pelicula. Lo que tienes que hacer es primero crear un contenedor para tu SWF y luego instanciarlo, digamos con un nombre como "container". Luego haces:

Código ActionScript :

container.loadMovie("pelicula.swf");


Eso traerá a tu escenario el SWF pero no posicionado, por lo cual tendrás que evaluar cual es el width y height de lo que has cargado para centrarlo en tu Stage, algo como:

Código ActionScript :

container._x = Stage.width/2 - container._width/2
container._y = Stage.heigth/2 - container._heigth/2;


El otro problema que afrontarás, es que no podrás inicialmente tomar los datos de altura y ancho de container, porque primero deberán cargar, sino solo devolverán 0. Para eso deberás crear un preloader, algo como esto:

Código ActionScript :

function preloader():Void{
    if(container.getBytesLoaded()/container.getBytesTotal()){
        clearInterval(id);
        container._x = Stage.width/2 - container._width/2
        container._y = Stage.heigth/2 - container._heigth/2;
    }
}

container.loadMovie("pelicula.swf");
id = setInterval(preloader,300);


Ten cuidado que este código esta escrito a modo orientativo directo en el foro, no ha sido validado y no se pretende como solución directa sino como una guía para resolver tu problema.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 09 Ene 2010 12:36 am
:( estimados, no me sale.
creo que no se explicarme bien.
si alguien es tan amable me puede escribir a : [email protected] y yo le mando los fla y swf para que vea que es lo que tengo.
intentare de explicar nuevamente:
tengo una web donde el index fondo imagen habre un swf (home), este home, tiene evidentemente tiene botones donde habre mas swf. mi problema es que todos calsan pero pierdo la imagen de fondo que es llamada por HTML en index.
favor escribanme. PLEASSE.

Esperando comentarios.
GRACIAS :lol:

Por aktomahawk

2 de clabLevel



 

msie8
Citar            
MensajeEscrito el 09 Ene 2010 03:18 am
Disculpame pero por ejemplo yo personalmente no abro .fla, eso sería ayudarte solo a tí, y no a los demás que a futuro puedan tener la tu misma duda.

Veamos... ¿Como estas cargando? Porque es imposible que por cargar cosas en el Flash se borren cosas del HTML

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 11 Ene 2010 04:48 pm
OK.
Veamos:

En Index, donde quiero que se cage la imagen de fondo para la pagina y esta se cuadre siempre en el monitor que sea tengo:
el siguiente codigo para llamar la imagen y se configure de tal forma.

Código ActionScript :

Stage.scaleMode = 'noScale';
Stage.align = 'TL';
// -- modificar tamaño
stageResize = function ():Void {
   holder._width = Stage.width;
   holder._height = Stage.height;
};
stageListener = new Object();
stageListener.onResize = stageResize;
Stage.addListener(stageListener);
// -- porcentaje de carga
this.createTextField("my_txt", 1, 0, 0, 300, 100);
my_txt.autoSize = true;
var my_fmt:TextFormat = new TextFormat();
my_fmt.color = 0x000000;
my_fmt.font = 'Arial';
my_fmt.size = 10;
my_txt.setNewTextFormat(my_fmt);
// -- cargar imagen de fondo
var my_listener:Object = new Object();
my_listener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void  {
   my_txt.text = 'Cargando ...  ' + Math.round(bytesLoaded / bytesTotal * 100) + ' %';
};
// --
my_listener.onLoadInit = function(target_mc:MovieClip) {
   my_txt.removeTextField();
   mcLoader.removeListener(my_listener);
   stageResize();
};
var holder:MovieClip = this.createEmptyMovieClip('holder_mc', this.getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(my_listener);
mcLoader.loadClip('images/bg01.jpg', holder);
loadMovieNum("home.swf",1); 


ademas en el Html tengo el siguiente codigo:

Código HTML :

body {
   margin-left: 0px;
   margin-top: 0px;
   margin-right: 0px;
   margin-bottom: 0px;
}

y el codigo para que lea el archivo index.swf.

asi logro tener una pagina de fondo con mi archivo HOME que tiene los menus, textos, videos, etc.
cada boton llama a las peliculas con load y un nivel:

BOTON EMPRESA

Código ActionScript :

on(release)
{
 loadMovieNum("empresa.swf", 0);
}


es aqui donde al abrir el archivo empresa.swf se pierde el fondo del html o del comienzo.

Por aktomahawk

2 de clabLevel



 

msie8
Citar            
MensajeEscrito el 12 Ene 2010 03:18 am
No tienes ni existe manera de "perder en el fondo". Lo que sí te digo es que estas cargando cosas de manera muy rara, pones el index.swf en el level 1 y luego empresa en el level 0 (El cual no es bueno reemplazar nunca salvo que sepas lo que haces y tengas un justificativo).

Prueba antes que nada solucionando el tema de levels que tienes.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 13 Ene 2010 05:52 pm
:lol: Mi hermano..... TODA LA RAZON
solucionado el problema de perder el fondo.

:cool: para los que les intereza : se soluciona cargando en nivel 0, 1, 2, etc etc los swf que tengo en la web.
para los que no entienden:
Index es = o
Home= 1
Botones de Home = 2
Y el problema resuelto.

Lo que si..... si index mide =1280 X 587 y los demas swf miden 266 X 81 COMO PUEDO LOGRAR que estos SWF queden en el centro de index ????? que es mas grande :?
En estos momentos lo que tengo es: todos los archivos miden 1280X587 y centro el cuadro en estos rangos.
existe alguna forma de cuadrarlos sin agrandar las dimenciones.
espero ser claro !!!! :oops:

Por aktomahawk

2 de clabLevel



 

msie8
Citar            
MensajeEscrito el 14 Ene 2010 03:03 am
No uses loadMovieNum, usa loadMovie y luego posiciona el clip en el centro del Stage como si fuera cualquier movie (._x y ._y)

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox

 

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