Es un tema algo abstracto pero muy muy potente. Consiste en definir la posici�n del rat�n con un n�mero y crear filtros sobre elementos (representados num�ricamente tambi�n). Ayer estuve hablando con Hari del tema, es posible que ya tenga alg�n c�digo visible.
La posici�n del rat�n la representamos con un n�mero de 27 bits (o de m�s, pero en principio con 27 es m�s que suficiente): 000 | 000 000 000 000 | 000 000 000 000 ^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ a b c Este n�mero (que es del tipo Number, l�gicamente) representar�a la posici�n del rat�n y el estado del rat�n en ese momento. Este valor se actualiza con onMouseMove o cuando cambia el estado del rat�n (con un listener global). Los valores de a, b y c son los siguientes: a = estado del rat�n (8 posibles estados) b,c = posici�n x e y del rat�n respectivamente (da una precisi�n de 4096x4096 p�xeles enteros) De la misma forma, representamos el sistema l�quido con n�meros (que definen posici�n, alto, ancho, estado, etc.). Posiblemente necesitemos m�s de 32 bits para almacenar los datos, con lo que podemos (debemos) crear n�meros pareados 1-1 y almacenarlos en un par de Arrays. Luego se filtra uno de estos arrays --por ejemplo el que contiene los n�meros que definen el men� seleccionado-- y luego se aplica otro filtro sobre esa selecci�n en el otro Array (que est� pareado) de forma que un�vocamente obtengamos un �nico elemento (num�rico). Todo el sistema de filtrado se har�a con operaciones de bit (3 comparaciones sobre 20.000 elementos de 32bits tardan en mi CPU ~170ms) que son extremadamente r�pidos por la naturaleza del procesador. Ese elemento num�rico podemos luego vincularlo a un objeto m�s complejo, que contenga la referencia al MovieClip de la vista, almacene el texto, etc. El acceso a estos objetos se har�a de forma �nica y directa y *si y solo si* ha cambiado el estado del rat�n respecto al estado del objeto. Los 8 estados con los que contamos no tienen por qu� ser exclusivamente estados del rat�n, pueden definirse estados dependiendo de pulsaciones de teclas, estado de la aplicaci�n o whatever. HTH, M. > -----Mensaje original----- > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] En nombre de Joseba Alonso > Enviado el: viernes, 13 de mayo de 2005 12:00 > Para: [email protected] > Asunto: RE: [ASNativos] Men� pull-down + Sistema "Zero Energy" > > Jodo, Manu, no te sigo, puedes concretar un poco? Como > sabrias sobre que elemento se esta haciendo click? > > Joseba Alonso > www.5dms.com > www.sidedev.net > > -----Mensaje original----- > > De: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] En > > nombre de Manuel de la Higuera Enviado el: jueves, 12 de > mayo de 2005 > > 21:37 > > Para: [email protected] > > Asunto: RE: [ASNativos] Men� pull-down + Sistema "Zero Energy" > > > > He seguido vuestro hilo y creo que se le podr�a dar un cambio > > (radical) de perspectiva. En primer lugar, descartar�a el uso de > > hitTest por motivos de rendimiento y cuestionar�a el uso de eventos > > --locales-- de rat�n porque puede presentar problemas (es un bug > > conocido que hay eventos de rat�n que se ven "eclipsados" > por otros). > > > > Dado que se trata de un sistema l�quido, creo que es interesante > > plantear la cuesti�n utilizando exclusivamente n�meros: una clase > > intermedia que gestione qu� elemento se asocia a qu� > posici�n (que a > > su vez depende directamente del controlador del men�). El > rendimiento > > se ver�a mejorado considerablemente haciendo tambi�n un sistema de > > selecciones y, desde el punto del modelo, no se necesitar�a > m�s que un > > int�rprete del sistema (o no, depende de c�mo sea). > > > > As� tambi�n conseguir�as la compatibilidad con un sistema > de n-niveles > > sin forzar la m�quina y permitir�as cambiar de sistema de > navegaci�n > > (click- up, rollover-click, etc.). > > > > �2 c�ntimos? :D > > > > M. > > > > > > > > > -----Mensaje original----- > > > De: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] En nombre de Joseba Alonso > > > Enviado el: jueves, 12 de mayo de 2005 16:59 > > > Para: [email protected] > > > Asunto: RE: [ASNativos] Men� pull-down + Sistema "Zero Energy" > > > > > > > Necesito hacer el rollover tambi�n de los botones de > > > segundo nivel, > > > > con lo cu�l tengo que usar o un onMouseMove o un > > > onEnterFrame, ya que > > > > el onRollOver lo tiene asignado el bot�n (MC) de nivel 1 > > > que contiene > > > > a estos botones (MCs) de nivel 2; �dices que el onMouseMove > > > carga m�s > > > > la m�quina que el onEnterFrame? Porque si es as�, entonces me > > > > quedo con el onEnterFrame... > > > > > > No entiendo porque el onRollOver te va a impedir usar el > onMouseUp... > > > > > > > > > > > Por otro lado, �hasta que punto es "eficiente" el > > > hitTest? Vamos, si > > > > es m�s r�pido y eficiente que calcular yo a pelo si est� o > > > no est� el > > > > puntero del mouse encima de mi MC, con algo como esto > por ejemplo: > > > > > > > > > > Eso ya no lo se, la verdad, pero creo que seria mas rapido el > > > hitTest al tratarse de codigo nativo. C++ en el Flash > Player contra > > > codigo interpretado vamos. > > > > > > > > > > > Otra cosa, �el handler no se asocia �nicamente al MC > > > d�nde se define? > > > > Vamos, que si yo capturo el onMouseMove y el onPress en un MC > > > > determinado (como hago en ese cacho de c�digo, el this > > > ser�a referente > > > > a un MC determinado, no a la timeline principal), �no se supone > > > > que ese handler solo se va a activar cu�ndo estoy en ese MC? �Y > > > no cu�ndo > > > > no est� en ese MC? > > > > > > Si que se asocian a un clip, pero los eventos onMouseUp, > onMouseDown > > > y onMouseMove saltan independientemente de la posici�n > del raton e > > > independientemente de la posici�n del clip. Mientras que > onPress y > > > onRelease si que requieren que el raton este sobre del clip. > > > > > > > > > > Por que si chequea est� o no est� encima del MC, lo m�s > eficiente > > > > ser�a crear MC controladores "dummy" en la timeline > principal, y > > > > chequear varias cosas de un solo plumazo con ellos. > > > > > > En realidad creo que si, pero para controlar clicks es > infinitamente > > > mas comodo usar el onPress y onRelease por el tema del > scope cuando > > > salte el evento. Adem�s controlar en un solo handler lo > que se tiene > > > que hacer con un click a nivel de aplicaci�n seria > bastante complejo > > > e inficiente desde el punto de vista de la arquitectura. > > > > > > Espero haberte ayudado ;) > > > > > > Un saludo, > > > > > > Joseba > > > > > > ---------------------------------- > > > 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 > ---------------------------------- > ---------------------------------- Lista ASNativos:[email protected] http://www.5dms.com/listas ----------------------------------

