Comunidad de diseño web y desarrollo en internet online

Dudas Diagramación líquida

Citar            
MensajeEscrito el 18 Ago 2009 09:32 pm
Hola a todos, esoty haciendo una web y he puesto en práctica el tutorial que hay aquí en Cristalab de la Diagramación Liquida. Mi duda está en que en vez de centrar un movieclip, quiero cargar una película swf con load movie y que quede centrada, sea cuál sea el tamaño de la ventana del navegador. He estado probando y no hay maneras. A la vez quiero que ésta película swf que se tiene que cargar tenga un preloader externo a ella.

A ver si me he explicado bién y si hay alguna posible solución.

Saludos.

Por albernan

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 20 Ago 2009 12:45 pm
Saludos,

para poder obtener las medidas del swf que cargas externamente y usar un preloader independiente al swf en cuestión, debe usar loadClip en vez de loadMovie. loadClip te permite obtener el progreso de carga del swf además de las medidas de este.

Pongamoslo en práctica:

Código ActionScript :

// Creamos un clip donde se vaya a cargar el contenido:
var contenido:MovieClip = this.createEmptyMovieClip("contenido",this.getNextHighestDepth());

// a continuación creamos un MovieClipLoader, que es una clase que permite cargar tanto swf como imágenes:
var cargador:MovieClipLoader = new MovieClipLoader();
var cargadorListener:Object = new Object(); // cargadorListener es un objeto que escucha la progresión de carga del archivo que vamos a cargar
cargador.addListener(cargadorListener); // le añadimos el objeto que "escucha" al cargador:

cargadorListener.onLoadProgress = function (clip, cargado, total){ // Ecuchamos la progresión de carga, aquí actualizaremos el preloader
   var porcentaje:Number = Math.floor((100 * cargado) / total); // esto nos da el porcentaje que llevamos cargado
   trace(porcentaje) // en vez de trazar el resultado, puedes llamar una función que actualize el preloader, por ejemplo:
   actualizarPreloader(porcentaje);
}

cargadorListener.onLoadInit = function (clip){ // una vez cargado
      trace("Se ha cargado el swf")
      trace("els swf cargado mide: "+clip._width+" de ancho y "+clip._height+" de alto");
      clip._x = Stage.width/2 - clip._width/2; // centramos el clip horizontalmente
      clip._y = Stage.height/2 - clip._height/2; // centramos el clip verticalmente
      esconderPreloader(); // ahora podemos esconder el preloader.
     // Ten en cuenta que clip es lo mismo que el clip contenido
}

cargador.loadClip("url/delswf/que_vas_a_cargar.swf", contenido) // "url del swf" y movieClip donde se cargará el swf

Espero te sirva,
Saludos

Por kiwiki098

15 de clabLevel



 

safari
Citar            
MensajeEscrito el 24 Ago 2009 09:34 pm
Hola, ante todo gracias por tu respuesta, me va muy bien, aunque tengo otro problema, desde éste archivo swf1 que voy a cargar externamente tengo que cargar otro swf2 en un nivel superior y que tiene que aparecer dentro del swf1. He probado de la misma forma que me has enseñado pero no funciona, no carga el swf2 dentro del swf1, lo hace en otra posición independiente. ¿Sabes como se tiene que hacer?

saludos.

Por albernan

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Ago 2009 06:23 pm
En principio, si lo llamas desde el swf1, no deberias centrar el nuevo swf2, ya que swf1 ya está centrado. Por lo tanto estas lineas no te hacen falta:

clip._x = Stage.width/2 - clip._width/2; // centramos el clip horizontalmente
clip._y = Stage.height/2 - clip._height/2; // centramos el clip verticalmente

Si lo que necesitas es volver a centrar el swf1 una vez cargado el swf 2 debes modificar las dos lineas anteriores por:

clip._parent._x = Stage.width/2 - clip. _parent._width/2; // centramos el clip swf1 (que contiene swf2) horizontalmente
clip._parent._y = Stage.height/2 - clip _parent._height/2; // centramos el clip swf1 (que contiene swf2) verticalmente

el swf2, heredará la posición de swf1 ya que se encuentra dentro de éste.

Por kiwiki098

15 de clabLevel



 

safari

 

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