Bueno, yo es que personalmente lo hago de otra forma...
Es una idea by Manu (TM)
(El copyright / copyleft es de él)
Todo lo que dependa del tiempo, te creas una clasecita que sea tu
"relog" o tu "contador"; en esa clase implementas que se mida el tiempo como
te de la gana (con onEnterFrame o con setInterval), y después, las clases /
objetos que necesites que se refresquen con el tiempo, las suscribes a tu
clase "relog". Y solo tienes un timer para todo el sistema....
Y si, en este caso concreto, lo más efectivo es un MovieClipLoader,
que ya tiene sus propios eventos para las responsabilidades que se le piden.
Pero normalmente cuándo se utiliza un onEnterFrame o bien un
setInterval, es para animar mediante actionscript; vamos, yo creo que es en
lo que más se usa.... (En un scroller, en un reescalado, etc etc). Y ahí si
que es interesante el redibujado por cada onEnterFrame; y si lo ves muy
"petado" cada onenterframe, pues te vas a tu "relog" y le dices que emita un
evento cada 2 frames.. O cada 3... Como veas que te va mejor (Lógicamente
hasta se podrían crear un par de relojes a velocidades diferentes).
Y con el planteamiento así, yo creo que es mucho mejor utilizar un
onEnterFrame, que al fin y al cabo flash lleva su propia línea de tiempo
incorporada, con lo cuál tiene que estar produciendo eventos onenterframe
por narices.. Que no lanzar un setInterval, que lanza una llamada a la
función, la deja en la pila, al cabo de n milisegundos la llama, y vuelve a
dejar en la pila de llamadas otra copia de si misma... (Debería de hacer
algo similar al menos...)
Saludos.
> -----Mensaje original-----
> De: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] En nombre de Fede Rivas
> Enviado el: jueves, 26 de enero de 2006 17:55
> Para: [email protected]
> Asunto: Re: [ASNativos] clase tontuna
>
> Yo pienso =, en cualquier caso, no usaria ni uno ni otro, usaria
> MovieClipLoader, pero puestos a elegir, setInterval permite como bien
> comenta evolve "elegir" el intervalo de chequeo, con uno de
> 500ms sobra.
>
> En comparacion en una movie a 25fps con interval a 0.5 tendriamos 2
> "chequeos" por segundo, con enterFrame tendriamos 12 .....La
> verdad no se
> exactamente "que" consume mas micro, pero prefiero 2 chequeos a 12...
>
> ! A Hari le mola el enterFrame ! xDDDDD
>
> Salu2!!!
>
> Fede.
>
>
> El 26/1/06 17:40, "EvolvE" <[EMAIL PROTECTED]> escribió:
>
> > Pues el onEnterFrame se refresca cada 50 milisengundos
> aprox. si usas
> > una fps de 20. Y no creo que te interese tener una
> informacion sobre la
> > carga cada 50 milisengundos. Con 200 o 300 milisengundos de
> refresco vas
> > que chutas. Eso se llama malgastar CPU. Por eso mejor el
> setInterval *en
> > este caso*, y siemrpe que lo pongas a mas de 50
> milisegundos, of course.
> >
> >
> > Hari Seldon escribió:
> >
> >> ¿¿Qué un onEnterFrame consume menos recursos que un setInterval???
> >>
> >> ¿Dónde hay una comparativa de performance que diga eso??
> >>
> >> Más que nada, porque el onEnterFrame depende de la
> máquina, va a los
> >> fps que vaya el player, el setInterval sin embargo
> intentará siempre
> >> ajustarse al tiempo que le marcas; con lo cuál en teoría
> consume más micro..
> >>
> >> Pero bueno, si hay alguién que tenga argumentos para decir lo
> >> contrario, yo me retracto encantado...
> >>
> >> Un saludo.
> >>
> >>
> >>
> >>> -----Mensaje original-----
> >>> De: [EMAIL PROTECTED]
> >>> [mailto:[EMAIL PROTECTED] En nombre de Fede Rivas
> >>> Enviado el: jueves, 26 de enero de 2006 16:01
> >>> Para: [email protected]
> >>> Asunto: Re: [ASNativos] clase tontuna
> >>>
> >>> Buenasss. Hechale un ojo a la clase MovieClipLoader, para lo
> >>> que necesitas
> >>> te vendrá mucho mejor, y evitaras tener que usar el enterFrame.
> >>> En cualquier caso, si decides no usar MovieClipLoader, al
> menos usa un
> >>> setInterval en vez de un enterFrame, podras controlar asi la
> >>> velocidad de
> >>> refresco de tu loader y consumirá menos recursos dentro de lo
> >>> que cabe, y
> >>> crealo dentro del ámbito de tu clase, de manera que no tengas
> >>> que usar el
> >>> _root para nada, te evitará problemas .
> >>>
> >>> Tanto _root como en enterFrame son cosas del diablo, como ya
> >>> se ha comentao
> >>> otras veces.... XD
> >>>
> >>> Salu2!
> >>>
> >>> Fede.
> >>>
> >>> El 26/1/06 13:56, "Alfredo Laguia Laborda"
> <[EMAIL PROTECTED]>
> >>> escribió:
> >>>
> >>>
> >>>
> >>>> Hola a todos
> >>>>
> >>>> tengo esta clase chorra para precargar unos clipes y
> >>>>
> >>>>
> >>> resulta que no me deletea
> >>>
> >>>
> >>>> el enterFrame cuando completa la carga. como vereís tengo
> >>>>
> >>>>
> >>> el delete comentado
> >>>
> >>>
> >>>> si lo dejo "on" no me hace ni puto caso
> >>>> a ver si me podeis decir que tengo mal que mi especial
> >>>>
> >>>>
> >>> tontuna de hoy no me
> >>>
> >>>
> >>>> deja verlo
> >>>>
> >>>> muchas gracias de antemanos
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> **********************************************************************
> >>>
> >>>
> >>>> class Precargador{
> >>>> static var datosCargados:Number;
> >>>> static var datosTotales:Number;
> >>>> static var progreso:Number;
> >>>> static var container:MovieClip;
> >>>> static var clipo:String
> >>>> static var destino:MovieClip;
> >>>> static var objeto:String
> >>>> static var completado:Number = 100
> >>>>
> >>>> public function Precargador(container,clipo){
> >>>> precarga(container,clipo)
> >>>> }
> >>>>
> >>>> static function precarga(destino,objeto){
> >>>> destino.loadMovie(objeto)
> >>>> _root.onEnterFrame = function(){
> >>>> datosCargados = destino.getBytesLoaded()
> >>>> datosTotales = destino.getBytesTotal()
> >>>> progreso = Math.round((datosCargados*100)/datosTotales);
> >>>> if(progreso == completado){
> >>>> //delete _root.onEnterFrame
> >>>> trace("he cargado!")
> >>>> }
> >>>> else{
> >>>> trace(progreso)
> >>>> }
> >>>> }
> >>>> muestroContenedor()
> >>>> }
> >>>>
> >>>> static function muestroContenedor(){
> >>>> trace("ahora pongo visible el contendor")
> >>>> }
> >>>>
> >>>> }
> >>>>
> >>>>
> >>>>
> >>>>
> >>> **************************************************************
> >>> **********
> >>>
> >>>
> >>>> ----------------------------------
> >>>> Lista ASNativos:[email protected]
> >>>> http://www.5dms.com/listas
> >>>> ----------------------------------
> >>>>
> >>>>
> >>>>
> >>> ----------------------------------
> >>> Lista ASNativos:[email protected]
> >>> http://www.5dms.com/listas
> >>> ----------------------------------
> >>>
> >>> __________ Información de NOD32 1.1380 (20060125) __________
> >>>
> >>> Este mensaje ha sido analizado con NOD32 antivirus system
> >>> http://www.nod32.com
> >>>
> >>>
> >>>
> >>>
> >>
> >> ----------------------------------
> >> Lista ASNativos:[email protected]
> >> http://www.5dms.com/listas
> >> ----------------------------------
> >>
> >>
> >>
> >>
> >>
> >
> > ----------------------------------
> > Lista ASNativos:[email protected]
> > http://www.5dms.com/listas
> > ----------------------------------
> >
>
>
> ----------------------------------
> Lista ASNativos:[email protected]
> http://www.5dms.com/listas
> ----------------------------------
>
> __________ Información de NOD32 1.1381 (20060126) __________
>
> Este mensaje ha sido analizado con NOD32 antivirus system
> http://www.nod32.com
>
>
----------------------------------
Lista ASNativos:[email protected]
http://www.5dms.com/listas
----------------------------------