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

preloader de peli externa this???

Estas en el tema de preloader de peli externa this??? en el foro de Flash y Actionscript en Foros del Web. he visto este mismo tema en muchos posts, pero creanme que ninguno soluciono mi problema y les aseguro que encontre muchos. el problema esta en ...
  #1 (permalink)  
Antiguo 10/06/2005, 02:12
xus
 
Fecha de Ingreso: enero-2004
Mensajes: 23
Antigüedad: 13 años, 10 meses
Puntos: 0
preloader de peli externa this???

he visto este mismo tema en muchos posts, pero creanme que ninguno soluciono mi problema y les aseguro que encontre muchos.

el problema esta en la forma de obtener los bytes totales y cargados que tradicionalmente se obtiene con _root.

pensarán que no probé a utilizar las rutas relativas, pero también lo hice, de forma que ahora, al incluir la pelicula externa obtengo los totales de la pelicula cargada con this a cambio de _root.

la cuestion es que no sé si realiza correctamente la precarga, a continuacion la pelicula funciona ok.

sencillamente no sé si el simulador de descarga de flash funciona en la pelicula principal, y no en las peliculas que va cargando y que llevan otro preloader incorporado, o estoy haciendo algo mal.

por cierto, la forma con que dirijo al punto de inicio de la pelicula cargada una vez hecha la precarga es

_parent.gotoAndPlay("inicio");

aunque supongo que también debería funcionar con

this.gotoAndPlay("inicio"); ó
mcontenedor.gotoAndPlay("inicio");

gracias a [email protected] !
  #2 (permalink)  
Antiguo 10/06/2005, 02:33
 
Fecha de Ingreso: mayo-2005
Ubicación: Lima
Mensajes: 160
Antigüedad: 12 años, 6 meses
Puntos: 0
Si usas el:
_parent.gotoAndPlay("inicio");
ó
this.gotoAndPlay("inicio");
En el mismo lugar o contexto, no vas a obtener de ninguna forma lo mismo.

Si tienes un swf cargado (como movieClip) en el AS que pongas en él: this harà referencia a su propia linea de tiempo (del movieclip), mientras que _parent (_o root) hará referencia a la línea principal (la que lo cargó)
  #3 (permalink)  
Antiguo 10/06/2005, 03:23
xus
 
Fecha de Ingreso: enero-2004
Mensajes: 23
Antigüedad: 13 años, 10 meses
Puntos: 0
gracias por tu respuesta

confundí la dirección con que trabaja _parent. ( pense que la linea de tiempo superior era la peli cargada en vez de la principal )

aun así, ya probé con this que es lo lógico: this.gotoAndPlay("inicio"); y tampoco funciona.

A alguien se le ocurre algo ?
  #4 (permalink)  
Antiguo 10/06/2005, 04:52
 
Fecha de Ingreso: mayo-2005
Ubicación: Lima
Mensajes: 160
Antigüedad: 12 años, 6 meses
Puntos: 0
Sería bueno si aclararas en donde estas colocando cada uno de los ASs que dices, para poder saber si realmente estan puestos correctamente.

Sobre el simulador de carga del flash, tal cual viene puede no ayudara (sobre todo con archivo pequeños y considerando que los archivo son locales) crea un profile de conexion más lenta (100bytes/s por ejemplo) y asegurate que este activado el simulador en el menu ver.
  #5 (permalink)  
Antiguo 11/06/2005, 06:10
 
Fecha de Ingreso: mayo-2005
Ubicación: Lima
Mensajes: 160
Antigüedad: 12 años, 6 meses
Puntos: 0
Cita:
Iniciado por xus
...
onClipEvent (load) {
b_total =this.getBytesTotal();
}
onClipEvent (enterFrame) {
b_loaded =this.getBytesLoaded();
if (b_loaded>=b_total) {
_parent.gotoAndPlay("inicio");
} else {
...
...Justo aquí deberia usar this. o _level1. (aunque por todo lo que he leido parece más recomendable no usar una ruta absoluta...
...
El loader que tienes en peliB.swf es un movieclip o está directamente en la linea principal de peliB.swf? (el que funcione con _parent y no con this me hace suponer lo primero)

Lo siguiente es considerando que el loader es un mc en peliB.swf:

this.getBytesTotal(); esta referido al propio loader no a peliB.swf
usa _parent.getBytesTotal(); para referirte a peliB.swf
igual para getBytesLoaded()

if(b_loaded>=b_total) aunque funciona tal cual está, mejor usa
if(b_loaded==b_total) razón: dificil =) que alguna vez b_loaded sea mayor a b_total, pero repito, tal cual está funciona y no debe producir errores.

_parent.gotoAndPlay("inicio"); está bien, considerando que el loader es un mc y que en la línea de pelib.swf hay un frame con la etiqueta "inicio".

La razon por la que no funcionaba (aparentemente) es por que al tener this el cargador controlaba su propia carga ("cargador de si mismo") y como el cargador no demora nada en cargar no se mostraba y saltaba a "inicio" por eso digo que "aparentemente" no funcionaba.

Ahora si el cargador esta en la linea principal (la otra opción) la solución es poner this en cada lugar donde dije que pusieras _parent.......

Aclaración sobre _level1 que mencionaste, el primer swf que se carga en el FlashPlayer se carga siempre en el _level0 todos los swf cargados con LoadMovie desde el swf en _level0 se cargan en el mismo _level0, solo si se usa loadMovieNum("swf",n) se cargan en el nivel indicado en n.

El uso de rutas absolutas o relativas, depende de lo que necesites, uno no es mejor que el otro (en mi opinión) yo prefiero usar absolutas siempre que no sean necesarias las relativas.

Última edición por NoZilop; 11/06/2005 a las 06:27
  #6 (permalink)  
Antiguo 13/06/2005, 00:53
xus
 
Fecha de Ingreso: enero-2004
Mensajes: 23
Antigüedad: 13 años, 10 meses
Puntos: 0
NoZilop, tienes toda la razón del mundo. Era imposible explicarlo mejor.

Olvidé que convirtiendo el preloader en mc habia que calcular el peso de la pelicula un nivel más abajo.

Solo decir que flash SÍ que simula los preloader de las peliculas que va llamando, que era algo que todavía no sabía. O_o

Muchísimas gracias por tu atención, has sido muy reamable.
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 13:13.