per capire quando il nostro MovieClip è disegnato effettivamente sulla stage: Como ya hemos visto varias veces en el constructor de una clase que extiende MovieClip puede ser necesario añadir el evento ADDED_TO_STAGE entender cuando nuestra MovieClip está dibujado en el escenario:
Artículos con la etiqueta "MovieClip"
Truco muy corto: ADDED_TO_STAGE
ActionScript 3.0: MovieClip MovieClip más
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):

Flash ActionScript concurso: herramienta de borrar
Lo del estado actual: no se gana nada! Aparte de la soberbia - si algo - que han resuelto el problema.
QUEST - APLICACIÓN
Cómo crear una herramienta para borrar, suprimir, borrar, una "porción" de la API de gráficos diseñados con ActionScript 3.0?
, espongono la proprietà graphics , un puntatore ad un altro oggetto che “serve” tutte le funzioni grafiche di disegno runtime. Con ActionScript 3.0 Algunos de los objetos visuales, como MovieClip o Shape , presentan la característica graphics , un puntero a otro objeto que "sirve" todas las funciones de diseño gráfico en tiempo de ejecución. Por ejemplo, usted puede desarrollar una aplicación de dibujo simple. , in modo semplice e rapido. Este objeto graphics puede dibujar lo que quieras, por ejemplo, un objeto de Shape fácil y rápida. El problema es que algo una vez que se extrae se puede limpiar todo, pero una sola parte.
Dibuja una línea es fácil:
1 2 3 4 5 6 |
Dibujado algo que usted puede limpiar todo con el simple llamada a clear() :
1 | . clear ( ) ; . myShape gráficos claros ().; |
Pero si quiero "eliminar" un solo punto? O las coordenadas de 50,50 a 100.100?
Buscando en Internet encontré varios ejemplos de "aplicaciones de diseño" y, de hecho, no ofrece ningún soporte o herramienta de "eliminar".
¿Tiene alguna solución?
ActionScript 3.0, todos con el nuevo operador
. De nuevo en el "uniforme", como sucedió con los eventos (ver el manejo de eventos nuevos de Flash CS3 y Flash CS3: La gestión de eventos nuevos ), una de las nuevas características de ActionScript 3.0 es la desaparición de todos los métodos ad hoc dedicado a la creación de objetos especiales, como por ejemplo: createEmptyMovieClip() o el famoso attachMovie() . Con ActionScript 3.0 el operador new es suficiente para realizar todas las operaciones de construcción. Un nuevo clip de película, por ejemplo, se crea (en tiempo de ejecución) con el siguiente código:
1 2 |
Pero vamos! Si quiero un símbolo de la biblioteca y agregarlo como un tiempo de ejecución pasa si attachMovie() se ha ido? La solución no es muy diferente de lo que pasó en ActionScript 2.0. En primer lugar tienes que ir a la biblioteca, seleccione el símbolo y abra la ventana Propiedades. En este punto, comprobar la exportación para la conexión en el cuadro de ActionScript - como lo hicieron en Flash 8. Una biblioteca de símbolos como una clase base siempre ha flash.display.MovieClip , pero esto no nos interesa mucho. Lo interesante, sin embargo, es la clase de parámetro que se establece por defecto (cuando se registre la exportación de ActionScript) con el nombre del símbolo. Lo que es importante destacar es que este es un nuevo modo de Flash CS3 (y ActionScript 3.0). El símbolo que se exporta debe tener una referencia de clase. La curiosidad es que no estamos necesariamente obligados a crear nuestra propia clase (se extendió desde flash.display.MovieClip ), incluso si pudiéramos hacerlo.
10 razones para actualizar a Adobe Flash CS3
Para algunos desarrolladores sólo tienen que saber que hay una nueva versión de su paquete de desarrollo preferido para correr y comprar la actualización. Otros, con razón, más tranquilo y mantener una "mentira" para conocer la mejoría real en la nueva versión antes de cambiar sus hábitos. En el caso de Adobe Flash CS3 no hay mucho que esperar, teniendo en cuenta los muchos cambios que el paquete ha sufrido desde Macromedia fue adquirida por Adobe.
Aquí, entonces, 10 razones simples, pero importantes, que, en mi opinión personal, lo suficiente como para convencer a la actualización a Adobe Flash CS3 . Me centraré, por supuesto, sólo en las cosas que me llamó la atención personalmente, esto no pretende ser una lista exhaustiva de todas las muchas innovaciones introducidas por la suite CS3, sólo una mosca para anticipar algunas de las características de CS3.
1. Instalación
La instalación es muy agradable y rápido, en comparación con versiones anteriores. Incluye, entre otras cosas, con todos los productos de Adobe (Dreamweaver CS3, Photoshop CS3 Extended, etc ...) que hace que la instalación / desinstalación y actualización de un verdadero placer.
2. Compatibilidad con versiones anteriores
Un tema a menudo pasado por alto, pero siempre se tiene en cuenta en la historia de Flash: La capacidad de gestionar las versiones anteriores del producto. En Flash CS3 tiene todas las herramientas para manipular es migrar a las versiones anteriores de nuestras películas. Nos encontramos con esta posibilidad en la depuración (depuración de un aparte de ActionScript 2.0 y ActionScript 3.0) se encuentra en proceso de completar la película. Escribir ahora aplicaciones de ActionScript 3.0 de Flash podría ser contraproducente en ciertos contextos. Si su sitio de destino tiene un alto tráfico es posible que muchos usuarios aún no ha instalado la última versión de Flash Player para su navegador y luego no volvería a ver la película. Sin embargo, como se señaló anteriormente, Flash CS3 le permite desarrollar aplicaciones Flash de compatibilidad mantendedo y por lo tanto no veo esto como un producto de gran nell'upgrade ostocalo.
3. GUI y del IDE

El IDE de Flash CS3 (como Dreamweaver CS3) se ha revisado para mejorar. Los paneles (ver foto izquierda), a menudo incómodo en las versiones anteriores, han sido completamente rediseñado y ahora su uso es mucho menos invasiva.
Además, la capacidad de minimizar los paneles (ver figura a la derecha) se encuentra que hace que una interfaz real atractivo y funcional. Cuando un panel está en modo de icono ocupa mucho menos espacio y con un simple clic puede abrir el panel principal en primer lugar siempre visible.
Todos los IDE, en definitiva, ha sido revisada y la zona central con la ventana de edición y el código gráfico. No se señalan todos los cambios o si vas a arruinar la sorpresa ...

Crear modal MovieClip TopMost
di Flash. Ilustran una técnica para crear símbolos (MovieClip) componentes modales para ser utilizado de manera similar a la Alert y la Window de Flash Player. El objetivo es mostrar un clip de película por encima de todos, desactivar - y - el acceso a la base y cualquier otro presente objeto / componente. Para ser honesto he conseguido que al hacer un poco de ingeniería inversa del código de Adobe, que está en el claro! De hecho, me resistía ![]()
El artefizio que se utiliza para desactivar todas las interfaces actuales por debajo de nuestro clip de película, es crear un clip de película transparente de tomar toda el área del escenario. a false . En este clip de película, que será visible prácticamente no quede un método de "vacío" en el evento onRelease , teniendo cuidado de establecer el useHandCursor de false .
Primero de todo, crear una película con cualquier interfaz en el escenario principal:

Agregar propiedades de un clip de película
En el post de extender MovieClip en Flash MX tenía una idea de extender un clip de película. En particular, me dijo que el uso de MovieClip.prototype no permite la extensión de sus métodos, pero sólo:
[...] Dos importantes limitaciones de esta técnica son:
- No se puede aplicar a todos los objetos expuestos en Flash
- Pueden ser ", agregó" sólo los métodos y propiedades no [...]
De hecho, es posible, con un paso adicional, incluso cuando se utiliza de forma dinámica las propiedades añadir MovieClip.prototype . , infatti, Flash permetteva l'aggiunta di proprietà (in lettura/scrittura o solo lettura) tramite il metodo addProperty() . Antes de la introducción de la function get y function set , de hecho, permite la adición de las propiedades de Flash (lectura / escritura o sólo lectura) a través de la addProperty() . En la práctica esto se traduce en la invocación del método addProperty() y la definición de dos captadores y definidores. El armador puede ser null con el fin de crear propiedad de sólo lectura. Por ejemplo si quisiéramos extender MovieClip con todas las propiedades nuevas _alpha puede agregar animación, acaba de escribir el siguiente código:
1 2 3 4 5 6 7 | : Number { función _get_alpha (): Número { this . _alpha ) ; retorno (this. _alpha); } v : Number ) : Void { _set_alpha función (v: Número ): Void { this , "_alpha" , Strong . easeOut , this . _alpha , v , 1 , true ) ; nueva Tween (this, "_alpha", easeOut fuerte, este _alpha, v, 1, es verdad..); } prototype . addProperty ( "_alpha_tween" , _get_alpha , _set_alpha ) ; MovieClip .. addProperty prototipo ("_alpha_tween" _get_alpha, _set_alpha); |
A partir de ahora, si tenemos un símbolo "miosimbolo_mc" Podemos aprovechar esta nueva propiedad:
1 | ; miosimbolo_mc _alpha_tween = 50.; |
. ¿Qué se puede hacer en su lugar, es sobrescribir las propiedades existentes, por lo que he usado _alpha_tween lugar de _alpha . Aquí, entonces, una buena razón para seguir utilizando la versión 2.0 de clases para ampliar - y el resultado - cualquier MovieClip.
Flash: cómo inicializar componentes en el constructor de una clase
Cuando estent una clase de un clip de película que contiene otros objetos (MovieClip, TextField, etc ...) no puede ser "listo" en el constructor. Esto sucede especialmente cuando se utilizan componentes MovieClip otros o ampliado (controles) de Flash. Para resolver el problema sólo tiene que utilizar el evento onLoad heredado de la clase misma. Por ejemplo, imagine que tiene un clip de película que contiene un TextField (interna objeto estático visual en Flash) y un objeto TextInput (inserta los componentes del panel de control) y desea establecer una propiedad en el constructor de nuestra clase MyClass.
Creamos un símbolo e insertar en el interior del objeto TextField (llamémosle text_txt) es el objeto TextInput (textinput_txt). Asociamos este símbolo para una clase que amplía MovieClip, llame a nuestra clase MyClass. Lo que tenemos es que durante el constructor de nuestra clase MyClass estos dos controles se inicializan. Si tratamos de usar un código como este:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | / / controls . TextInput ; importación mx controles TextInput..; / / MovieClip { clase MyClass se extiende MovieClip { / / text_txt : TextField ; privado text_txt var: TextField ; textinput_txt : TextInput ; privado textinput_txt var: TextInput; / / MyClass function () { "MiaClasse::costruttore" ) ; trace ("MyClass:: constructor"); / / = "Ciao" ; . text_txt text = "Hola"; = "Ciao" ; . textinput_txt text = "Hola"; / / } } |
Flash y la reutilización de código: componentes y bibliotecas compartidas
En vista de la programación orientada a objetos se producen de forma natural componentes para su reutilización en otros proyectos, sobre todo si estos componentes son de uso general. El uso de las clases es, sin duda un primer paso en la reutilización de código, sin embargo, a menudo estas clases están vinculadas a MovieClip también muy compleja. Así surge la necesidad de "importar" es la clase de ActionScript (que es muy fácil), sino también todos los símbolos asociados a ella.
Creación de componentes en Flash
Este camino es ciertamente el más correcto desde un punto de vista estrictamente lógico. Sin embargo, al menos en la versión de Flash MX, crear un componente que es al menos cerca de las previstas en el entorno de desarrollo no es poca cosa. ) e la scrittura estremamente accurata della classe legata al nostro componente. Los miembros, de hecho, sobre todo visual, requiere toda una serie de procedimientos (como la inclusión de interfaces UIObject o UIComponent ) y clase de escritura de alta precisión en relación con nuestro componente. Pero el hecho es que la creación de un componente es una experiencia interesante que hacer, pero el tiempo de desarrollo es verdaderamente notable. También como un componente debe ser compatible con el modo en designtime o autor-¿Qué más ofrecen una vista previa de lo que sucederá en tiempo de ejecución. Se puede asociar un icono y la documentación puede ser perfectamente integrado en el IDE de Flash, con intellisense al escribir código. Así que aquí usted elige este camino implica un gasto considerable de tiempo, probablemente reservado para proyectos especiales donde, por ejemplo, el componente es precisamente el objetivo del proyecto.
Hay casa de software especializada en la producción de componentes para Flash, ya que ambos productos gratuitos y de pago. Excluyendo los componentes de manera muy simple, como cuando no hay ninguna interfaz de usuario, este método es muy bueno pero caro y temporalemte tan poco utilizado en la mayoría de los casos.
Escribir buen código orientado a objetos en Adobe Flash
Estos son algunos consejos sobre cómo escribir un buen código orientado a objetos (OO) en Adobe Flash, especialmente para aquellos que siguen utilizando la versión MX de espera para ir a CS3.
Organizar las carpetas de las clases
En primer lugar, la organización de las clases hace que el trabajo mucho más fácil el mantenimiento del código. También puede crear una biblioteca real se puede reutilizar en otros proyectos. Flash utiliza una clasificación relacionada con el sistema de archivos, y luego organizarlos en carpetas también se verá reflejado en la importación de clases. Por ejemplo, si creamos la secuencia de las carpetas "MyLibrary / gráficos / parcela" e insertar nuestra propia clase de ActionScript "PlotClass.as", cuando deberíamos usar para importar la clase:
1 | grafica . plot . PlotClass ; . importaciones MyLibrary gráficos trama PlotClass..; |
Si la biblioteca (carpeta) "MyLibrary" no está en la carpeta de película o proyecto, utilice el flash la configuración de publicación para seleccionar la ruta:







Últimos Comentarios
José : Consejo, si desea restaurar todas las miniaturas plugin de pulgares Regenerar
José : ¡Gracias! Guía muy interesante.
Giovambattista Fazioli : actualización: WordPress ha actualizado la documentación de esta función.
Giovambattista Fazioli : @ iLeW: por supuesto, ver aquí
iLeW : No es que usted podría tener un último ejemplo de la utilización de los delegados? Aquí se limitan a ...