Incluso en el tutorial más simples que usted puede encontrar el uso de protocolos. Sin duda, va a pasar a muchos en su controlador para utilizar un protocolo, escribir, junto a la definición de la interfaz, una declaración similar a:
1 2 3
| UIViewController <uiwebviewdelegate> { @ Interface myViewController: {UIViewController <uiwebviewdelegate> ... } |
Continuación ...
Dos elementos que se solapan de la DOM HTML, a la vez sensible a un evento click , sufren el viejo problema de la propagación de eventos DEGI entre las capas de la propia DOM: la propagación de eventos llamada. Este comportamiento (que se encuentra también en otros entornos de desarrollo: Ver Actionscript 3.0: MovieClip MovieClip más ) es de por sí útil en muchos casos.
Continuación ...
En ActionScript 3.0 se debe utilizar addEventListener() para interceptar cualquier caso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| / ** * Dado un mc MovieClip, se establece eventos y controladores * / ( MouseEvent . CLICK , on_click ) ; . mc addEventListener ( MouseEvent CLICK, on_click.); ( MouseEvent . ROLL_OVER , on_roll_over ) ; . mc addEventListener ( MouseEvent ROLL_OVER, on_roll_over.); ( MouseEvent . ROLL_OUT , on_roll_out ) ; . mc addEventListener ( MouseEvent ROLL_OUT, on_roll_out.); / ** * Funciones de lanzador de los eventos mencionados * / e : MouseEvent ) : void { on_click función (e: MouseEvent ): void { / / Haga clic en } e : MouseEvent ) : void { on_roll_over función (e: MouseEvent ): void { / / Pase el cursor sobre } e : MouseEvent ) : void { on_roll_out función (e: MouseEvent ): void { / / Roll-out } |
Continuación ...
Sólo un desarrollador Flash / Actionscript se prepara para escribir una función similar a la descripción, los enfrentamientos de inmediato con el problema de la propagación de eventos entre los clips de película solapados. De hecho, si un clip de película (B) se superpone a un clip de película (A), que responde, por ejemplo, un evento MouseEvent.Mouse_OVER , situando en el MovieClip (B) ningún caso ser superior interceptado por el clip de película (A):

Continuación ...
Adobe se complace en invitarle a los actos de lanzamiento de la Adobe Creative Suite 4. Nos vemos en Roma y Milán 21 de octubre 30 de octubre. Para más detalles ir a la reunión mini-sitio dedicado CS4 eventos! Como un homenaje a todos los participantes camisetas CS4!
Voy a tratar de estar allí ... sobre todo para los T-shirt 
Continuación ...
Esta noche, a las 21:40, en directo con DJ Frank y Tessarolo Thomas ! Discutimos Current.TV y mucho más! No más sorpresas por delante! 
Continuación ...
Yo ya había hablado en Flash CS3: El manejo de eventos nuevos . Estaré de vuelta en las sublistas tema de la diferencia de este nuevo enfoque en comparación con versiones anteriores de ActionScript. Esquemáticamente tenemos una situación general de este tipo:

Cualquier objeto que soporta eventos, en última instancia, se expone el método addEventListener (). En la documentación, entre otras cosas, leemos:
¿Qué hay de nuevo para los detectores de eventos en ActionScript 3.0
[...] Para añadir detectores de eventos de ActionScript 2.0 se utiliza a veces addListener () y, a veces a addEventListener (), mientras que en ActionScript 3.0 mediante addEventListener () en todas las situaciones.
[..]
Gestión de eventos, entonces, está estandarizado a nivel de los oyentes reales. Todas las "características" de la escucha, de hecho, tienen la siguiente estructura:
1 2 3
| eventObject : EventType ) : void { eventResponse función (eventObject: EventType): void { / / Las acciones en respuesta a los eventos se definen aquí. } |
o una sua sottoclasse. EvenType es siempre un objeto de clase Event o una subclase. . Esto permite que para obtener más información específica para el caso particular, además de manejar las propiedades estándar, como target o currentTarget .
Una diferencia importante con las versiones anteriores de ActionScript, en relación con el oyente, es que:
En ActionScript 2.0, los detectores de eventos pueden ser funciones, métodos u objetos, mientras que en ActionScript 3.0, detectores de eventos pueden ser sólo las funciones o métodos.
En resumen, después de haber utilizado durante algún tiempo "a la estructura de eventos de versiones anteriores de Flash, debo decir que este nuevo enfoque es muy agradable. Es un poco "de que el desarrollo con ActionScript 3.0 y, después de una pequeña pérdida inicial (sólo para recuperar lo que se daba por sentado) ahora no puedo entender cómo podría yo soportar el" viejo "método de los acontecimientos de las versiones anteriores.
Continuación ...
Uno de los puntos fuertes de Adobe Flash se encuentra en la elección de la especificación de ECMAScript (ECMA-productos - E uropea omputer C A anufacturers SOCIACIÓN M) como el estándar de scripts ActionScript y JavaScript, de hecho, ambos derivan de un estándar más alto, ya que son muy similares.. Esta es una de las razones por las que muchos programadores de ActionScript se desarrollan muy fácilmente en JavaScript y viceversa.
ActionScript siempre ha tenido una gestión de "doble" de los acontecimientos que a menudo se ha confundido a algunos desarrolladores. En MovieClip, por ejemplo, puede configurar un evento simplemente declarando una función a las características del evento, por ejemplo:
Método 1
1 2 3
| ( ) { mio_mc. onRelease = function () { "Click sul MovieClip" ) ; trace ("Haga clic en el clip de película"); } |
Otros objetos, por el contrario, requieren un manejo diferente del evento que desea controlar, lo que requiere que el oyente clásico, un objeto diseñado para esta tarea. Por ejemplo, el objeto del ratón se puede controlar de esta manera:
Método 2
1 2 3 4 5
| Object = new Obejct ( ) ; Var MouseListener: Objeto = new Obejct (); ( ) { MouseListener. OnMouseMove = function () { "Mouse in moto" ) ; trace ("ratón en movimiento"); } addListener ( mouseListener ) ; Del ratón . addListener (MouseListener); |
Los componentes tienen otra variante, como el componente Loader:
Método 3
1 2 3 4 5
| Object = new Object ( ) ; loaderListener var: Objeto = new Objeto (); = function ( evt : Object ) { . loaderListener completa = function (evt: objeto ) { "Caricamento completato" ) ; trace ("Carga completada"); }; ( "complete" , loaderListener ) ; . myLoader_ldr addEventListener ("complete", loaderListener); |
¿Por qué estas diferencias? La razón, de hecho, es muy simple. Método 1, el más inmediato, se utiliza cuando el evento para "interceptar" es único, es decir, cuando no tiene ningún sentido de "tomar" una de varias funciones, después de todo " otros. Los métodos 2 y 3, sin embargo, crear las "listas" de "oyentes" y son muy útiles y de gran alcance, ya que permiten conectar un número prácticamente infinito de funciones a un evento en particular.
Lo mismo ocurre en JavaScript y se puede ver en las bibliotecas como un prototipo . La conveniente observar () método, disponible en el evento, le permite ajustar una función a un objeto de evento. Por ejemplo:
1
| window , 'load' , function ( ) { alert ( "Finestra caricata" ) ; } ) ; Evento. Observe (ventana, 'load', function () {alert ("Ventana de carga ");}); |
En este caso hemos unido nuestra función que muestra una alerta para el evento de carga del objeto ventana. , Sólo podríamos repetir la declaración y adjuntar evento adicional:
1 2
| window , 'load' , function ( ) { alert ( "Finestra caricata - 1" ) ; } ) ; Observe caso (ventana, 'load', function () {alert ("Ventana de carga - 1. ");}); window , 'load' , function ( ) { alert ( "Finestra caricata - 2" ) ; } ) ; Observe caso (ventana, 'load', function () {alert ("Ventana de carga - 2. ");}); |
Esta característica, también común en ActionScript, es muy versátil, sobre todo en JavaScript, es la clave para la creación de muchos "widgets" y extensiones (ver el clásico broche de presión ) que proliferan en la Web la posibilidad de etiquetar a lo largo, de hecho, , para los eventos que ya están controladas por otras funciones, puede ser no intrusiva (discreto) y luego, en la práctica, para añadir funciones a los ya existentes.
Continuación ...
Últimos Comentarios
Marcos : @ Marcos: Gracias por la respuesta. Por ejemplo, si usted tiene un código para guardar / utilizar la carpeta ...
Marcos : Gracias por la respuesta. Por ejemplo, si usted tiene un código para guardar / utilizar la carpeta ...
Giovambattista Fazioli : @ Marcos: en principio, absolutamente, mucho depende de cómo y por qué descargar. Luisiana ..
Marcos : Hola, buen guía! Quería preguntarle, usted puede usar el mismo código para ejecutar una base de datos sql? En lugar de ...
José : Hola quería preguntar cómo se puede hacer en el post que he subido una galería de 50 imágenes, por ejemplo, ...