09/09/2007, 03:35
|
| | | Fecha de Ingreso: enero-2003 Ubicación: Argentina
Mensajes: 180
Antigüedad: 21 años, 9 meses Puntos: 0 | |
Re: Pregunta (absurda?) sobre esta precarga Si no querés que salga la precarga cada vez que entres, entonces no tenés que evitar el caché sino ABUSAR descdamente de el!!! :P
De todas maneras, si querés evitar el caché lo mejor que podés hacer es pasar variables (cuales quiera, no importa en realidad) a la URL de lo que estás cargando y de esa forma Flash interpretará que es una URL distinta (o bien una nueva versión) y no leera desde el caché sino desde 0 otra vez.
La mejor opción para hacer esto es crearse un objeto Date y a usar una URL similar a esto...
loadMovie("mi_url.swf?var_1=" + fecha.getSeconds() + "var_2=" + fecha.getMillieSeconds() ....... etc etc etc
Y listo...te evitas el caché ;)
(excepto una vez al año, que todas las variables pueden llegar a coincidir y levantar desde el caché :P )
El tema de las profundidades puede llegar a ser MUUUUUUUUY engorroso, por lo cual yo siempre recomiendo organizar el código por capas de la misma manera que lo organizarías en el timeline, de manera que siempre uses el .getNextHighestDepth() y como primero haces las llamadas de lo que debería quedar "más abajo" entonces se organiza correctamente siempre.
En el caso de que no puedas hacer esto y necesites incrustar un objeto por el medio, entonces lo que te recomiendo es en el timeline meter un MC vacío con un nombre tipo "profundidad_deseada" (o lo que más te guste), entonces cuando haces la carga del nuevo objeto simplemente llamas al nuevo_objeto.swapDepths(profundidad_deseada);
Si después por el motivo que fuera vas a descargar ese objeto, entonces lo vuelves a llamar para que profundidad_deseada recupere, justamente, la profundidad deseada de manera que en la próxima incrustación te queden bien las profundidades al llamar al .swapDepths otra vez (sino, "recuperas" la profundidad de ese MC vacio entonces este quedaría con la profundidad que haya tenido la primera incrustada, osea que la segunda iría a parar a cualquier lado, muy probablemente arriba de todo)
PS: lo del caché es en serio eh!. Si REALMENTE querés evitar las precargas, entonces lo mejor que podés hacer es cachear, y eso sucede por default asique ni te preocupes. En el caso de que quieras optimizar las cargas, entonces en los tiempos "muertos" de tu película podrías ir cargando los demás archivos, de manera que se vayan cacheando por ejemlpo mientras el usuario mira una intro que ya se terminó de cargar, podrías tirar algo así...
pre_cache.loadMovie("index.swf",this.getNextHighes tDepth(),{_alpha:0});
pre_cache.onLoad = function(){removeMovieClip(this)}
y listo, aprovechas los tiempos "muertos" de navegación para ir cargando los demás archivos...
Por cierto, esto es una técnica SUMAMENTE util cuando hay mucho streaming y cosas por el estilo
__________________ Just because I rock doesn't mean I'm stone |