Categoría 'Flash'
Para completar, en relación con la pintura Flash CS3: efectos de la matriz de matrices quiero hacer hincapié en que la Matrix no es necesario que el comportamiento se indica en el post anterior. De hecho vemos en el ejemplo siguiente:
El código es un poco diferente de la anterior, es el siguiente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| / * ** Código Actionscript 2.0 * / . MouseEvent ; flash.events de importación. MouseEvent ; . Matrix ; importaciones flash.geom. Matrix ; / / Bandera para detectar la mousedown Boolean = false ; var md: Boolean = false; / / Crear un frente de la pizarra Sprite = new Sprite ( ) ; var lvg1: Sprite = new Sprite (); . lineStyle ( 0 , 0xffffff ) ; . lvg1 gráficos lineStyle (0, 0xFFFFFF).; . beginFill ( 0x666666 ) ; .. lvg1 gráficos beginFill (0x666666); . drawRect ( 0 , 0 , 199 , 199 ) ; .. lvg1 gráficos drawRect (0, 0, 199, 199); . endFill ( ) ; lvg1 gráficos endFill ()..; lvg1 ) ; addChild (lvg1); = lvg1 . y = 30 ; lvg1 lvg1 x =. y = 30.; / / Crear la tabla inclinada Sprite = new Sprite ( ) ; var lvg2: Sprite = new Sprite (); . lineStyle ( 0 , 0xffffff ) ; . lvg2 gráficos lineStyle (0, 0xFFFFFF).; . beginFill ( 0x666666 ) ; .. lvg2 gráficos beginFill (0x666666); . drawRect ( 0 , 0 , 199 , 199 ) ; .. lvg2 gráficos drawRect (0, 0, 199, 199); . endFill ( ) ; lvg2 gráficos endFill ()..; = 400 ; lvg2 x = 400.; = lvg1 . y ; lvg2 y = lvg1 y..; = 45 ; . lvg2 rotación = 45; = lvg2 . scaleY = . 6 ; lvg2 scaleX scaleY lvg2 =. 6..; lvg2 ) ; addChild (lvg2); / / / Evento / Pintura ( MouseEvent . MOUSE_DOWN , _onMouseDown ) ; . lvg1 addEventListener ( MouseEvent MOUSE_DOWN, _onMouseDown.); ( MouseEvent . MOUSE_MOVE , _onMouseMove ) ; . lvg1 addEventListener ( MouseEvent MOUSE_MOVE, _onMouseMove.); ( MouseEvent . MOUSE_UP , _onMouseUp ) ; . lvg1 addEventListener ( MouseEvent MOUSE_UP, _onMouseUp.); / / e : MouseEvent ) : void { función _onMouseDown (e: MouseEvent ): void { "_onMouseDown" ) ; trace ("_onMouseDown"); : uint = 0xffffff ; var c: uint = 0xFFFFFF; . graphics . lineStyle ( 10 , c , 1 ) ; ... y el objetivo de gráficos lineStyle (10, c, 1); . lineStyle ( 10 , c , 1 ) ; .. lvg2 gráficos lineStyle (10, c, 1); . graphics . moveTo ( e . localX , e . localY ) ; .. y el objetivo de gráficos moveTo (and. localX y localY)..; . moveTo ( e . localX , e . localY ) ; .. lvg2 gráficos moveTo (and. localX y localY.); md = true; } / / e : MouseEvent ) : void { md = false ; } _onMouseUp función (e: MouseEvent ): void {md = false;} / / e : MouseEvent ) : void { _onMouseMove función (e: MouseEvent ): void { "_onMouseMove" ) ; trace ("_onMouseMove"); md ) { if (md) { . graphics . lineTo ( e . localX , e . localY ) ; . y el objetivo de gráficos lineTo (and. localX y localY)...; . lineTo ( e . localX , e . localY ) ; .. lvg2 gráficos lineTo (and. localX y localY.); } } |
En este caso, las líneas 22 y 25 muestran que incluso con una simple rotación y el efecto de desplazamiento se repite.
Continuación ...
Jugando con el objeto potente y versátil Matrix (matriz), ligado a los cambios, se pueden hacer cosas extrañas. Estas herramientas se utilizan para aplicar transformaciones especiales a un objeto visual, como un Sprite. Puede, por ejemplo, escalar, rotar o girar (inclinación) un Sprite. e rotation ), per l'effetto Skew bisogna ricorrere direttamente alle matrici. Mientras las dos primeras funciones (escala y rotación) los objetos Sprite (no sólo) Poner a disposición directa de las propiedades ( scaleX / scaleY y rotation ), el efecto de sesgo debe apelar directamente a las matrices. Lo que me gustaría destacar aquí es que cuando se modifica un objeto gráfico todas sus coordenadas internas se mueven:
Continuación ...
Algunos, con razón, discutir acerca de la AIR de Adobe, Adobe Integrated Runtime (antes Apollo) ofrecido por Adobe. ¿De qué estamos hablando? Después de todo el aire sigue siendo una beta ( la última versión es 12/12/2007 - Beta 3 ) y su éxito, vamos a ver si la inclusión o no, depende de muchos factores.
Continuación ...
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
| Shape = new Shape ( ) ; myShape var: Forma = new forma (); myShape ) ; addChild (myShape); / / . lineStyle ( 2 , 0xff0000 , 1 ) ; .. myShape gráficos lineStyle (2, 0xFF0000, 1); . moveTo ( 0 , 0 ) ; .. myShape gráficos moveTo (0, 0); . lineTo ( 100 , 100 ) ; .. myShape gráficos lineTo (100, 100); |
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?
Continuación ...
Yahoo! acaba de lanzar el ASTRA , una suite de componentes para Flash y Flex . Debo decir que, al menos para los componentes de Flash, que tenía media una decepción (si no total). Lo más interesante, quizás, es el TabBar ... el resto deja mucho que desear. Buscan algunos componentes desarrollado su proyecto - interno - y ahora lanzado como producto abierto! Tal vez, en Yahoo!, ya estamos alineados con las políticas de ... Microsoft vio que en la actualidad la compañía de software fundada por Bill ha ofrecido 44600 millones de dólares para comprar Yahoo!! 44,6 mil millones, no he escrito mal!
Pero hacer un viaje en el sitio web donde puedes encontrar varios recursos útiles. Confiamos en el futuro cercano.
Continuación ...
. 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:
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.
Continuación ...
Me di cuenta de la confusión a menudo cuando se trata de clases, objetos e instancias. Los que no son muy educados en la programación orientada a objetos a menudo se confunde el verdadero significado de estos términos. Sabía, sin embargo, que hay dos escuelas de pensamiento acerca de la definición de clases y objetos. Me gusta la "escuela" que indica la definición de clase como sujeto posible, y por lo tanto, como una instancia del objeto.
Parece trivial, pero he I - hablar con los demás - a estar en "conflicto" (por así decirlo) y luego caer en la confusión, cuando se utilizan estos términos, a partir de la suposición de que en todo caso el "otro" del mismo modo que ellos pretenden .
Yo lo veo de esta manera, una clase es una definición! Es precisamente define una clase de objetos posibles. La clase es el conjunto de métodos y propiedades (si quieres también podemos añadir eventos - ¿qué otra cosa ... no sólo que los métodos especiales) que será el propietario del objeto.
Por ejemplo, cuando escribimos en Actionscript, o cualquier otro lenguaje orientado a objetos:
1 2 3 4
| class MiClase { MiaClass función () {} miMetodo function () {} } |
Hemos definido una clase y no un objeto. En el límite que tenemos ", definido" a "posible" objeto. Incluso, podría argumentar, con razón, que el objeto existe en tiempo de ejecución, mientras que la clase no (en realidad no son clases dinámicas que se pueden definir - y luego se utiliza para crear objetos - incluso en tiempo de ejecución). Excluir a las clases estáticas, por supuesto, que - al final - no son más que sub-casos (o instancias ocultas) y luego los objetos reales.
Pero cuando se tiene:
1
| MiaClasse = new MiaClasse ( ) ; var myObject: MiClase = new MyClass (); |
! Aquí mioOggetto es una instancia de MiaClasse() ! . Que mioOggetto es un tema - de hecho - de tipo MiaClasse() .
. Como resultado de ello, su filosofía a los objetos, los objetos de tipo MiaClasse() que puede tener tanto como yo quiero, que no puede ser - la definición misma - de MiaClasse() . Por ejemplo, si el informe es cierto y tiene sentido:
1 2 3 4 5
| MiaClasse = new MiaClasse ( ) ; var mioOggetto_1: MiClase = new MyClass (); MiaClasse = new MiaClasse ( ) ; var mioOggetto_2: MiClase = new MyClass (); MiaClasse = new MiaClasse ( ) ; var mioOggetto_3: MiClase = new MyClass (); ... MiaClasse = new MiaClasse ( ) ; var mioOggetto_n: MiClase = new MyClass (); |
No tiene ningún sentido:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class MiClase { MiaClass función () {} MioMetodo_2 function () {} }
class MiClase { MiaClass función () {} MioMetodo_2 function () {} }
class MiClase { MiaClass función () {} MioMetodo_3 function () {} } |
Instancia de objeto y, por tanto, coinciden y se utilizan alternativamente para el mismo significado en diferentes contextos.
Probablemente a nadie le importa ... no mucho la cuestión de la integridad de los requisitos ... 
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 ...
Google ha API - Javascript - para poner sus mapas en cualquier sitio web se disputaban la forma de hacer lo mismo con Flash.!
Partimos de un componente gratuito, UMAP (Universal ActionScript 3.0 Asignación de API - Integración con Google Maps), desarrollado por AFComponents , una empresa verticalmente organizadas de componentes para Flash / Flex realmente interesante y asequible. En el sitio, donde es necesario registrarse para tomar ventaja de las descargas gratuitas, también hay versiones de UMAP para ActionScript 2.0: MAP G Ver.2.6.1 . En este caso vamos a analizar la versión 0.4 Beta UMAP para ActionScript 3.0 (dentro del paquete hay también un componente de Flex). Que vamos a ver es - obviamente - una versión beta y carece, por lo tanto, algunas características en la versión de ActionScript 2.0 ( G Ver.2.6.1 MAPA ). Sin embargo, el vigilante en el futuro, parece más interesante centrar la atención en esta versión, he probado las dos y, a pesar de la liberación de los más completo para ActionScript 2.0, ActionScript 3.0 versión beta es mucho más potente.
Continuación ...
Santa Querido Adobe,
a pesar de que ya ha recibido dos parches para Flash CS3 (versión 9.0.2), algunos problemas en su uso han aparecido como todo el software en el mundo, especialmente en este comunicado que ha sufrido cambios muy numerosos.
- El editor de "ActionScript, por ejemplo, es lento y desigual! Tenga en cuenta, querido Padre Adobe, mi coche tiene 8Gbyte de RAM y un dúo de Intel de cuatro núcleos!
- Durante el formateo automático, líneas de código como el de abajo, están "mal entendido" y formatear el mal:
1
| ( MouseEvent . CLICK , function ( e ) { myfunc ( ) ; } ) ; mybtn. addEventListener ( MouseEvent . Haga clic en la función (e) {mi_funcion ();}); |
Adición de llaves donde debe estar:
1 2
| ( MouseEvent . CLICK , function ( e ) { myfunc ( ) ; } ) ; mybtn. addEventListener ( MouseEvent . Haga clic en la función (e) {mi_funcion ();}); // < -- chi te l'ha detto?! } / / <- ¿Quién te dijo? |
Así que es mejor usar la siguiente sintaxis:
- La agenda de Windows, por lo menos en la implementación de Windows Vista, de vez en cuando desaparecen en otros paneles ... La ventana de ayuda, la orientación en una palabra, crea un problema cuando se intenta un proyecto. Esta última, de hecho, desaparece detrás de los otros paneles ... misterio! Sin embargo, este defecto, como otros, no siempre es reproducible.
- Los componentes tienen un comportamiento extraño: a veces se muestran, en tiempo de diseño, como rectángulos blancos ... sin dejar de operar en tiempo de ejecución!

- El 'anterprima scale9Grid, como se indica en la documentación nueva y ser capaz de mostrar los objetos de tamaño correctamente en tiempo de diseño, sigue siendo afectado por los mismos problemas que la versión anterior! ¡Qué lástima!

Sin embargo, la Navidad es mejor ... tan querida de Santa Adobe, esperamos que las futuras actualizaciones.
Continuación ...
Últimos Comentarios
Robert : Yo rispsoto sus preguntas con mucho gusto. La idea es realmente genial. Estoy buscando una solución ...
Sting : @ Darius - se puede ver un ejemplo aquí: http://www.fight4fun.it/ clic en: MAPS espero ...
vik : Giustappunto estoy trabajando en un proyecto y el cliente me pidió que le mostrará todas las noticias (que son CPT) en ...
Giovambattista Fazioli : @ Paso: Por supuesto. Simplemente identificar el campo [ICC] entrada [/ cci] desea ...
Paso : Hola me gustaría solicitar un servicio, puede utilizar el selector de fechas con cform7 I spiegp lo mejor que puedo poner en práctica ...