Acción Tutorial Script 3 - 006


En continuación con el tutorial (001 - 002 - 003 - 004 - 005)

3.2.2. Eliminar EventListeners?

El eventListener's son muy útiles como se ha visto, pero al mismo tiempo puede estar causando problemas, y que la sobrecarga. Del Swf fin, vamos a ver en el caso de querer a mí sólo que el botón de disparar sólo haga clic en el caso de una vez . En el caso se ha explicado anteriormente el fuego siempre el caso de botón y haga clic en el mouse por encima de todo el tiempo. Del Swf ha abierto, entonces, si nuestra meta es sólo para aprender la primera vez que el botón es pulsado, dejando el código en la parte superior producir un Mala objetivo, ya que se ejecutará cuando el usuario hace clic en el botón. Aquí entra en el de la removeListner, es decir, si queremos que el botón de disparar una sola vez la función asociada con el caso de que haga clic en eliminar este eventListner por lo que nuestra meta es completa (sólo llamar a la función una vez) y para que se haga lo siguiente, usando la función anterior:

  meuBotao1.addEventListener (MouseEvent.CLICK, botao_evento); 
   { botao_evento private function (evt: MouseEvent): void ( 
  switch (evt.type) ( 
  MouseEvent.CLICK caso: 
  MeuBotao1.move (btn.x 5, btn.y +5); 
  / / Hemos completado el objetivo, una vez que quite el eventListner: 
  meuBotao1.removeEventListener (MouseEvent.CLICK, botao_evento); 
  break; 
  ) 

Esta vez, la función botao_evento sólo ser llamado por eventListener ya que una vez eliminado su eventListener:

  meuBotao1.removeEventListener (MouseEvent.CLICK, botao_evento); 

(addEventListener) incluindo a função a ele associada ( botao_click ), já que podem existir várias funções associadas ao mesmo eventListner: removeEventListener que tenemos sólo para cumplir con una norma, el evento de ser retirados tendrán que ser exactamente igual (MouseEvent.CLICK) que se añade a (addEventListener), incluida la función asociada (botao_click), ya que puede haber varias funciones asociadas con el mismo eventListner:

meuBotao1.removeEventListener (MouseEvent.CLICK, botao_evento);

Nota:

Recolector de basura:

Como su nombre lo indica, tradujo la carta, es una reconhedor basura, es un mecanismo para el flash player tiene que, durante la ejecución, el swf inspeccionar regularmente y eliminar elementos, objetos y referencias no se utiliza o olvidados por el programador.

En general, los acontecimientos no se inspeccionan o eliminado por recolector de basura en esta colección, ya que el programador debe tener el buen sentido para eliminarlos, pero si el juez de salida, probablemente olvidar uno u otro caso oyente, y por lo tanto una buena práctica que marca su Caso de oyentes que vayan a ser inspeccionados por el recolector de basura y eliminado si es necesario, para hacerlo en el momento de la creación de su evento oyente debe tener en cuenta algunos parámetros más (de los cuales sólo uno es el más importante).

Estoy hablando de un argumento (useWeakReference) indica que el recolector de basura para inspeccionar y eliminar si no es exacta, este argumento es el número 5 en la lista de argumentos de la addEventListener:

  =0, addEventListener (tipo: String, Lištná: Función, useCapture: Boolean = false, la prioridad: int = 0, 
  useWeakReference: Boolean = false) 

Estos 3 parámetros a ser más oscuras son opcionales, explicando:

useCapture: Sirve para "observar" el "camino de la manifestación" hasta que se disparó en su "objetivo" objeto. Por defecto, el falso, y por lo tanto, se debe dejar al menos casi siempre.

prioridad: Se utiliza para establecer la prioridad de este evento, donde hay muchos eventos relacionados con el tema. Por defecto a 0, casi siempre se utilizan bien.

useWeakReference: El más importante de los 3, que como una cuestión de buenas prácticas deben considerarse como verdaderos utilizar este parámetro indica que el recolector de basura para eliminar, si es fuera de lugar.

El uso de esta opción no es una alternativa a removeEventListener y no deben utilizarse como tales (utilizar siempre la removeEventListener), sino que debe utilizarse como una cuestión de práctica, por lo que ante nuestros oyentes caso debe utilizar el pase:

  ); meuBotao1.addEventListener (MouseEvent.CLICK, botao_evento, false, 0, true); 
  ); meuBotao1.addEventListener (MouseEvent.MOUSE_OVER, botao_evento, false, 0, true); 
  ); meuBotao1.addEventListener (MouseEvent.MOUSE_OUT, botao_evento, false, 0, true); 

Si usted comienza a ganar esta costumbre, apenas tiene problemas con la memoria eventListener, incluso si usted se olvida de quitar, porque después de todo, habla muy mal del sistema para la limpieza de la basura a partir de la versión de Flash Player, pero muchos de estos problemas demuestran los malos hábitos de la programación, por lo que es altamente aconsejable que siga las mejores prácticas para la programación tanto en la secuencia de comandos de acción como cualquier otro lenguaje de programación.

Hay algunos puntos en los que deberíamos tener especialmente en cuenta durante el desarrollo de una animación o aplicación, pero vamos a hablar de más tarde.

En cuanto a trabajar con eventos, de base ya las cosas son habladas por, podemos utilizar los eventos a casi todo, y durante su desarrollo y aprendizaje en la programación con bastante seguro de que se van a encontrar muchas aplicaciones prácticas de los acontecimientos y la forma en que puede convertirse en casi indispensable.

En la siguiente parte se habla de algo muy importante en la nueva versión de Acción de Script (3), que difiere bastante una presentación gráfica de nuestros elementos pulg Del Swf final, estoy hablando de la pantalla Lista.

Continuación ...

Un abrazo.

ccommons

http://creativecommons.org/licenses/by-nc-nd/3.0/deed.pt

la versión en formato pdf disponible temporalmente.
Dejar un comentario o una licencia Trackback

6 Comentarios

  1. 8 de junio de 2008 a horas 11:29 am | Permalink

    Mario podría hablar de TBM xml
    :)

  2. Jullierme Barros
    8 de junio de 2008 a horas 12:14 pm | Permalink

    Hola Mario ... Trabajo en Goiania y que aprobará el flex ... el orden es el aprendizaje de secuencias de comandos de acción y es muy fácil con su ayuda :) Felicitaciones y gracias por las contribuciones, todos somos un ojo en su puestos!

  3. 9 de junio de 2008 a 6:39 am | Permalink

    Michel, usted habla de xml en primer lugar para explicar la estructura de las obras así como XML, objetos y elementos de la cadena por delante ... ... tómese su tiempo :)

    Tengo que empezar lentamente que los que no entienden mucho de AS3 se pierde fácilmente y en lugar de simplemente explicar complicado ...

    Julierme Barros.
    A pesar de que está ayudando a :)

    ¿Es fácil ser acompañar a los tutoriales? o tienen que abrabndar el ritmo un poco y explicar los pasos? Para empezar es fácil ser justo?

    Espero más comentarios.
    Abrazar.

  4. Jullierme Barros
    9 de junio de 2008 a horas 11:09 am | Permalink

    Sí usted está muy tranquila .... Somo los programadores de Java y es (hasta ahora) una maravillosa Hehe

    I como el motor de arranque en el AS BLZ Creo que el ritmo y explicaciones.

    Gracias y continuar con actualiza periódicamente :) son grandes!

    Abrazar!

  5. Marcelo Borges
    25 de agosto de 2008 a horas 12:09 pm | Permalink

    Hola
    Me ha gustado mucho de la Oficina de AS3, pero estoy teniendo dificultades para encontrar todas las partes de la Oficina para que pueda llegar a la final.
    Usted me puede enviar los enlaces a todos?
    Gracias!

  6. 25 de agosto de 2008 a 2:24 pm | Permalink

    Marcelo bien, los tutoriales (11 acciones por ahora) se han recopilado en un libro-e:
    véase:
    http://msdevstudio.com/blog/2008/06/30/tutorial-action-script-3-parte-io-livro/

    abrazar.

Un Trackback

  1. [...] En la continuación con el tutorial (001 - 002 - 003 - 004 - 005 - 006) [...]

Déjanos tu comentario

Su dirección de correo electrónico nunca es publicado o compartido. Los campos obligatorios están marcados con un *