Bloques de texto especiales. Macromedia Flash MX: primeros pasos


Materiales de conferencias, tareas y exámenes.
curso a distancia “Escuela Electrónica Macromedia Flash MX”
Periódico metodológico semanal ruso para profesores de informática. Editorial "Primero de Septiembre" No. 42 (2003)
“Un análogo del programa “Rule” del paquete “Hits of Robotland”
en el entorno Macromedia Flash."

Publicaciones impresas

MACROMEDIA ESCOLAR ELECTRÓNICA FLASH MX
III curso: Fundamentos de programación en Macromedia Flash MX
Módulo IV: El con Mando. Programa "Regla"
Lenguaje ActionScript

Plan de módulo exprés:
  • con comando
  • Duplicado flash del programa “Rule” del paquete “Hits of Robotland”.

con comando

Cuando se utilizan objetos en el código de un programa (script), es fácil notar que incluso en un pequeño bloque de script el nombre del mismo objeto se repite repetidamente. Estas repeticiones ocurren especialmente cuando se utilizan algunos objetos individuales, por ejemplo objetos. Matemáticas, perteneciente al nivel superior. Por ejemplo, el siguiente código es bastante común:

A = Matemáticas.PI * r * r; x = r * Math.cos(Math.PI); y = r * Math.sin(Math.PI/2);

Aquí está el objeto Matemáticas ocurre repetidamente, lo que hace que el guión sea difícil de entender. Esta entrada se puede simplificar enormemente si el bloque de secuencia de comandos se incluye entre paréntesis usando el comando with. Luego, dentro de este bloque de script, el intérprete de ActionScript accederá al objeto especificado. Ahora el código se puede reescribir de la siguiente manera:

Con (Matemáticas) ( a = PI * r * r; x = r * cos(PI); y = r * sin(PI/2); )

Echemos un vistazo al formato de comando general:

con (objeto) (
declaraciones);
}

objeto— una instancia de un objeto ActionScript o clip de película.

declaraciones)- un comando o grupo de comandos encerrados entre llaves.

Veamos otro ejemplo, en el que se utiliza el objeto. Clip de película llamado someOtherMovieClip:

Con (someOtherMovieClip) ( _x = 50; _y = 100; gotoAndStop(3); )

El siguiente extracto del script muestra cómo se puede escribir el ejemplo anterior sin utilizar el comando with:

AlgunaOtraClipDePelícula._x = 50; algúnOtroClipDePelícula._y = 100; someOtherMovieClip.gotoAndStop(3);

Es posible utilizar comandos anidados para acceder a información en muchas áreas contextuales.

Duplicado flash del programa "Pravilka" del paquete "Hits of Robotland"

Al programar los botones, utilizaremos activamente el operador de bifurcación: if y if else. También organizaremos el funcionamiento de un contador que suma puntos al usuario en caso de respuesta correcta y resta puntos en el caso de que, sin corregir un error o realizar correcciones incorrectas, el usuario presione el botón “Siguiente”.

Organizaremos el trabajo de un Clip de Película (premio), en el que se colocará el “Fondo de Premios”. Si el usuario consigue 10 puntos, su premio será una cesta de deliciosas frutas. Si el usuario tiene 9 u 8 puntos como premio recibirá un trozo de queso, si el usuario tiene “suerte” de sacar 6 o 7 puntos recibirá una calabaza, pero si saca 5 o menos de 5 puntos ¡Conseguirá un tomate!

Para aquellos a quienes les gusta una calificación de cinco puntos, traduzcamos lo anterior a un idioma accesible para la revista escolar:

Canasta de frutas - 5 ;
Pedazo de queso - 4 ;
Calabaza - 3 ;
Tomate - 2 .

Al acceder a Movie Clip usaremos el comando with.

Nuestra escena utilizará 11 fotogramas. Los primeros 10 cuadros serán “hojas de trabajo” en las que se colocarán frases con errores gramaticales (texto de entrada). Normalmente los campos de entrada se dejan en blanco, ¡pero en nuestro caso deberían funcionar! Cada hoja será programada con un campo dinámico. Si el usuario no corrige el error gramatical, se mostrará el texto: “¡No corrigiste el error!”

Este programa utiliza dos capas. La capa inferior es el fondo, contiene el texto estático "Programa correcto" y un símbolo gráfico con un sombrero.

Si absolutamente desea utilizar alguna fuente exótica instalada en su máquina en el programa para escribir el título, no olvide utilizar el procedimiento Separar del menú Modificar para este texto. En otras palabras, convertir texto en gráficos. ¡Y entonces tu texto no se convertirá en una palabrería en una máquina que no tiene esta fuente!

Ahora todo está en orden. Escribamos un guión para el cuadro 1:

Detener(); fscommand("mostrarmenú", "falso"); yo = 0;

Al reproducir un vídeo, debes desactivar el “Menú”. De esta forma no permitiremos que el usuario dé un “paso atrás”. Y también “encendemos” el mostrador.
Escribamos la acción para los cuadros 2-10:

Veamos cómo funcionan los botones usando el primer cuadro como ejemplo. Puede programar los botones restantes usted mismo.

En (liberación) ( if (t1=="White Chrysanthemum") ( i++; gotoAndPlay(2); ) else ( i--; z1 = "¡No solucionaste el error!"; ) )

Ahora formaremos el “Fondo de Premios”. Vamos a crear nuevo símbolo escriba un clip de película con su nombre premio en el que funcionarán 5 fotogramas. Escribiremos una promoción para todos los fotogramas del clip:

El primer fotograma del clip estará en blanco.

En el segundo cuadro colocaremos una canasta de frutas y le daremos una etiqueta al cuadro: cinco.
En el tercer cuadro colocaremos un trozo de queso y le asignaremos una etiqueta al cuadro: cuatro.
Coloquemos una calabaza en el cuarto cuadro y asignemos una etiqueta al cuadro: tres.
Coloquemos un tomate en el quinto cuadro y asignemos una etiqueta al cuadro: dos.

En este programa, toda esta “variedad de alimentos” fue importada de la colección ClipArt97 (archivos wmf). Sin embargo, puedes crear tu propio "Fondo de premios", todo depende únicamente de tu imaginación.

Volvamos al escenario y en el último fotograma 11 colocaremos el clip que creamos con los premios. No olvides deletrearlo en el escenario. Nombre de instancia: premio. Escribiremos un script para este marco que, analizando el contenido del contador, "le dará" un premio al usuario:

Detener(); sh = yo; con (_root.priz) (si (yo

Prueba el vídeo. Y si es necesario, depurarlo.

Para simplificar el proceso de prueba, cree un campo de texto dinámico en el último fotograma con el nombre sh y mostrar los datos del contador en este campo. Para hacer esto, agregue la segunda línea al script del undécimo cuadro:

Después de completar el proceso de depuración, elimine este campo y la línea que ingresó.

Tarea: Conceptos básicos de programación en Macromedia Flash MX

Oh, cuantos descubrimientos maravillosos tenemos.
Prepara el espíritu de iluminación.
Y la experiencia, hija de errores difíciles,
Y genio, amigo de las paradojas,
Y el azar, Dios inventor.
Alexander Sergeevich Pushkin, “Eugene Onegin”

Su tarea es crear un video que duplique el material presentado en esta conferencia. Puedes elegir las frases tú mismo.

Puede encontrar el material ilustrativo utilizado para formar el “fondo de premios” del vídeo en el archivo que acompaña al material de la conferencia. Este archivo contiene archivos en formato wmf. Si este premio acumulado no satisface tus necesidades, no dudes en ser creativo y utilizar tu propia biblioteca.

Envíe su tarea completa como un archivo en formato fla (si el tamaño del archivo excede los 150 KB, archive el archivo) y envíelo a su maestro.

¡Le deseo éxito en aprender Macromedia Flash MX por su cuenta!

Secciones en esta página:

Ahora hablemos del llamado bloques de texto especiales, es decir, sobre bloques de texto que realizan funciones especiales. Por el momento, sin embargo, no nos serán útiles, pero serán necesarios cuando empecemos a escribir programas en el entorno Flash (la programación está dedicada a parte IV este libro).

Campos de entrada

Campo de entrada - Se trata de una especie de pequeño editor de texto colocado en la ventana de un programa de Windows y diseñado para introducir texto de una o varias líneas. Al mismo tiempo, el propio Windows gestiona la entrada de texto: simplemente escribimos caracteres, usamos las teclas de flecha, , , selecciona el texto, usa el portapapeles, como en cualquier “grande” editor de texto. Los programadores de Microsoft han trabajado duro para hacer que los campos de entrada estándar de Windows sean realmente convenientes.

Para crear un campo de entrada en Flash, primero debe colocar un bloque de texto normal en su hoja de trabajo y seleccionarlo con la herramienta de flecha (no es necesario ingresar ningún texto en el bloque de texto). A continuación, busque en la esquina superior izquierda del panel. Propiedades una pequeña lista desplegable (ver Fig. 7.4) y seleccione el elemento en ella Texto de entrada. Si después de esto abrimos el bloque de texto resultante, veremos lo que se muestra en la Fig. 7.9.


Entonces ¿Qué vemos? Y vemos un conjunto completo de marcadores de cambio de tamaño (se guardarán incluso si cerramos el campo de entrada). Esto significa que también podemos cambiar el tamaño vertical del campo de entrada resultante. Y el marcador rectangular de la esquina superior derecha se moverá hacia la inferior derecha; esto es una señal de que tenemos un campo de entrada frente a nosotros.

Vista del panel Propiedades después de seleccionar el campo de entrada se muestra en la Fig. 7.10. Como vemos, aparecieron allí. elementos adicionales controles que deben ser considerados.


En primer lugar, justo debajo de la lista que acabamos de usar, apareció un campo en el que necesitaremos especificar un nombre único. Nombre, identificando el campo de entrada Flash que creamos. Cada campo de entrada creado en una hoja de trabajo debe tener un nombre único. Este nombre puede contener letras del alfabeto ruso y latino, números y guiones bajos, y debe comenzar con una letra o un guión bajo.

Debajo del campo de entrada de la tarea de seguimiento hay otra lista desplegable. Úselo para seleccionar el tipo de campo de entrada. Hay cuatro elementos disponibles en esta lista:

? Linea sola- regular campo de entrada de una sola línea;

? multilínea- campo de entrada multilínea(en otras palabras, el área de edición);

? Multilínea sin envoltura- un campo de entrada de varias líneas que no dividirá automáticamente una línea (aunque el usuario aún puede dividir una línea manualmente presionando la tecla );

? Contraseña- campo de entrada de contraseña. Similar a un campo de entrada normal de una sola línea, pero oculta el texto ingresado y muestra una cadena de asteriscos.

A la derecha de esta lista hay un conjunto de tres botones de cambio. El primero de ellos ya nos resulta familiar: permite al usuario seleccionar texto en el campo de entrada:


Como se puede observar en la Fig. 7.10, este botón está presionado y deshabilitado, es decir, no se puede deshabilitar.

El segundo botón de cambio, cuando está habilitado, indica a Flash que procese todas las etiquetas HTML encontradas en el texto:


Entonces, si encerramos un fragmento de texto en una etiqueta<В>.. , Flash lo resaltará en negrita. Si este botón está deshabilitado, Flash muestra el texto "tal cual", junto con las etiquetas HTML que se especifican allí.

En términos generales, esta característica sólo es útil si especificamos el contenido de un campo de entrada desde un script ActionScript, por lo que se describe aquí con anticipación. Información detallada de soporte etiquetas HTML Los campos de entrada y los bloques de texto dinámico se pueden encontrar en la ayuda en línea de Flash.

El tercer botón de alternancia, cuando está habilitado, hace que Flash muestre un borde alrededor del campo de entrada, haciéndolo parecerse a un campo de entrada estándar de Windows:


Si está deshabilitado, el campo de entrada tiene una apariencia "plana".

Si el campo de entrada que creamos va a ser parte de la interfaz original, es mejor dejar este botón deshabilitado. Si queremos que el campo de entrada sea más familiar para el usuario o más visible, podemos habilitar este botón.

A la derecha de estos tres botones hay un campo de entrada var. Este campo especifica el nombre de la variable ActionScript en la que se colocará el texto ingresado en el campo de entrada que creamos. Una variable es una especie de “celda de almacenamiento” de datos creada en la memoria de la computadora y tiene un nombre único por el cual se puede identificar de manera única. Podemos referirnos a esta variable por su nombre, extraer datos de ella o ponerle un nuevo valor. Las variables se discutirán en detalle en Capítulo 19.

En el campo de entrada Caracteres máximos establece el número máximo de caracteres que el usuario puede ingresar. Si no queremos limitar este número, ingresaremos allí el valor 0 (este, por cierto, es el valor predeterminado del campo).

Ahora volvamos al tema de la implementación de fuentes, pero en relación con los campos de entrada (más precisamente, con todos los bloques de texto especiales). El caso es que en este caso no se realiza ninguna incrustación: Flash solo almacena los nombres de las fuentes utilizadas. Cuando reproduce una imagen terminada, Flash Player primero busca estas fuentes en la computadora del cliente y, si están presentes, las usa para mostrar texto. Si no se encuentra una fuente adecuada, el reproductor utiliza la fuente más similar a la deseada, lo que puede provocar que la imagen se distorsione. Y esto no siempre es aceptable.

Pero aún podemos forzar a Flash a incrustar descripciones de caracteres seleccionados de la fuente especificada para un campo de entrada determinado en el archivo Shockwave/Flash resultante. Ahora veremos cómo se hace esto.

La selección de caracteres de fuente para incrustar se realiza en el cuadro de diálogo Incrustación de personajes(Figura 7.11). Esta ventana aparecerá en la pantalla después de presionar el botón Empotrar paneles Propiedades(ver figura 7.10).


La gran lista de esta ventana nos permitirá seleccionar grupos completos de símbolos que deberían incrustarse en el archivo Shockwave/Flash resultante. Contiene bastantes elementos; los mismos que están garantizados para ser útiles para nosotros se detallan a continuación:

? Todos (39477 glifos)- todos los caracteres de esta fuente en la cantidad de 39 477. Este elemento se proporciona únicamente con fines informativos; en realidad, casi nadie lo utilizará;

? Mayúsculas (27 glifos)- letras latinas mayúsculas (27 caracteres);

? Minúsculas (27 glifos)- minúsculas letras latinas (también 27 caracteres);

? Números (11 glifos)- Números arábigos (11 caracteres);

?Puntuación [!@#$%…] (52 glifos)- signos de puntuación y designaciones especiales (52 caracteres);

?Latín básico (95 glifos)- letras de la mayoría de los idiomas europeos (95 caracteres);

?Cirílico (499 glifos)- Letras cirílicas (499 caracteres). Quizás el punto más importante en nuestro caso.

Como regla general, en esta lista se resaltan varios elementos a la vez (así es, ¡quién necesita letras sin números!). Para ello primero pulsamos sobre el primer elemento del conjunto de los que queremos seleccionar y luego pulsamos la tecla y manteniéndolo pulsado sobre los elementos restantes hasta seleccionarlo todo. Después de esto puedes soltar la clave. .

Debajo de la lista de fuentes hay un campo de entrada Incluye estos personajes. En él podemos ingresar manualmente los caracteres que deben incrustarse. Este método es útil si queremos incrustar sólo ciertos caracteres en una fuente. Y si pulsamos el botón autocompletar, El propio Flash sustituirá en este campo de entrada todos los caracteres que utilizamos en el texto del campo de entrada seleccionado.

En la parte inferior de la ventana Opciones de personaje hay un pequeño campo de texto Número total de glifos, mostrando cuántos caracteres ya hemos seleccionado para incrustar. Para que podamos detenernos en el tiempo.

Botón No incrustar Le permitirá eliminar rápidamente todos los personajes que hemos elegido para su implementación. Al hacer clic en él, el campo de entrada se borrará. Incluye estos personajes, y en una lista grande, desaparecerá la selección de los elementos que hemos seleccionado.

Configurando opciones de incrustación de fuentes en el cuadro de diálogo incrustación de personajes, se debe presionar el botón DE ACUERDO, para aplicarlos. Si necesita cancelar esta configuración, haga clic en el botón Cancelar.

Bloques de texto dinámicos

A menudo, en lugar de mostrar texto plano y sin cambios, desea mostrar el resultado de un script ActionScript en forma de texto. Por ejemplo, un script de este tipo podría extraer noticias del sitio web de Compulents, un pronóstico del tiempo del sitio web de Aporta y tipos de cambio del sitio web de Rambler, agregar la hora actual a los datos extraídos y mostrar todo esto como texto en la pantalla. (Por cierto, idea interesante...)

Precisamente para mostrar texto fruto del script se utilizan. bloques de texto dinámicos.(Los bloques de texto normales a menudo se denominan estático.) Quizás la necesidad de estos bloques de texto dinámicos surja con más frecuencia que los campos de entrada.

Un bloque de texto dinámico se crea de forma muy similar a un campo de entrada. Cree un bloque de texto normal, selecciónelo con la herramienta de flecha y encuéntrelo en la esquina superior izquierda del panel Propiedades una pequeña lista desplegable (ver Figura 7.4). Sólo necesitas seleccionar un elemento de esta lista. Texto dinámico.

Un bloque de texto dinámico seleccionado es similar a un campo de entrada (ver Fig. 7.9), y el panel Propiedades tendrá aproximadamente el mismo aspecto que se muestra en la Fig. 7.10. Por tanto, no daremos una descripción de los controles contenidos en el mismo, sino que nos limitaremos a señalar las diferencias existentes.

Las mismas variables se utilizan para mostrar texto en un bloque de texto dinámico. El script ActionScript coloca el texto de salida en dicha variable y el reproductor Flash realiza la salida. El nombre de esta variable se ingresa en el mismo campo de entrada que se encuentra debajo de la lista, con la ayuda del cual acabamos de convertir un bloque de texto normal en uno dinámico.

Ahora sobre las diferencias. En realidad, sólo hay una diferencia en términos de interfaz y, además, ya nos resulta familiar. Boton interruptor:


Ahora está disponible la posibilidad de resaltar y copiar texto colocado en un bloque de texto dinámico, y podemos desactivarla si lo deseamos.

La diferencia en términos de capacidades es que se puede crear un bloque de texto dinámico. desplazable. Un bloque dinámico ordinario debe ciertamente tener dimensiones tales que pueda contener todo su contenido. Para un bloque desplazable, esto no es necesario: similar a las áreas edición de ventanas, puede "desplazar" el texto que contiene. Para controlar el desplazamiento, tendremos que escribir scripts ActionScript adecuados: un bloque de texto desplazable no contiene barras de desplazamiento.

Para hacer que un bloque de texto dinámico sea desplazable, primero debe seleccionarlo. Después de esto, debes encender el interruptor. Desplazable menú Texto o el elemento del menú contextual del bloque de texto del mismo nombre. Si un bloque de texto está actualmente abierto, puede hacer doble clic en el controlador cuadrado ubicado en la esquina inferior derecha del rectángulo de selección mientras mantiene presionado . El bloque de texto desplazable terminado se muestra en la Fig. 7,12; Tenga en cuenta que el marcador en el que hicimos clic tomó la forma de un cuadrado negro.


Bajo el título "Macromedia Flash 8: un curso para un joven luchador", dedicado a este maravilloso producto de software y Tecnologías flash. A partir de hoy, los temas que hablamos sobre Flash se centrarán más. Por lo tanto, de ahora en adelante omitiré las palabras “curso para jóvenes luchadores” en el título. Sin embargo, esta circunstancia no afectará en absoluto la forma en que se presenta el material, cuyo objetivo principal es responder muchas preguntas que tienen los diseñadores flash novatos y dar que pensar a los experimentados.

Entonces, hoy en la agenda están los componentes de la interfaz de usuario de Macromedia Flash Professional 8, así como también cómo personalizarlos.


Componentes estándar de Flash 8

La última versión del potente paquete de gráficos Macromedia Flash 8, además de un montón de herramientas, métodos y efectos de línea de tiempo diseñados para crear animaciones de alta calidad, contiene un lenguaje de programación completo orientado a objetos ActionScript 2.0 y numerosos componentes (integrados). en bloques de programa como Movie).

¿Por qué necesitamos componentes? En muchos casos, simplifican enormemente el proceso de desarrollo de una aplicación interactiva. Usando campos de entrada de datos y varios interruptores en los sitios web, se pueden crear fácilmente formularios de registro, usando cargadores puede controlar la carga de texto y datos multimedia de varias fuentes, etc. Hoy nos familiarizaremos con una de las clases de componentes de Flash 8: elementos de la interfaz de usuario (interfaz de usuario - UI).

El objeto más popular en Flash es, por supuesto, el botón. Está presente en Flash como tipo de símbolo y como elemento de la interfaz de usuario. Los componentes RadioButton, CheckBox, MenuBar, etc. se utilizan con menos frecuencia, pero no por eso son menos importantes. La ventana de componentes se abre presionando Ctrl+F8 o desde el menú Ventana -> Componentes. Consulte la tabla para conocer los principales componentes de la interfaz de usuario.

Componente Descripción
Acordeón Navegador de formularios
Alerta Mensaje de texto
Botón botón sencillo
Caja Caja
Caja combo lista combinada
Lista Lista
Cargador Contenedor cargador
Boton de radio Selector
Área de texto Área de texto
Ventana Contenedor en forma de ventana.

Hoy, usando el ejemplo de configuración de los parámetros de un elemento de la interfaz de usuario llamado Alerta, veremos los principios para trabajar con estilos de componentes.


Preestablecer propiedades de componentes

El componente Alerta le permite organizar un pequeño diálogo entre el usuario y la computadora. Imaginemos algo parecido al programa parlante Alice, creado en los años 60 y que poseía una pequeña inteligencia artificial que permitía mantener una conversación con una persona a partir de sus respuestas a preguntas formuladas previamente.

Primero, cambiemos las etiquetas de los botones y escribamos un controlador para sus clics. Dependiendo del botón en el que haya hecho clic el usuario, aparecerá un mensaje especial. Todo esto se logra sin utilizar estilos. Entonces, arrastremos la ventana Alerta a una hoja en blanco desde el panel Componentes y proporcionemos todas las configuraciones necesarias. Recordemos que en cualquier archivo Flash fla hay una biblioteca (llamada presionando Ctrl+"L"), en la que se almacenan instancias de componentes. La ventana de Alerta también encaja aquí. Como no queremos que permanezca siempre en el espacio de trabajo, podemos eliminarlo desde allí (desde la mesa de trabajo, por supuesto). La alerta permanecerá en la biblioteca.

Ahora seleccione el primer fotograma en la línea de tiempo, vaya a la sección Acciones (F9) y escriba el siguiente código de programa: “import mx.controls.Alert” (para más detalles, consulte el listado). Muchas de las configuraciones requeridas solo se pueden establecer usando ActionScript. La ventana de alerta se llama mediante el procedimiento Alert.show ("texto", "título de la ventana", "botones utilizados", "ventana", "controlador de clics", "botón seleccionado") con muchos parámetros especificados entre paréntesis. Para los botones utilizados, "Alerta.SÍ | Alerta.NO" se indica entre comillas simples (también hay botones "Aceptar" y "Cancelar"), y para el controlador de eventos, la función "hacer clic en un botón", en la que escribiremos un un poco más tarde. Ahora cambiemos las etiquetas de los botones "SÍ" y "NO" usando las propiedades del componente Alerta "yesLabel" y "noLabel". Luego establezca las dimensiones requeridas (“buttonWidth” y “buttonHeight”). Para seleccionar los parámetros óptimos, es útil ejecutar el vídeo de prueba: "Enter" + teclas Ctrl. La lógica de la función "hacer clic en el botón" es la siguiente: cuando se presiona el botón "Maravilloso", aparece el mensaje "¡Sigue así!", cuando "regular" - "¡Mantén la nariz en alto!" Para que los cambios surtan efecto, la descripción de esta función y la configuración del componente Alert deben preceder a la llamada al procedimiento Alert.show, como se muestra en el listado:

Importar mx.controls.Alert; Alerta.buttonWidth=150; Alerta.buttonHeight=25; Alert.yesLabel="Maravilloso"; Alert.noLabel="Más o menos..."; clic en botón = función(evt)(if (evt.detail == Alerta.YES) (Alert.show("¡Sigue así!", "Macromedia Flash 8");) if (evt.detail == Alerta.NO) ( Alert .show("¡Mantén la nariz en alto!", "Macromedia Flash 8");)) Alert.show("¿Qué pasa, amigo?", "Macromedia Flash 8", Alert.YES | Alert.NO, esto, hacer clic en el botón , Alerta .SÍ);

De forma similar, puedes organizar un diálogo más complejo con el usuario.


Trabajar con estilos

¿Para qué se utilizan los estilos? Te lo explicaré ahora. Cualquier componente de Flash tiene una determinada combinación de colores, tamaño de fuente, etc. Pero si está desarrollando, por ejemplo, su propio sitio web, para no violar la integridad de la imagen, tendrá que "adaptar" los componentes del sitio. Creo que no me equivocaré si digo que cada diseñador flash se esfuerza por crear sus vídeos de una manera especial y única para él. Con los estilos y temas de Flash 8, puede hacer que cada componente sea único. Pero no nos dejemos llevar y centrémonos en los estilos por ahora.

La interfaz de programación de aplicaciones de formato (API de estilos) proporciona al usuario propiedades y métodos que se pueden utilizar para cambiar el color de un componente y formatear el texto que contiene. Normalmente esto es suficiente. Flash 8 viene con dos estilos con un conjunto de parámetros: "Halo" y "Sample", que se encuentran en los archivos HaloTheme.fla y SampleTheme.fla, respectivamente. La figura muestra su ubicación en Windows 2000/XP. Cabe destacar que el tema “Muestra” tiene muchas más propiedades, por lo que es más recomendable utilizarlo para modificar componentes. Y esto se hace de la siguiente manera:

  1. Se llama al comando Archivo -> Importar -> Abrir biblioteca externa y se especifica el archivo SampleTheme.fla en el cuadro de diálogo. Luego, en el panel de la biblioteca importada, seleccione Componentes de Flash UI2 -> Temas -> MMDefault. Luego, desde esta ventana, debe arrastrar la carpeta con los recursos del componente deseado (activos) a la ventana de la biblioteca de símbolos del documento actual.
  2. Usando los métodos setStyle (parámetro, valor) y getStyle (parámetro), puede establecer u obtener el valor de un parámetro particular del estilo seleccionado.

Como estamos trabajando con el componente Alerta, arrastraremos la carpeta "Activos de alerta" a la biblioteca de símbolos de nuestro documento. Luego usaremos las propiedades estándar del tema "Muestra" (ver listado).

Global.styles.Alert.setStyle("color", "rojo"); _global.styles.Alert.setStyle("themeColor", "haloBlue"); _global.styles.Alert.setStyle("fondoColor", "0xE0C5FE"); _global.styles.Alert.setStyle("fontFamily", "times new novel"); _global.styles.Alert.setStyle("fontSize", "15");

El color del cuadro de diálogo Alerta ahora es violeta (0xE0C5FE) y su texto ahora es azul, con la fuente configurada en Times New Roman de 15 puntos. Cabe señalar que el símbolo de Alerta fue modificado de esta manera, por lo que los cambios afectarán a todas sus instancias. Puede encontrar una descripción de todas las propiedades de los temas Halo y Samlpe en la Ayuda de Flash 8.


¿Qué pasa si esto no es suficiente para mí?

Si, incluso con los estilos, la apariencia de los componentes no cumple con sus requisitos estéticos, puede intentar escribir su propio tema. Para hacer esto, simplemente edite o reemplace los shells de los componentes necesarios en uno de los temas estándar. Para hacer esto, guarde el archivo HaloTheme.fla o SampleTheme.fla con un nombre único, cárguelo, vaya a la ventana de la biblioteca de símbolos (Ventana -> Biblioteca o Ctrl+L), seleccione el componente requerido y seleccione la opción "Editar". en el menú contextual. Algunos elementos de la interfaz de usuario constan de muchas partes, por lo que se pueden transformar fácilmente volviendo a dibujar o recreando cada parte. Dichos componentes son Button, CheckBox, ComboBox, DataGrid, RadioButton, etc. Otros shells se dibujan mediante programación. En este caso, para cambiar apariencia El componente deberá modificar el código fuente. Este es, por ejemplo, el componente Alerta. Dado que crear un tema personalizado es un proceso que requiere mucho tiempo, no lo cubriremos en detalle. Por ahora. Eso es todo.

La dirección se ha fijado la tarea: hay que mantenerla actualizada. Reproductor Flash. Escala: ~15.000 computadoras, la mitad de las cuales realmente necesitan FP.

Parecería que cuál es el problema: creamos una política de dominio, insertamos el paquete MSI y nos alegramos... ¡Pero ese no es el caso! La estructura de la empresa está muy distribuida, es decir. En ubicaciones remotas con un canal de ~1 Mbps en 20 computadoras, presionar incluso 15 Mb por parte de los políticos ya es un problema: por la mañana los empleados encienden la computadora y esperan media hora para que se cargue hasta que todo esté descargado e instalado (o simplemente se cae debido a un tiempo de espera). Sin mencionar el hecho de que las computadoras en estas oficinas tienen la desagradable propiedad de salirse periódicamente del dominio.

Necesitábamos otra solución que funcionara independientemente de las políticas, que no forzara al usuario de ninguna manera y que usara el canal mínimamente (al menos para que no todos descarguen al mismo tiempo). Las opciones con scripts tampoco eran adecuadas por razones obvias.

Google vino al rescate, como de costumbre: resultó que puedes instalar un servidor de actualización interno y configurar el actualizador de FP incorporado en él. En este caso, sólo necesitará distribuir el archivo de configuración a los clientes. Detalles bajo el corte.

Configurar un servidor de actualización

1. Obtenemos acuerdo de licencia

Adobe requiere un acuerdo de licencia para distribuir su software. No violemos los términos de uso y obtengamos una licencia (afortunadamente, no es nada difícil): FlashPlayer: Acuerdo de licencia de distribución de Adobe Runtimes / Reader. La licencia se expide por un período de un año. Después del vencimiento, puede enviar la solicitud nuevamente.

2. Levantando el servidor web

La plataforma no importa; en mi caso, ejecuto el enésimo sitio en IIS bajo Win2012. Prácticamente no consume recursos a pesar de que ~3000 computadoras ya están configuradas para este servidor.

Configuración del servidor:

  • Acceso a través de los puertos 80, 443 (http, https respectivamente).
    El primero es necesario, de hecho, para descargar, el segundo FP irá a la versión XML de la versión actual.
  • Certificado https válido.
    Emití un certificado basado en el raíz corporativo, que está presente en todas las máquinas de forma predeterminada.
  • Lista de directorios.
    No verifiqué el trabajo sin él; la documentación lo solicita, decidí hacerlo como está escrito.
No entraré en detalles sobre la configuración del servidor.

Para mayor claridad, llamemos al servidor FlashPlayerUpdate.domain.local.

3. Descargar recursos y subirlos al servidor.

Creamos un árbol de directorios en la raíz del servidor web: /pub/flashplayer/update/current/sau/.

Árbol de directorios en mi servidor:

Si solicitó una licencia en el primer paso, en respuesta debería recibir una carta con un enlace desde donde descargar FlashPlayer; siga este mismo enlace. Si no lo ha recibido o no lo ha solicitado, vaya aquí: https://www.adobe.com/products/flashplayer/distribution3.html y descargue el archivo desde el enlace " Descargar recursos de actualización de antecedentes":

Versión de soporte extendido o versión pública

Es necesario hacer aquí una observación. Hay 2 opciones de descarga en la página: versión estándar (pública) y soporte extendido. En mi caso, la estabilidad es importante y no se necesitan nuevas funciones, por eso se optó por la opción ESR. Al mismo tiempo, me agregué una cierta cantidad de hemorroides: la versión pública se puede descargar directamente mediante un script desde el sitio web de Macromedia. Todavía no he buscado en Google cómo descargar ESR, por lo que en mi caso el contenido del servidor interno se actualiza en modo manual.

Al final del artículo adjunto 2 scripts de PowerShell: para Actualización automática(sólo para la versión estándar; fácilmente portado a bash), para buscar actualizaciones y notificar por correo electrónico (para cualquier versión, incluido ESR).


Desempaquete el archivo descargado en la carpeta /pub/flashplayer/update/current/sau/ del servidor.

4. Distribuir el archivo de configuración a los clientes.

Dependiendo de la capacidad del sistema:

  • 32 bits: C:\Windows\ Sistema32\Macromed\Flash\mms.cfg
  • 64 bits: C:\Windows\ SysWOW64\Macromed\Flash\mms.cfg
Puedes distribuirlo de cualquier forma. Utilicé una combinación de política de dominio y un servidor de administración antivirus (para computadoras que abandonaron el dominio).

En el archivo, habilitamos la actualización automática silenciosa, especificamos el intervalo de actualización (en días), la ruta a nuestro servidor y, por si acaso, iniciamos sesión para que sea más fácil diagnosticar problemas si surgen:

AutoUpdateDisable=0 SilentAutoUpdateEnable=1 AutoUpdateInterval=2 SilentAutoUpdateServerDomain=FlashPlayerUpdate.domain.local SilentAutoUpdateVerboseLogging=1
Si todo se hizo correctamente, Flash Player en las máquinas cliente debería comenzar a actualizarse según un cronograma (según el archivo anterior, una vez cada 2 días). Normalmente, el servicio de actualización de Adobe se ejecuta una vez cada hora para verificar las condiciones de actualización; en este momento, el actualizador debería ver el archivo de configuración, reconfigurar las actualizaciones de acuerdo con la configuración especificada e ir a nuevo servidor comprobar versión.

Es decir, aproximadamente una hora después de distribuir el archivo de configuración, puede consultar los registros en el servidor en busca de solicitudes para verificar la versión.

Automatización

Como representante clásico de la fraternidad de TI, odio el trabajo manual rutinario y simplemente no pude evitar automatizar el proceso de verificación y descarga. nueva versión. Sin embargo, como se señaló anteriormente, todavía no he encontrado una manera de descargar versiones de ESR desde el sitio web de Macromedia, por lo que solo uso el script para buscar actualizaciones. Las sugerencias son bienvenidas.
Script para descargar actualizaciones automáticamente
¡Solo para versión pública!

Lógica de funcionamiento: el script descarga estúpidamente archivos de actualización directamente desde Macromedia para las versiones 11,15,16,17,18,19 (si alguna versión ya se ha eliminado del sitio, el script simplemente jurará que no se pudo descargar y lo hará omítelo) y lo reemplaza con un servidor de actualización. Sin verificación de versión. En la etapa de prueba, utilicé este script: lo ejecuté en el programador del servidor por la noche.

Si lo desea, puede cruzar este script y el siguiente y obtener una automatización completa con verificación de versiones, notificaciones y descargas solo si hay actualizaciones.

Parámetros del guión:

  • *raízFP- ruta a la carpeta raíz del servidor de actualización. Local o red. Naturalmente, el usuario que ejecutará el script debe tener derechos de escritura en esta carpeta.
  • FPDescargarRaíz- ruta en el sitio web de Macromedia. Esto está configurado de forma predeterminada, pero se puede cambiar si es necesario.
  • DescargarProxy http:// proxy.dominio.local.
  • Créditos proxy
  • Agente de usuario
  • Fuerza
* - parámetro requerido

Ejemplo de uso:

Powershell.exe -comando "& ".\FPUpdater.ps1" -FPRoot "\\FlashPlayerUpdate\pub\flashplayer\update\current\sau" -DownloadProxy "http://proxy.domain.local" -ProxyCreds "DOMAIN\UserName " -UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) como Gecko""
Todos los parámetros se pueden codificar en un script si las largas líneas de inicio resultan intimidantes.

Script para comprobar actualizaciones y notificar por correo electrónico
Las actualizaciones se verifican de acuerdo con la versión estándar, pero como se actualizan al mismo tiempo (nadie canceló las correcciones de seguridad), también funcionará para ESR. Para que el script funcione, debe crear un archivo CurrentPublic en la raíz del servidor web (al lado de la carpeta pub), en el que ingresa la versión pública actual. para ActiveX(es la versión ActiveX que se utiliza para comprobar).

Lógica operativa: el script compara la versión obtenida del archivo CurrentPublic de su servidor con la versión en el servidor Macromedia. Mira la versión en el servidor de acuerdo con la lógica de la actualización automática: primero busca la compilación principal actual en XML, va a la carpeta con la compilación principal y mira la compilación completa allí.

Parámetros del guión:

  • *FPIntServerRoot- La dirección de nuestro servidor. Por ejemplo: FlashPlayerUpdate.dominio.local
  • FPDescargarRaíz- ruta en el sitio web de macromedia. Esto está configurado de forma predeterminada, pero se puede cambiar si es necesario.
  • ESR- comprobar la versión ESR (sin este indicador comprobará la versión pública).
  • DescargarProxy- servidor proxy, si se utiliza en una empresa. Escribe completo: http:// proxy.dominio.local.
  • Créditos proxy- nombre de usuario para autorización en el proxy.
  • Agente de usuario- para cambiar el agente de usuario con el que se descargará PowerShell. Por ejemplo, nuestro proxy está limitado por UserAgents, yo uso el agente de Internet Explorer.
  • Fuerza- deshabilite la verificación de certificados para el cmdlet Invoke-Webrequest (más precisamente, haga que confíe en todos los certificados).
  • *Correo a- direcciones de correo electrónico a las que se enviarán las notificaciones.
  • *Correo de- de quién vendrán las notificaciones. Por ejemplo: [correo electrónico protegido]
  • Servidor SMTP- servidor smtp a través del cual se enviará el mensaje.
* - parámetro requerido

Ejemplo de uso:

.\FPCheckUpdate.ps1 -FPIntServerRoot "fp-update.domain.local" -ESR -Proxy "http://proxy.domain.local" -UserAgent InternetExplorer -Force -MailTo " [correo electrónico protegido]","[correo electrónico protegido]"-Correo de" [correo electrónico protegido]" -SmtpServer "smtp.empresa.com"

Recursos utilizados

UPD

Actualización ligeramente tardía del 17/06/16.

Desde que se escribió este artículo, Adobe ha logrado cambiar el orden de acceso a la página de descarga de FlashPlayer dos veces, por lo que ahora para poder acceder a la página de descarga, primero debes iniciar sesión en Adobe ID, es decir, la opción de El análisis de la página para la versión ESR ya no está disponible.

Todavía no me he molestado en autorizar ni en recibir y enviar cookies a través de PowerShell. Como resultado, rehice el script para verificar ESR en la página de distribución3, que puede desaparecer en cualquier momento. Hasta ahora, veremos más.

A principios de año, hice una pregunta en el foro de Adobe sobre el tema de buscar actualizaciones para la versión ESR. Prometen encontrar algo, pero hasta ahora el problema sigue ahí.

UPD2

El otro día, apareció la siguiente información en la página de distribución de Flash Player (el enlace al que recibió cuando recibió una licencia de distribución):

¡ATENCIÓN! Cambios importantes con la versión de soporte extendido

La versión de soporte extendido se diseñó originalmente para minimizar el tiempo que los administradores de TI dedican a certificar cada nueva versión de Flash Player: la versión de soporte extendido limitó los cambios de seguridad y las correcciones de problemas funcionales críticos. En ese momento, había muchos más cambios funcionales en cada versión de Flash Player que cambios de seguridad. Sin embargo, la situación ahora ha cambiado: el número de medidas de seguridad proactivas y reactivas supera con creces los cambios funcionales. En la práctica, la versión de soporte extendido ya no protege a las organizaciones de TI contra cantidad inmensa cambios realizados en las versiones estándar de Flash Player, pero solo reduce los riesgos funcionales. En este sentido, se tomó la decisión de descontinuar la versión de soporte extendido y concentrarse en desarrollar únicamente versiones estándar. Agregar etiquetas

El último artículo estuvo dedicado a la animación. Creamos animaciones basadas en interpolación de movimiento, interpolación de formas y simplemente componiendo movimiento a partir de fotogramas individuales. Creo que es hora de pasar a un tema más avanzado y analizar la herramienta que crea la base para la mayoría de las películas Flash de calidad.

Esta herramienta es ActionScript, un lenguaje basado en eventos integrado en Flash. Ultima versión ActionScript (que está presente en Flash 5) es significativamente diferente de ActionScript, que estaba en Flash 4. Si en la versión anterior era un conjunto limitado de comandos que permitía solo acciones básicas y se ingresaban usando una interfaz no muy fácil de usar, entonces el nuevo ActionScript es un lenguaje poderoso, con un conjunto ampliado de comandos, soporte para clases, herencia. (!) y una interfaz mucho más conveniente.

ActionScript hace que sus páginas sean interactivas. Puede reaccionar a eventos desde el mouse o el teclado, y puede realizar cualquier acción al reproducir un cuadro determinado.

Para dominar completamente ActionScript, es recomendable tener experiencia en programación (preferiblemente en C++, JavaScript, etc.). Sin embargo, uno de los beneficios del lenguaje Flash es que no es necesario ser un profesional de Flash ni estar completamente familiarizado con ActionScript para escribir código de calidad en él. Podrás utilizar aquellas características del lenguaje que consideres necesarias para tu trabajo.

Dado que este artículo trata sobre los conceptos básicos del idioma, cubriremos:

  • El panel Acciones es donde ocurre casi toda la comunicación con ActionScript.
  • Botones: cómo hacer que funcionen como necesitamos.
  • Caminos: ¿cómo acceder a los objetos necesarios?
  • Acciones básicas con dibujos animados Flash (clips de película): controlaremos el proceso de reproducción de la película como queramos.
  • Depuración en ActionScript: ventanas de salida y depurador.

El propósito de este artículo es darle una idea de ActionScript, mostrarle que este lenguaje se puede utilizar tanto para crear programas impresionantes como para realizar acciones básicas que harán que su página sea mucho más atractiva.

Términos

Antes de entrar en acciones específicas, algunos términos de ActionScript:

  • Comportamiento- estas son instrucciones que le dicen a la caricatura Flash qué hacer. De ellos proviene el nombre del lenguaje: ActionScript (literalmente, script de acción). Acordemos que en el marco de este artículo utilizaremos el término “instrucciones” para no confundirlo con las acciones reales que realizaremos.
  • Eventos- estas son las acciones que ocurren cuando se reproduce la caricatura. Los eventos, por ejemplo, pueden ocurrir cuando finaliza la carga de un determinado cuadro, cuando llegamos a un determinado cuadro, cuando el usuario presiona una tecla en el teclado o el cursor del mouse está sobre nuestro objeto.
  • Expresiones es cualquier parte de una instrucción que produce un valor. Los siguientes ejemplos son expresiones: 2 + 2, 2 * 2, a + b, 2*pi*r, (15 + k) * aleatorio(10).
  • Funciones es un bloque de código que se puede reutilizar. Puede pasar valores a una función y recibir un resultado de ella. Por ejemplo, número = obtener_color(15, 24). 15 y 24 son argumentos (o parámetros) de la función get_color, cuyo valor de retorno se escribe en la variable numérica.
  • Clases son tipos de objetos. Por ejemplo, la clase de árbol es planta. Flash tiene varias clases predefinidas (muy parecidas a las clases de JavaScript). Puedes crear tus propias clases o modificar las existentes.
  • Instancias son literalmente instancias de ciertas clases. Por ejemplo, un ejemplar de planta puede ser un árbol, un arbusto o una flor. Una instancia ya es un objeto real específico. Si una clase es una definición de un objeto (instancia), entonces una instancia ya es una encarnación concreta, es una clase en acción. A cada instancia se le puede dar un nombre para que a través de ella se pueda acceder a funciones o variables del objeto.
  • Manipuladores Son instrucciones especiales que procesan eventos. Por ejemplo enClipEvent- un controlador de acciones asociadas con un símbolo específico (ver).
  • Operadores son elementos del lenguaje que calculan valores en función de uno o más argumentos. Por ejemplo, el operador de suma (+) devuelve la suma de los dos valores a la izquierda y a la derecha del mismo.
  • variables son identificadores que pueden almacenar valores. Por ejemplo, a = 5; o nombre = "Michael".

Estos son los términos que usaremos cuando analicemos ActionScript. Entonces…

Panel de acciones

La barra de acciones se utiliza para mostrar e ingresar programas ActionScript (Fig. 1). Hay dos modos de funcionamiento con el panel: normal (para principiantes) y experto. En modo experto, la lista de comandos es un simple campo de entrada de texto. En modo normal, no podemos editar comandos directamente. Para hacer esto, use el panel de opciones.

Puede agregar una instrucción haciendo clic en el botón “+” (ver Fig. 1) o seleccionando la instrucción apropiada en la lista de elementos del lenguaje. Además, para todas las acciones en Flash existen secuencias de teclas que se pueden utilizar para hacerlo mucho más rápido. Se muestran a la derecha de cada acción en el menú del botón "+". Por ejemplo, para agregar una función detener(), debe presionar Esc+st (secuencialmente: Esc, luego “s”, luego “t”).

Puede eliminar una instrucción seleccionándola y presionando el botón “-” (o simplemente la tecla Eliminar).

Le recomiendo que no comience a utilizar el modo experto inmediatamente si no tiene experiencia en programación en lenguajes similares a Java (C++, Java, JavaScript). El modo normal tiene una gran ventaja que lo hace indispensable para los principiantes: hay muchas menos posibilidades de cometer errores con la sintaxis del idioma. Esto ayudará a los principiantes a comprender rápidamente las complejidades de ActionScript.


Arroz. 1 - barra de acción

El panel de acciones muestra las acciones del objeto o marco seleccionado actualmente.

Botones

Lo primero que desea cuando comienza a aprender la interactividad Flash es crear algo que responda a las acciones del usuario, "revivir" su creación, agregar comentario. La forma más sencilla de hacerlo es con botones. Por tanto, empezaremos por ellos.

Como usted sabe, en Flash hay un tipo especial de símbolo para crear botones: Botón (ver). Supongamos que ya ha aprendido a crear botones, ahora aprendamos a realizar un seguimiento de los clics en estos botones.

Los botones en Macromedia Flash tienen una extensa lista de eventos a los que podemos responder:

  • prensa- se presiona el botón del mouse cuando el cursor está dentro del botón;
  • liberar- el botón del ratón se suelta cuando el cursor está dentro del botón;
  • lanzamientoAfuera- el botón del ratón se suelta cuando el cursor está fuera del botón;
  • dese la vuelta- el cursor del mouse ingresa al botón;
  • desenrollar- el cursor va más allá del botón;
  • arrastrar sobre- el cursor ingresa a los límites del botón, mientras se presiona el botón y se presiona la tecla del mouse;
  • ir alargando- el cursor va más allá del botón, mientras se presiona el botón y se presiona la tecla del mouse;
  • teclaPresionar("tecla") - se presionó una "tecla". Puede ver una lista de claves en la ayuda de Flash (objeto clave) o utilizar la barra de opciones para ingresar la clave deseada.

Lamentablemente, Flash sólo "entiende" el botón izquierdo del ratón. El de la derecha se utiliza para abrir el menú contextual (haga clic con el botón derecho en alguna caricatura Flash). Todavía no he encontrado ninguna forma de capturar la tecla central o la rueda del mouse en Flash; no creo que existan.

Estos eventos son interceptados usando la directiva. en(). Su sintaxis es:

En (evento) (... // Nuestras acciones)

A continuación puede intentar activar algunos eventos usted mismo:

Un ejemplo muy utilizado es seguir un enlace cuando se hace clic en un botón:

En (liberación) ( getURL("http://rubs.boom.ru"); )

Para probar este escenario, resalte su botón, presione Ctrl+Alt+A e ingrese al programa.

Así es como puedes interceptar fácilmente todos los eventos asociados con un botón. Bueno, cómo usarlos es enteramente cuestión de tu imaginación.

Pasos básicos con Movie Clips

Una gran cantidad de creatividad en Flash proviene de la manipulación de símbolos. Casi todas las técnicas básicas, todos los trucos y efectos son imposibles sin estas acciones.

Con ActionScript, puedes hacer casi cualquier cosa que quieras con los personajes. Solo debe recordar que estas acciones solo se pueden realizar en respuesta a una acción del usuario o cuando ocurre un determinado cuadro en la línea de tiempo.

¿Entonces que tenemos? Enumeraré solo las herramientas principales (en mi opinión). El resto lo encontrarás en la lista de elementos del lenguaje o en la ayuda.

Funciones de clip de película que se pueden llamar:

  • jugar() - inicia o reanuda la reproducción de un clip;
  • detener() - detiene la reproducción del clip;
  • ir a AndPlay() - va a un determinado cuadro (escena) y continúa la reproducción;
  • ir a AndStop() - va a un fotograma específico (escena) y detiene la reproducción.

Propiedades (parámetros) de clips que se pueden leer/cambiar:

  • _x, _y - coordenadas del clip (en píxeles);
  • _xescala, _yescala - escala de clip (en porcentaje), horizontal y verticalmente, respectivamente;
  • _ancho, _alto - ancho y alto del clip (en píxeles);
  • _rotación - ángulo de rotación del clip (en grados);
  • _alfa - transparencia del clip (en porcentaje);
  • _visible - visibilidad.

Esto no es todo lo que se puede hacer con los clips. Utilice otros parámetros, experimente, ¡sea creativo!

Nombres

Para acceder a los clips, debemos comprender el concepto de nombre de objeto (nombre de instancia) y una ruta a un objeto (ruta de destino). Aceptemos que el clip de película y el objeto son lo mismo para nosotros.

El nombre del objeto es el nombre de una instancia de símbolo específica. Digamos que podemos tener un símbolo: un automóvil, y las instancias de este símbolo se llamarán “Máquina1”, “Máquina2”, “Pickup”, “Zaporozhets”...

Para darle un nombre a un objeto, debe seleccionar el objeto y en el panel Instancia (Ventana->Paneles->Instancia, Ctrl+I) en la columna Nombre, ingresar el nombre del objeto (Fig. 2). ). Los nombres solo pueden constar de letras, números y el carácter de subrayado ("_"), y el nombre no puede comenzar con un número.


Arroz. 2 - panel de instancia

Caminos

La ruta a un objeto es un registro del nombre del objeto, teniendo en cuenta la jerarquía. Intentaré explicar qué es.

Ya sabes que en Flash los objetos se pueden anidar unos dentro de otros, formando así una jerarquía. Por lo tanto, este anidamiento no sólo proporciona comodidad en el manejo de objetos, sino que también limita la visibilidad de los nombres de los objetos. La visibilidad está limitada a su nivel. Un objeto solo puede acceder directamente (por nombre) a objetos dentro de él que estén en un nivel inferior en la jerarquía.

Para acceder a un objeto en otro nivel, es necesario conocer la ruta hacia él. Además, la ruta se puede especificar de forma absoluta (desde el nivel más alto de la jerarquía) o relativa (desde el nivel actual).

La ruta incluye objetos a través de los cuales debemos "pasar" a lo largo del árbol jerárquico para llegar al objeto que necesitamos, enumerado mediante un punto. Además, existen varios indicadores (podríamos llamarlos "objetos virtuales") que suelen resultar muy útiles:

este - un puntero a "sí mismo" (es decir, al objeto actual). Puede ser necesario, por ejemplo, cuando necesite pasar un puntero al objeto desde el cual se llama esta función a una función.

_padre - puntero al "padre". Apunta a un objeto en un nivel superior en la jerarquía.

_raíz - "raíz". Este es el comienzo de la jerarquía. No puede prescindir de él al especificar una ruta absoluta.

El camino se ve así:

hoja.play();- en el subobjeto hoja función (hoja) llamada jugar();

_parent.tree.leaf.stop();- se supone que hay un objeto en un nivel árbol, que tiene un objeto hoja, desde donde se llama a la función detener();

_root.banner._visible = falso;- hacer un clip bandera, ubicado en el 1er nivel, invisible.



Arroz. 3 - Jerarquía de clips

A modo de ilustración, tomemos una jerarquía de 5 objetos (Fig. 3). Los objetos 1 a 4 están en la primera capa, el objeto 5 está en la segunda capa. El objeto 2 está anidado en el objeto 1 y el objeto 3 está anidado en el objeto 2. Los objetos de la imagen están visualmente anidados entre sí, pero esto de ninguna manera significa que así deba ser así “en la vida real”. Aquí están agrupados para mayor claridad. Como el nombre de un objeto no puede comenzar con un número, llamemos a nuestros objetos obj1-obj5.

Ahora tratemos con los caminos. Primero, veamos qué objetos pueden referirse entre sí por su nombre. obj1 puede contactar obj2, A obj2- A obj3, pero al mismo tiempo obj1 no puedo contactar obj3 directamente, porque no está contenido en obj1, y en obj2.

Digamos que el primer objeto necesita el objeto 3 para comenzar a reproducirse nuevamente desde el primer cuadro. Así es como se hace:

Obj2.obj3.gotoAndPlay(1);

Para que el cuarto objeto haga que el primer objeto (¡nota con todos los subobjetos!) sea semitransparente, debe escribir lo siguiente en su script:

Padre.obj1._alpha = 50;

Raíz.obj1._alpha = 50;

Porque obj4 está en el primer nivel de la jerarquía, entonces para ello _raíz Y _padre- mismo.

Ahora, para el objeto 3, escribiremos un script que hará que el objeto 5 sea invisible cuando se presione el botón del mouse. En el script para el objeto 3 escribimos:

OnClipEvent (mouseDown) ( _root.obj5._visible = false; )

En este fragmento hemos utilizado una ruta absoluta. Si usáramos relativo se vería así:

Parent._parent._parent.obj5._visible = falso;

Espero haber aclarado el problema de la ruta.

Los ejemplos anteriores mostraron no solo cómo se ven las rutas, sino también cómo se llaman las funciones y se asignan los valores de las propiedades.

Publicaciones sobre el tema.