Recordemos el ejemplo de nuestro código de TicTacToe (que se encuentra en su totalidad en Google Code ) y comenzar a analizarla en detalle.
Importación de definiciones
Con ActionScript 3.0 ha hecho un gran trabajo de limpieza y clases de alojamiento nell'alberatura (contenidas en los paquetes, package ) que se utiliza durante el desarrollo. En otros lenguajes de programación, como C, por ejemplo, si desea utilizar una función de forma explícita que "la importación" en el código. Esta operación de "importación" es necesario para permitir al compilador para que todos los códigos y las definiciones relacionadas con las características que desea utilizar. ; Actionscript 3.0 mette a disposizione l'istruzione include che è identica all' #include del C/C++. En ActionScript 3.0, sin embargo, la educación import no se debe confundir con el equivalente a C / C + + #include , ActionScript 3.0 proporciona la educación include que es idéntico a ' #include en C / C + +. Esta última, de hecho, "incluye" el código real que, si se usa o no, se compila el ejecutable final. La declaración de import es el más alto nivel y es más "inteligente" en tiempo de compilación. Se utiliza principalmente para las clases de acceso, sin especificar su nombre completo. Es decir estabelcimien en lugar de utilizar la forma de:
1 |
Mediante la importación de la definición del paquete específico (o de la biblioteca, si lo prefiere), se obtiene la más simple y más fácil de leer:
1 2 3 |
En nuestro ejemplo, la declaración del paquete dentro de la clase, hemos tenido tres import :
1 2 3 | .*; importación flash.display .*; .*; flash.events importación .*; .*; importación flash.text .*; |
. La primera import pone a disposición de todas las clases y las definiciones en el paquete flash.display . Una alternativa sería sustituir el paquete completo a la importación (objetivo) definición de cada clase y el uso que, a saber:
1 2 3 4 5 | . DisplayObject ; flash.display importación. DisplayObject ; . MovieClip ; flash.display importación. MovieClip ; . Stage ; . flash.display importación Etapa ; . StageAlign ; flash.display importación. StageAlign ; . StageScaleMode ; flash.display importación. StageScaleMode ; |
Esta operación de "detalle" no es una necesidad para el resultado final. Si una clase importada no se utiliza en el guión, no es - inteligente - en el archivo SWF exportado.
Esto significa que usted puede importar grandes paquetes sin preocuparse por el tamaño del archivo SWF, código de bytes asociado con una clase se incluye en un archivo SWF únicamente si dicha clase se utiliza realmente.
La mayoría de los casos, si demasiado lejos con "asteriscos", es decir, con una sintaxis como flash.* , podemos tener una "luz" reducir la velocidad durante la compilación! En la "vida cotidiana", por lo tanto, puede utilizar la sintaxis que se utilizan con confianza en nuestro ejemplo.
Constante estática
Esta es otra característica interesante de ActionScript 3.0: constantes estáticas. En el ejemplo que he introducido alguna manera de ejemplo:
1 2 3 |
Es interesante notar que la misma secuencia se puede escribir como:
1 2 3 |
Dejando de lado estas "curiosidades" del Flash CS3, se dice que las variables estáticas o constantes se asocian a la clase y la instancia de la clase! Ver las clases, objetos e instancias . Esta es una diferencia importante, ya que en nuestro caso, si se escribe - por ejemplo:
1 2 | TicTacToe = new TicTacToe ( ) ; var ttt: TicTacToe TicTacToe = new (); ttt . AUTHOR ) ; // errore trace (AUTOR ttt.) / / error |
Esto generará un error. Esto se debe a las constantes y variables estáticas están directamente relacionados con la definición de la propia clase y no una instancia. La forma correcta es la siguiente:
1 | TicTacToe . AUTHOR ) ; // Giovambattista Fazioli <g.fazioli@undolog.com> trace (AUTOR TicTacToe.) / / Giovambattista Fazioli <g.fazioli@undolog.com> |
Las variables o constantes estáticas no el carácter de ser "instancia" en varias ocasiones. Se utilizan en situaciones en las que el valor almacenado (ya sea como una variable en forma de constantes) sigue siendo válida para todas las instancias de esa clase y luego se puede compartir con todos los "niños".
Variables y constantes
Es fácil ver la diferencia sustancial entre variable y constante, que es el nombre explica por sí mismo. Sin embargo, hay que explicarlo, porque acabamos de hablar. Una variable es un espacio para un dado (numérico, cadena, booleano, etc ...) que puede (y debe) cambiar su valor durante la ejecución de un código. A diferencia de las constantes son los espacios reservados para los datos que no cambian su valor durante la ejecución de un código: se mantienen constantes! Ver en el constantes y variables: cuál es la diferencia real? .
En ActionScript 3.0, como en otros idiomas, las constantes se puede configurar una sola vez durante o directamente después de la definición en el código:
1 2 3 4 5 6 7 8 9 10 11 | Ejemplo de clase { int = 0 ; COSTANTE_A pública const: int = 0; int ; Const COSTANTE_B público: int ; / / Constructor Esempio ( ) { Ejemplo de la función pública () { = COSTANTE_B 10; } } Esempio = new Esempio ( ) ; var la muestra: Ejemplo Ejemplo = new (); sample . COSTANTE_A ) ; // 0 trace (sample. COSTANTE_A) / / 0 sample . COSTANTE_B ) ; // 10 trace (sample. COSTANTE_B) / / 10 |
La próxima vez vamos a continuar con el análisis del código, y vamos a ver "tipos" dado, tema interesante e importante con el lanzamiento de ActionScript 3.0.










Sería mejor en Inglés. Esto simplemente no tiene sentido. No es muy fácil de leer de esta manera. Por favor escriba en Inglés, publicar en Inglés. O tener un traductor real que traducir.
(Causas de algún traductor de internet no es lo suficientemente bueno. Tengo un mal traducido al holandés sitio.)
@ NoCode:
Lo siento, pero sería demasiado caro para mí escribir en italiano y en Italiano!