Desarrollo de aplicaciones de FLASH LITE 2.x y 3.0 ® ™ Última modificación 1/5/2010 © 2010 Adobe Systems Incorporated. All rights reserved. Copyright Desarrollo de aplicaciones de Adobe® Flash® Lite® 2.x y 3.x This guide is protected under copyright law, furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide. This guide is licensed for use under the terms of the Creative Commons Attribution Non-Commercial 3.0 License. This License allows users to copy, distribute, and transmit the user guide for noncommercial purposes only so long as (1) proper attribution to Adobe is given as the owner of the guide; and (2) any reuse or distribution of the user guide contains a notice that use of the guide is governed by these terms. The best way to provide notice is to include the following link. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ Adobe, the Adobe logo, ActionScript, Creative Suite, Dreamweaver, Flash, Flash Lite, and Macromedia are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. ActiveX and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Macintosh is a trademark of Apple Inc., registered in the United States and other countries. Symbian and all Symbian based marks and logos are trademarks of Symbian Limited. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. SVG is a trademark of the World Wide Web Consortium; marks of the W3C are registered and held by its host institutions MIT, INRIA and Keio. Arial is a trademark of The Monotype Corporation registered in the U.S. Patent and Trademark Office and certain other jurisdictions. Helvetica is a trademark of Heidelberger Druckmaschinen AG exclusively licensed through Linotype Library GmbH, and may be registered in certain jurisdictions. All other trademarks are the property of their respective owners. Updated Information/Additional Third Party Code Information available at http://www.adobe.com/go/thirdparty. Portions include software under the following terms: Sorenson Spark™ video compression and decompression technology licensed from Sorenson Media, Inc. MPEG Layer-3 audio compression technology licensed by Fraunhofer IIS and Thomson Multimedia (http://www.iis.fhg.de/amm/). Portions licensed from Nellymoser, Inc. (http://www.nelly-moser.com). Adobe Flash 9.2 video is powered by On2 TrueMotion video technology. © 1992-2005 On2 Technologies, Inc. All Rights Reserved. http://www.on2.com. Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference. iii Última modificación 1/5/2010 Contenido Capítulo 1: Información general sobre Flash Lite 2.x y 3.x Conceptos básicos de Flash Lite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Funciones de Flash Lite 3.1 ............................................................................................ 2 Funciones de Flash Lite 3.0 ............................................................................................ 7 Funciones de Flash Lite 2.x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Capítulo 2: Introducción a Flash Lite Aplicación Flash Lite Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 El emulador de Adobe Device Central y la base de datos de dispositivos Flujo de trabajo para la edición de aplicaciones de Flash Lite Tipos de contenido de Flash Lite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Capítulo 3: Tutorial: Creación de una aplicación Flash Lite Visualización de la aplicación finalizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Creación de la aplicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Capítulo 4: Creación de interactividad y navegación Interacción del usuario y teclas admitidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Navegación predeterminada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Eventos de teclas y botones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Capítulo 5: Uso de texto y fuentes Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Introducción de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Representación de fuentes Texto desplazable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Capítulo 6: Trabajo con sonido Sonido de dispositivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Sonido nativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Capítulo 7: Uso de vídeo Trabajo con archivos FLV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Uso de vídeo de dispositivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Capítulo 8: Desarrollo de aplicaciones de Flash Lite para BREW Conceptos básicos de BREW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Configuración del sistema para BREW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Edición de archivos Flash Lite para BREW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Publicación de archivos Flash Lite para BREW Carga de archivos en dispositivos BREW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X iv Última modificación 1/5/2010 Contenido Capítulo 9: Prueba de contenido de Flash Lite Información general de la prueba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Uso del emulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Sugerencias sobre la creación de contenido para dispositivos móviles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Capítulo 10: Introducción a ActionScript de Flash Lite 2.x y 3.x Clases y elementos de idioma de ActionScript admitidos, parcialmente admitidos y no admitidos Clases no admitidas y admitidas parcialmente: detalles . . . . . . . . . . . . . . . . . . . . . 134 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Elementos de ActionScript no admitidos y admitidos sólo de forma parcial: detalles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Capítulo 11: Mensajes de error y de advertencia Códigos de error de dispositivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Mensajes de error y de información del emulador de Adobe Device Central Índice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Última modificación 1/5/2010 Capítulo 1: Información general sobre Flash Lite 2.x y 3.x Adobe® Flash® Lite™ es una versión de Flash® Player diseñada para dispositivos. Esta documentación cubre el software Macromedia® Flash® Lite™ 2.0 y Macromedia Flash Lite 2.1 de Adobe, que se denominan de manera conjunta Flash Lite 2.x. Cubre también Adobe Flash Lite 3.0 y 3.1, que se denominan de manera conjunta Flash Lite 3.x. Conceptos básicos de Flash Lite Acerca de Flash Lite Macromedia® Flash Lite 1.0 y Macromedia Flash Lite 1.1 se basan en Macromedia Flash Player 4. Flash Lite 2.0 y 2.1 (denominados conjuntamente 2.x) se basan en Macromedia Flash Player 7 y admiten casi todas las funciones de Flash Player 7, aunque no todas. Flash Lite 2.x también contiene funciones específicas de desarrollo móvil que no están disponibles en Flash Player 7. Por ejemplo, en Flash Lite 2.x se pueden cargar tipos de contenidos multimedia (imágenes, sonido, vídeo) específicos del dispositivo que no cuentan con compatibilidad nativa con Flash Lite. Flash Lite 2.x también cuenta con funciones de integración de dispositivos, como la posibilidad de realizar llamadas de teléfono y enviar mensajes de texto. Flash Lite 3.0 también se basa en Flash Player 7 y añade compatibilidad con Flash Video (FLV), para navegar por casi todo el contenido de Flash 8, así como numerosas mejoras de rendimiento. También se incluye en Flash Lite 3.0 un nuevo modelo de seguridad que refleja el modelo utilizado en Flash Player 8. Flash Lite 3.1 también se basa en Flash Player 7. Ofrece funciones para mejorar la experiencia de navegación por Internet para usuarios de dispositivos móviles. Muchas de estas funciones ya estaban en Flash® Player 8 pero no se admitían en Flash Lite; ahora sí se admiten en Flash Lite 3.1. Flash Lite 3.1 introduce la capacidad de reproducir el contenido de ActionScript™ 2.0 que se encuentre en sitios web de Flash 9. No obstante, Flash Lite 3.1 no admite el procesamiento y la reproducción de ActionScript™ 3.0, que se introdujo en Flash Player 9. Consulte “Funciones de Flash Lite 3.1” en la página 2 para obtener más información. Acerca de los componentes de Flash Lite Los componentes instalados con Flash (por ejemplo, DataGrid y Accordion) están diseñados para utilizarse con aplicaciones Flash de escritorio. Debido a sus requisitos de memoria y de capacidad de procesamiento, no suele ser posible utilizarlos en las aplicaciones de Flash Lite. Adobe desaconseja el uso de componentes de interfaz de usuario estándar en las aplicaciones de Flash Lite. Optimización del contenido para mejorar el rendimiento y la memoria Para optimizar el contenido Flash, debe prestar atención a los principios básicos. Por ejemplo, con frecuencia los desarrolladores de Flash han tenido que evitar ilustraciones extremadamente complejas, interpolación excesiva y el uso en exceso de las transparencias. 1 Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 2 Información general sobre Flash Lite 2.x y 3.x Aunque versiones anteriores de Flash han resuelto la mayoría de estos problemas de rendimiento para equipos de escritorio, los desarrolladores de Adobe Flash Lite aún se enfrentan a desafíos adicionales debido a las limitaciones de los dispositivos móviles: algunos dispositivos rinden mejor que otros, en algunos casos la diferencia es considerable, y dado que la edición para dispositivos móviles con frecuencia requiere la publicación en muchos dispositivos diferentes, los desarrolladores a veces deben editar para el mínimo denominador común. La optimización del contenido para dispositivos móviles suele conllevar sacrificios. Por ejemplo, una técnica puede ser más agradable a la vista, mientras que otra puede dar como resultado mejor rendimiento. Al cuantificar estos sacrificios, realizará pruebas en el emulador y en el dispositivo de destino varias veces. En Flash 8, el emulador de Flash Lite 2.x formaba parte del entorno de edición de Flash. A partir de Flash CS3 y Flash Lite 3.0 y continuando con Flash CS4 y Flash Lite 3.1, la función del emulador forma parte de Adobe® Device Central. Device Central le permite emular sus proyectos Flash Lite en distintos dispositivos y puede emular la visualización, el uso de la memoria y el rendimiento del dispositivo en dispositivos específicos. Si desea obtener información completa sobre el uso del emulador para optimizar el contenido de Flash Lite para dispositivos móviles, consulte la sección “Prácticas recomendadas para contenido de dispositivos móviles” en la documentación de Device Central. Funciones de Flash Lite 3.1 Mejor navegación web Flash Lite 3.1 ofrece varias funciones para mejorar la experiencia de navegación por Internet de los usuarios de dispositivos móviles. Muchas de estas funciones estaban incluidas en Flash® Player 8 pero no se admitían en Flash Lite; ahora se admiten en Flash Lite 3.1. Estas nuevas funciones se describen a continuación. Navegación Flash 9 Flash Lite 3.1 se lanzó con compatibilidad con Flash Player 8 y, por tanto, no admite ActionScript™ 3.0, que se añadió en Flash Player 9. No obstante, muchos sitios web de Flash 9 incluyen contenido de ActionScript 2.0 que no se puede reproducir en Flash Lite 3.0. Flash Lite 3.1 introduce la posibilidad de reproducir este contenido cuando se encuentre en sitios web de Flash 9. El reproductor de Flash Lite 3.1 se anuncia como reproductor capaz de gestionar contenido de Flash 9. Al cargar sitios web que incluyen contenido de Flash 9, Flash Lite 3.1 evalúa el archivo SWF y reproduce el contenido de Flash 9 que sólo usa ActionScript 2.0. Si el contenido de Flash 9 usa ActionScript 3, Flash Lite 3.1 no lo reproduce, pero mostrará un icono de error descriptivo (al igual que Flash Lite 3.0). Objeto LocalConnection La clase LocalConnection le permite desarrollar uno o más archivos SWF que pueden enviarse entre sí instrucciones sin utilizar fscommand() ni JavaScript. Los objetos LocalConnection sólo pueden comunicarse entre archivos SWF que se estén ejecutando en el mismo dispositivo cliente, pero también se pueden ejecutar en aplicaciones diferentes. Los objetos LocalConnection sólo se pueden usar para enviar y recibir datos dentro de un único archivo SWF, pero esta función no tiene un uso extendido. La implementación de Flash Lite 3.1 del objeto LocalConnection admite la comunicación entre archivos SWF que se ejecutan en el mismo proceso (por ejemplo, en la misma ventana del navegador). Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 3 Información general sobre Flash Lite 2.x y 3.x Gestión de texto HTML Flash Lite 3.1 introduce la compatibilidad con varias etiquetas HTML de gestión de texto que no se admitían en Flash Lite 3.0. Flash Lite 3.1 admite el uso de texto como vínculos, la etiqueta <img>y la gestión de hojas de estilo en cascada (CSS). Texto como vínculos La etiqueta <a> se utiliza para crear un hipervínculo de texto y se admite ahora en Flash Lite 3.1. Consulte la documentación de Flash Lite para obtener información completa acerca de los atributos y el uso de la etiqueta <a>. Imágenes externas incrustadas Los campos de texto de Flash Lite 3.1 admiten la etiqueta <img>. Esta etiqueta puede señalar a imágenes almacenadas en el sistema local de archivos o la red. La imagen puede tener formato JPG, GIF o PNG, y se representa si la plataforma admite ese tipo de imagen. El campo de texto puede tener distintos atributos, como la multilínea y el ajuste de línea, que afectan a la representación del texto. Además de a las imágenes, la etiqueta <img> también puede señalar a un archivo SWF o un objeto MovieClip. Si se incrusta en el campo de texto, estos medios se tratan como elementos secundarios del campo de texto y, por tanto, se pueden controlar y manipular mediante ActionScript. Compatibilidad con CSS El formato de texto con estilos CSS no se admitía en Flash Lite 3.0. El contenido de Flash 8 mostrado en Flash Player, en el escritorio, admite el formato de estilos CSS, ya sea cargado en un archivo de hoja de estilos CSS independiente o añadiendo estilos de texto en línea mediante ActionScript. La función CSS permite a los desarrolladores ajustar el aspecto y diseño de sus aplicaciones. Esta funciones admiten Flash Lite 3.1. Compatibilidad con WMODE Flash Lite 3.1 introduce la compatibilidad del parámetro wmode. Si se usa este parámetro en el contexto del plugin ActiveX y un navegador, puede manipular el fondo de la página HTML que incluye la película Flash para controlar si el color o la imagen de fondo es transparente o no, lo que permite disponer en capas el contenido multimedia enriquecido con contenido DHTML. El valor de wmode puede ser window (valor predeterminado), opaque o transparent: • Window reproduce la aplicación en su propia ventana rectangular en una página web. Window indica que la aplicación de no interactúa con las capas HTML y que es siempre el elemento que está en la parte superior. • Opaque hace que la aplicación oculte todos los elementos que están debajo de ella en la página. • Transparent hace que el fondo de la página HTML se vea a través de todas las partes transparentes de la aplicación y puede ralentizar la animación. Compatibilidad con scale, salign y align Flash Lite 3.1 introduce la compatibilidad con los parámetros de JavaScript scale, salign y align, que controlan cómo se escala, se coloca y se alinea el contenido multimedia enriquecido cuando se incrusta en una página HTML. El parámetro scale define cómo se coloca el archivo SWF en la ventana del navegador cuando los valores de anchura y altura son porcentajes. Sus valores pueden ser showall, noborder o exactfit. El atributo align determina cómo se coloca el archivo SWF dentro de la ventana del navegador. Sus valores pueden ser L (izquierda), R (derecha), T (arriba) o B (abajo). El parámetro salign especifica la posición de un archivo SWF escalado en el área que definen los ajustes de altura y anchura. Sus valores pueden ser TL (arriba izquierda), TR (arriba derecha), BL (abajo izquierda) o BR (abajo derecha). Parámetro GetURL _target _target es un parámetro opcional de la función getURL global de ActionScript que especifica la ventana o el marco HTML en el que se que debe cargar el documento. El parámetro _target no se admitía anteriormente en las aplicaciones de Flash Lite porque los navegadores de los dispositivos móviles no han admitido varias ventanas hasta hace poco tiempo. Puede introducir una cadena vacía o elegir entre los siguientes nombres de destino reservados: Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 4 Información general sobre Flash Lite 2.x y 3.x _self especifica el fotograma actual en la ventana actual. _blank especifica una nueva ventana. _parent especifica el elemento principal del fotograma actual. _top especifica el fotograma de nivel superior de la ventana actual. Si no se especifica ningún parámetro _target, el parámetro predeterminado será _self. Debe haber fotogramas en la ventana del navegador para que todos los parámetros _target funcionen según se ha especificado. Si no hay fotogramas en el navegador, _blank funcionará según lo esperado: abrirá la URL en una nueva ventana en blanco. Sin embargo, los parámetros _self, _parent y _top abren la URL en la misma ventana. Cambios en el comportamiento de SharedObject Las reglas de almacenamiento de objetos compartidos locales en Flash Lite 3.1 son ahora totalmente compatibles con las de Flash Player 8 (escritorio). Antes de Flash Lite 3.1, la ubicación de un objeto compartido se derivaba del nombre del archivo SWF, por lo que B.swf no podía acceder a un objeto compartido almacenado por A.swf, independientemente de la ubicación de estos archivos SWF. En Flash Lite 3.1, la ubicación de un objeto compartido se deriva de su URL en lugar de su nombre, por lo que /data/A.swf, situado en un dispositivo móvil, puede acceder a los objetos compartidos almacenados por /B.swf. Otra diferencia clave entre Flash Lite 3.1 y las versiones anteriores es que, en las versiones anteriores, si se modificaba un archivo SWF, aunque su nombre siguiera siendo el mismo, sus objetos compartidos se consideraban diferentes de los originales. En Flash Lite 3.1, el objeto compartido de un archivo SWF se considera igual siempre que la URL o el entorno limitado sea el mismo, aunque se haya modificado o cambiado el nombre del archivo SWF. Además, antes de 3.1, dos versiones diferentes de un archivo SWF no podían acceder a los objetos compartidos de ambos; en 3.1, sí pueden. Flash Lite 3.1 incorpora algunos cambios de comportamiento importantes que se introdujeron en Flash Lite 3.0. Antes de Flash Lite 3.0, los objetos compartidos de Flash Lite sólo estaban disponibles para los archivos SWF almacenados localmente. Los archivos SWF que se reproducen desde la red no pueden utilizar objetos compartidos de Flash Lite. En Flash Lite 3.0 y versiones posteriores, los archivos SWF que se ejecuten en un recinto de seguridad de la red pueden acceder y almacenar objetos compartidos. Además, a partir de Flash Lite 3.0, todos los archivos SWF de red podían acceder a objetos compartidos locales y almacenarlos, pero el acceso se limitaba a los archivos SWF. En Flash Lite 3.1, todos los archivos SWF originados a partir del mismo dominio de red pueden acceder a sus respectivos objetos compartidos. Parámetros opcionales para SharedObject.getLocal La clase SharedObject tiene un método getLocal con dos parámetros opcionales. • secure: parámetro booleano (introducido en Flash 8) que puede usar para distinguir entre objetos compartidos originados a partir de dominios HTTP y HTTPS. Flash Lite 3.1 admite ahora el parámetro secure. • localPath: no se admite en Flash Lite. API Image Flash Lite 3.1 admite las API que usan los desarrolladores de aplicaciones para aumentar la expresividad trasladando, girando, escalando y sesgando las imágenes de las aplicaciones móviles. Los paquetes flash.display y flash.geom, que se introdujeron por primera vez en Flash 8, forman la base de esta nueva funcionalidad. El paquete flash.display admite la clase BitmapData, que puede usar para crear mapas de bits de tamaños aleatorios, y flash.geom admite las clases y los métodos que usa para realizar manipulaciones en el nivel de los píxeles, como trasladar, girar, escalar y sesgar. La Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x de Adobe ofrece detalles completos acerca del uso de estos paquetes. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 5 Última modificación 1/5/2010 Información general sobre Flash Lite 2.x y 3.x Clase flash.display.BitmapData Esta clase le permite crear imágenes de mapas de bits transparentes u opacas de tamaño arbitrario y manipularlas de diferentes maneras en tiempo de ejecución, lo que distingue las operaciones de representación de mapas de bits de las rutinas internas de actualización de la visualización del reproductor de Flash Lite. Puede asociar objetos BitmapData a objetos MovieClip utilizando el método MovieClip.attachBitmap(). Los siguientes métodos BitmapDataClass se admiten parcialmente o no se admiten en Flash Lite 3.1. Los demás métodos funcionan como se explica en la documentación de Flash Lite. Métodos admitidos sólo parcialmente Los siguientes métodos BitmapDataClass se admiten parcialmente en Flash Lite 3.1. Método Descripción copyPixels Proporciona una rutina rápida para la manipulación de píxeles entre imágenes sin efectos de color, rotación ni expansión. Flash Lite 3.1 no admite los parámetros alphaBitmap, alphaPoint o mergeAlpha de este método. draw Dibuja un clip de película o una imagen de origen en una imagen de destino, utilizando el procesador de vectores del reproductor de Flash Lite. Flash Lite 3.1 no admite el parámetro blendmode de este método. Métodos no admitidos Los siguientes métodos BitmapDataClass no se admiten en Flash Lite 3.1. Método Descripción applyFilter Toma una imagen de origen y un objeto de filtro y genera la imagen filtrada. Flash Lite 3.1 no admite filtros, por lo que este método no es compatible. generateFilterRect Determina el rectángulo de destino al que afecta la llamada al método applyFilter() (), dados un objeto BitmapData, un rectángulo de origen y un objeto de filtro. Flash Lite 3.1 no admite filtros, por lo que este método no es compatible. noise Rellena una imagen con píxeles que representan ruido aleatorio. Flash Lite 3.1 no admite este método. paletteMap Reasigna los valores del canal de color en una imagen proporcionada a cuatro conjuntos de datos de la paleta de colores, una por cada canal. Flash Lite 3.1 no admite este método. perlinNoise Crea una imagen de ruido Perlin. Flash Lite 3.1 no admite este método. pixelDissolve Realiza una disolución de píxeles de una imagen de origen a una imagen de destino, o bien utilizando la misma imagen. Flash Lite 3.1 no admite este método. scroll Desplaza una imagen una determinada cantidad de píxeles (x, y). Flash Lite 3.1 no admite este método. threshold Prueba valores de píxel en una imagen con un umbral especificado y define los píxeles que se pasan para probar los valores del nuevo color. Flash Lite 3.1 no admite este método. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 6 Información general sobre Flash Lite 2.x y 3.x Clase flash.geom.Point Esta clase representa una ubicación en un sistema de coordenadas bidimensional, donde x representa el eje horizontal e y representa el eje vertical. Esta clase se admite totalmente en Flash Lite 3.1. Clase flash.geom.Matrix Esta clase representa una matriz que determina cómo asignar puntos de un espacio de coordenadas a otro. Si establece las propiedades de un objeto Matrix y lo aplica a un objeto MovieClip o BitmapData, puede realizar varias transformaciones gráficas en el objeto. Entre estas funciones de transformación se incluyen trasladar, girar, escalar y sesgar. Flash Lite 3.1 admite todos los métodos de la clase Flash.geom.matrix, excepto createGradientBox. Clase flash.geom.ColorTransform Esta clase permite ajustar matemáticamente todos los valores de color de un clip de película. La función de ajuste del color o la transformación del color se puede aplicar a los cuatro canales: rojo, verde, azul y transparencia alfa. Esta clase se admite totalmente en Flash Lite 3.1. Clase flash.geom.Rectangle Esta clase la utiliza el objeto BitmapData para manipular un área específica de un mapa de bits. Esta clase proporciona métodos de utilidad para manipular uno o más rectángulos. Esta clase se admite totalmente en Flash Lite 3.1. Clase flash.geom.Transform Esta clase recopila datos acerca de las transformaciones de color y las manipulaciones de coordenadas que se aplican a un objeto MovieClip. Un objeto Transform normalmente se consigue obteniendo el valor de la propiedad transform de un objeto MovieClip. Esta clase se admite totalmente en Flash Lite 3.1. setTimeout/clearTimeout Las funciones globales de ActionScript 2.0 setTimeout y clearTimeout no se admitían en Flash Lite 3.0, pero sí se admiten en Flash Lite 3.1. La función setTimeout se usa para ejecutar una función específica después de una demora especificada (en milisegundos). Tenga en cuenta que el uso de setTimeOut/clearTimeOut junto con el texto de entrada en línea puede causar problemas para las aplicaciones en las que el tiempo es importante, como los concursos o los juegos en línea, dado que los procesos en segundo plano de todo ActionScript (incluido el temporizador) se detienen mientras el usuario del dispositivo introduce texto. Funcionalidad de búsqueda de flujo de vídeo Flash Lite 3.1 admite la funcionalidad de búsqueda en flujo de vídeo de Flash (FLV). En Flash Lite 3.0, la reproducción de vídeo sólo incluía una compatibilidad mínima para las búsquedas. La búsqueda de una posición situada delante o detrás con relación a la posición de lectura actual sólo se admitía para vídeos HTTP pequeños. Flash Lite 3.1 también admite la capacidad de realizar búsquedas dentro vídeos FLV grandes. La búsqueda hacia atrás siempre se ha admitido, pero la búsqueda hacia delante se admite con algunas limitaciones. La búsqueda hacia delante sólo funciona para la parte de la secuencia de datos que se ha descargado. Si intenta buscar una posición situada más allá del final del flujo descargado no se realizará ninguna búsqueda; en lugar de eso, seguirá reproduciéndose el vídeo desde la posición principal actual. La funcionalidad de búsqueda se usa junto con la clase Netstream. Netstream.seek() se usa para buscar hacia delante o hacia atrás en el flujo de vídeo HTTP. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 7 Información general sobre Flash Lite 2.x y 3.x Flujo de archivos mp3 Flash Lite 3.1 admite el flujo de archivos de sonido mp3 mediante el objeto Sound de ActionScript. En Flash Lite 3.0, los archivos mp3 se tuvieron que descargar totalmente antes de que se pudieran decodificar y reproducir, y pueden producirse errores si el dispositivo no pudo asignar suficiente memoria al procesamiento del archivo completo. Flash Lite 3.1 admite el flujo de sonido progresivo por los protocolos HTTP y del sistema local de archivos, lo que significa que los archivos mp3 se pueden transmitir sin interrupción desde un servidor web o desde el sistema de almacenamiento local de archivos del dispositivo. Los datos en formato mp3 se procesan al descargarse, lo que optimiza el consumo de memoria y permite que los dispositivos reproduzcan archivos mp3 de un tamaño superior al que se podía reproducir en Flash Lite 3.0. Extensiones de ActionScript La función Extensions de Flash Lite 3.1 permite que otros desarrolladores añadan funciones y API de ActionScript a Flash Lite mediante una biblioteca vinculada de manera estática o dinámica. La DLL proporciona la implementación de las funciones, y Flash Lite permite que se use la DLL llamando a las API de ActionScript. Esto permite que los desarrolladores de Flash Lite interactúen con las API expuestas por dispositivos host escribiendo una DLL que conecte las capacidades del dispositivo y de Flash Player. Estas extensiones se pueden vincular de manera estática o dinámica a la implementación del host. Por ejemplo, si usan esta capacidad, los desarrolladores pueden escribir aplicaciones que accedan al sistema de archivos del dispositivo, o bien usar los datos de GPS proporcionados por el dispositivo, y así consecutivamente. Nota: la función Extensions de ActionScript está disponible para otros desarrolladores sólo si la ha activado el fabricante del dispositivo de destino. Mejoras de vídeo Se han realizado las siguientes mejoras a la funcionalidad de vídeo en Flash Lite 3.1. Reproducción de vídeo H.264 Al igual que la versión 9.2 de Flash Player de escritorio, Flash Lite 3.1 puede reproducir archivos SWF de Flash 7, 8 y 9 que usan FLV sustituyendo FLV por H.264 en el servidor (Flash Media Server o HTTP). Posprocesamiento de vídeo Flash Lite 3.1 admite el posprocesamiento de vídeo (mediante las propiedades de suavizado y desbloqueo del objeto Video) que produce una mejor calidad de visualización de los archivos de vídeo en los dispositivos. Funciones de Flash Lite 3.0 Nuevas funciones de Flash Lite 3.0 Mejoras de rendimiento Se han introducido varios cambios en el reproductor para mejorar su rendimiento en dispositivos móviles y mejorar la experiencia del usuario del dispositivo al ver e interactuar con el contenido. Consulte “Mejoras de rendimiento” en la página 8 para obtener más información. Capacidades de vídeo mejoradas Admite Flash Video (FLV) y vídeo del dispositivo. Consulte “Capacidad de vídeo mejorada” en la página 8 para obtener más información. Navegabilidad por contenido web Admite la reproducción de la mayoría del contenido de Flash 8 en dispositivos móviles con cierta pérdida de fidelidad. Consulte “Navegabilidad por contenido web” en la página 8 para obtener más información. Seguridad de archivos locales Proporciona un plan de seguridad para Flash Lite coherente con el modelo de seguridad introducido en Flash Player 8. Consulte “Seguridad de archivos locales” en la página 9 para obtener más información. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 8 Información general sobre Flash Lite 2.x y 3.x Gestión de contenido Proporciona una API para leer metadatos SWF. Los desarrolladores de contenido pueden utilizar metadatos para segmentar el contenido en dispositivos y controlar algunos aspectos del modo de gestionar el contenido. Consulte “Gestión de contenido” en la página 10 para obtener más información. Mejoras de rendimiento Aceleración de representación de gráficos Representa el texto desplazable, los traslados de vectores y los vectores animados con rellenos opacos de forma rápida y eficiente. Reducción de memoria de tiempo de ejecución “Cargas diferidas” de clases ActionScript™ en tiempo de ejecución, para que en el inicio sólo se cargue el código ActionScript necesario para representar el primer fotograma. Otras clases ActionScript se cargan a medida que el contenido las necesita. Capacidad de vídeo mejorada Flash Lite 2.x admite sólo vídeo de dispositivo, lo que significa que depende del dispositivo para decodificar y representar vídeo. Queda limitado por los formatos de vídeo admitidos por un dispositivo en concreto, no puede sincronizar el vídeo con la línea de tiempo, controlar el volumen del clip de vídeo ni girar, sesgar, componer ni mezclar vídeo con otros medios. (El vídeo siempre queda por encima de cualquier otro contenido de Flash). Flash Lite 3.0 añade compatibilidad con Flash Video (FLV) utilizando versiones de los códecs On2 y Sorenson optimizados para dispositivos móviles. El vídeo FLV se representa directamente en el reproductor Flash Lite en lugar del dispositivo, por lo que ya no tendrá que preocuparse por si los dispositivos de destino admiten o no un formato de vídeo en particular. Flash Lite 3.0 admite la reproducción de Flash Video utilizando los siguientes métodos: • Incorporación de vídeo en archivos SWF • Descarga progresiva de vídeo desde carpetas locales y servidores web (HTTP) • Flujo de datos de vídeo desde Flash Media Server Consulte “Uso de vídeo” en la página 78 para obtener información sobre el uso de FLV en Flash Lite 3.0. Navegabilidad por contenido web Flash 8 admite la reproducción de la mayoría del contenido de Flash 8 en dispositivos móviles con cierta pérdida de fidelidad. Debido a los altos requisitos de procesador y de memoria necesarios para admitir las funciones que se encuentran en el conjunto de funciones Expressiveness de Flash 8, muchas de estas funciones no se admiten en Flash Lite 3.0. Estas funciones de expresividad son: almacenamiento en caché de mapas de bits, modos de mezcla, filtros de mapas de bits, trazos mejorados, degradados mejorados y cambio de escala de 9 divisiones. Cuando Flash Lite encuentra cualquiera de estas funciones en un archivo SWF, representa estos objetos sin la expresividad añadida para mantener una experiencia móvil útil. La tabla siguiente describe el contenido y las funciones de Flash 8 admitidos, admitidos parcialmente o no admitidos. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 9 Última modificación 1/5/2010 Información general sobre Flash Lite 2.x y 3.x Capacidad Se admite Detalles Etiquetas HTML básicas de Flash 8 Sí El reproductor de Flash Lite ahora puede reconocer y reproducir la mayoría del contenido de Flash 8, con cierta pérdida de fidelidad. Mejoras de seguridad Sí El modelo de seguridad de Flash Lite ahora es coherente con el modelo de seguridad del reproductor de escritorio. Consulte “Seguridad de archivos locales” en la página 9 para obtener detalles. Flash Video Sí El reproductor de Flash Lite ahora añade compatibilidad con Flash Video (FLV) utilizando versiones de los códecs On2 y Sorenson optimizados para dispositivos móviles. También admite la implementación de cliente RTMP (unidireccional, no bidireccional en tiempo real). Consulte “Capacidad de vídeo mejorada” en la página 8 para obtener detalles Etiqueta base HTML Sí Permite que Flash Lite tenga un comportamiento parecido a Flash Player en el escritorio. Texto FlashType Se admite de forma parcial No es fundamental la compatibilidad completa para mostrar contenido. El texto se representa, pero sin la implementación completa de FlashType. Almacenamiento en caché No de mapas de bits, efectos y mejoras No se implementan porque casi siempre requieren compatibilidad de coma flotante o realizan excesivas demandas de recursos de procesador o de memoria. Degradados focales No se implementan porque requieren un uso intensivo del procesador y no son fundamentales para mostrar el contenido. No Seguridad de archivos locales En Flash Lite 2.x, se permite a los archivos SWF locales interactuar con datos y cargarlos desde otros archivos SWF, ya sean locales o remotos. Esto crea una vulnerabilidad en la seguridad porque un archivo SWF no de confianza (descargado, por ejemplo, como archivo adjunto en un correo electrónico) puede acceder a datos privados almacenados en el dispositivo y volver a enviarlos al autor del contenido a través de una conexión HTTP. Flash Lite 3.0 introduce un nuevo modelo de seguridad basado en el de Flash Player 8. Todos los archivos SWF se colocan en un “entorno limitado” al cargarlos en el reproductor de Flash Lite. Los archivos SWF se asignan a diferentes entornos limitados según su punto de origen. Los archivos SWF de red se colocan siempre en un entorno limitado remoto que se corresponde con su dominio de origen. Los archivos SWF de red pueden leer los datos únicamente de su dominio de origen. No pueden acceder a datos de otros dominios a menos que esos dominios concedan explícitamente permiso para el archivo SWF que realiza la solicitud. Por ejemplo, un archivo SWF de a.com puede leer (utilizando XML.load, por ejemplo) desde el servidor de b.com si b.com tiene un archivo de política que permite el acceso desde a.com (o desde todos los dominios). Un archivo SWF de a.com puede realizar un cross-script de un archivo SWF desde b.com (llamando a un método ActionScript™ del archivo SWF de b.com, por ejemplo) si el archivo SWF de b.com llama a System.security.allowDomain para permitir el acceso desde a.com. Los archivos SWF desde orígenes locales (sistema de archivos locales) se colocan en uno de los tres entornos limitados, del modo siguiente. Locales con sistema de archivos Los archivos SWF pueden leer (utilizando XML.load, por ejemplo) archivos en sistemas de archivos locales, pero no se pueden comunicar con la red de ningún modo. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 10 Última modificación 1/5/2010 Información general sobre Flash Lite 2.x y 3.x Locales de confianza Los archivos SWF pueden leer archivos locales, interactuar con cualquier servidor y crear un guión de cualquier otro archivo SWF. (En Flash Lite 2.1, todos los archivos locales se encuentran de hecho en este entorno limitado). Locales con recinto limitado de red Se permite que los archivos SWF se comuniquen con otros archivos SWF locales con red y que envíen datos a servidores (utilizando XML.send, por ejemplo). Nota: este nuevo plan de seguridad afecta a la funcionalidad de casi todo el ActionScript relacionado con la carga de datos o el cross-script, lo que incluye funciones muy comunes, como getURL, loadMovie, loadMovieNum, loadVars, loadSound, XMLSocket.send y XMLSocket.load. Para ver una lista completa de todas las funcionalidades de API que se ven afectadas por la seguridad, consulte API relacionadas con la seguridad en Flash Player 8 (PDF) en el sitio web del Centro de desarrollo de Flash Player. Consulte la ayuda de productos de Flash 8 para obtener información sobre cómo funciona el modelo de seguridad de Flash Player 8. Al utilizar esta ayuda, tenga en cuenta que existen las siguientes diferencias entre los modelos de seguridad de Flash Lite 3.0 y Flash Player 8: • La gestión de la confianza la realiza la aplicación host en Flash Lite. • No se requieren archivos de configuración de confianza en Flash Lite. • Los desarrolladores de archivos SWF, los fabricantes y los portadores toman todas las decisiones de seguridad en Flash Lite. No existe confianza con mediación del usuario ni un administrador de configuración. Sin embargo, la aplicación host puede proporcionar un mecanismo mediante el que los usuarios pueden tomar decisiones limitadas de seguridad. Por ejemplo, el host puede permitir a los usuarios diseñar un archivo SWF en concreto como de confianza. • Las operaciones prohibidas fallan sin ninguna indicación; no se muestra ningún cuadro de diálogo en Flash Lite. Gestión de contenido Flash Lite 3.0 proporciona una API que permite al host del dispositivo leer información de metadatos SWF, que es información estándar incorporada en archivos SWF. Si el host decide implementar esta función, los desarrolladores de contenido de Flash Lite pueden utilizar la información de metadatos para organizar y categorizar el contenido en el dispositivo. Se pueden incluir las siguientes categorías como metadatos. Tenga en cuenta que algunas de estas categorías las puede implementar de forma diferente (o no implementarlas) el fabricante de los dispositivos para los que usted está desarrollando el contenido. Título Descripción Autor del contenido Nombre del autor del contenido. Nombre de la empresa Nombre de empresa del autor del contenido. Título Título del contenido. Descripción Descripción del contenido. Información de derechos de autor Detalles relevantes de derechos de autor. Versión del contenido Número de versión del contenido (NO versión de Flash). Tipo(s) de contenido Categorías de tipo(s) de contenido para el archivo de contenido. Consulte la tabla de tipos de contenido siguiente para ver la terminología para tipos de contenido. Bloqueo de reenvío Especifica si se puede transferir el archivo de contenido a otro dispositivo. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 11 Última modificación 1/5/2010 Información general sobre Flash Lite 2.x y 3.x Título Descripción Resoluciones de visualización admitidas Lista de las resoluciones admitidas por el contenido. Icono Tipo y ubicación del icono para el contenido. Perfil de Flash Player Versión de Flash/Flash Lite para la que se ha publicado el contenido. Tamaño de almacenamiento Tamaño de almacenamiento (tamaño de SharedObject) que necesita el contenido. Si no se especifica el tamaño, se asigna al contenido el tamaño predeterminado establecido por la plataforma (por lo general, de 4 KB). Alfa de fondo Valor de alfa preferido y modo de mezcla para la función de transparencia de fondo. Bucle Comportamiento del bucle: el contenido se repite indefinidamente o se detiene tras el último fotograma. Calidad predeterminada Nivel de calidad en el que se debe reproducir el contenido. Se pueden utilizar los siguientes tipos de contenido para segmentar el contenido para los dispositivos y controlar algunos aspectos del modo de gestionar el contenido. Tipo de contenido Descripción Protector de pantalla Animación Flash que se muestra cuando se produce un tiempo de espera especificado por el dispositivo. Tono de llamada Animación que se reproduce cuando el teléfono está recibiendo una llamada entrante. Fondo Fondo de pantalla animado que se muestra detrás de la pantalla inactiva/principal. Juego Juego interactivo Aplicación Aplicación independiente Presentación Presentación convertida en película Flash Icono Icono animado basado en Flash Película Película Flash animada Máscara Máscara o tema para el teléfono o para una aplicación en concreto Inicio Animación del inicio Cierre Animación del cierre Otros Contenido de Flash que no encaja en ninguna de las categorías anteriores Funciones de Flash Lite 2.x Acerca de las funciones de Flash Lite 2.x Flash Lite 2.0 y 2.1 (denominados colectivamente 2.x) se basan en Flash Player 7 y admiten casi todas las funciones disponibles en esa versión de Flash Player, incluidos el procesamiento XML y ActionScript 2.0. Flash Lite 2.x también contiene varias funciones no disponibles en Flash Player 7, que están diseñadas para aplicaciones móviles. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 12 Información general sobre Flash Lite 2.x y 3.x Nuevas funciones de Flash Lite 2.1 Una de las nuevas funciones de Flash Lite 2.1 es la compatibilidad con la introducción de texto en línea. En versiones anteriores de Flash Lite, los campos de introducción de texto utilizaban el cuadro de diálogo de introducción de texto genérico del dispositivo. En Flash Lite 2.1, se pueden editar los campos de introducción de texto directamente. Nota: los dispositivos que admiten idiomas complejos (por ejemplo, hebreo, árabe, farsi y algunos idiomas asiáticos) no son compatibles con la introducción de texto en línea. La funcionalidad de los campos de introducción de texto de estos dispositivos es igual en Flash Lite 2.1 y en Flash Lite 2.0. Flash Lite 2.1 permite la comunicación con sockets mediante la clase XMLSocket en los dispositivos compatibles. (Para obtener más información, consulte Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.0). Para obtener más información sobre los campos de introducción de texto, consulte “Uso de texto y fuentes” en la página 53. Flash Lite 2.1 también incorpora herramientas para el desarrollo de aplicaciones de Flash Lite que se ejecutan en dispositivos con la plataforma Binary Runtime Environment for Wireless® (BREW®) creada por QUALCOMM Incorporated. Para obtener más información sobre estas herramientas, consulte “Desarrollo de aplicaciones de Flash Lite para BREW” en la página 94. Nuevas funciones de Flash Lite 2.0 Flash Lite 2.0 incluye las siguientes funciones nuevas: • Compatibilidad con ActionScript 2.0, que permite utilizar técnicas de programación avanzada, como clases, interfaces o la función de clasificación por tipos estricta. • Reproducción de vídeo de dispositivo • Almacenamiento local de datos persistentes (objetos compartidos de Flash Lite). • Compatibilidad con la carga de formatos de imagen y sonido específicos del dispositivo. • Información sobre nuevas funciones del sistema. • Compatibilidad con teclas de dispositivo adicionales, incluida la compatibilidad con teclados occidentales estándar (QWERTY) y la posibilidad de utilizar hasta 12 teclas programables. • Formato de texto enriquecido (compatibilidad parcial). • Posibilidad de controlar la duración de la retroiluminación y de definir el color del rectángulo de selección. • Sonido de dispositivo sincronizado • Compatibilidad con procesamiento XML. Las siguientes funciones de Flash Player 7 no están disponibles en Flash Lite 2.0: • Varias de las clases de ActionScript disponibles en Flash Player 7 no son compatibles (total o parcialmente) con Flash Lite 2.0. Para obtener más información sobre las funciones de ActionScript disponibles, consulte el manual Introducción a ActionScript de Flash Lite 2.0. • Comunicación con sockets mediante la clase XMLSocket (disponible en Flash Lite 2.1). • Compatibilidad con la comunicación con Flash Media Server (disponible en Flash Lite 3.0) • Objetos remotos compartidos (compatibilidad parcial con objetos locales compartidos). • Compatibilidad nativa con la reproducción de Flash Video (FLV) (disponible en Flash Lite 3.0) • Compatibilidad con el protocolo de aplicación de Flash (protocolo de comunicación de datos binarios utilizado con Flash Remoting). • Formato de hojas de estilo en cascada (CSS) con campos de texto. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 13 Información general sobre Flash Lite 2.x y 3.x • Enmascaramiento con fuentes de dispositivo. • Suavizado de mapas de bits con representación de alta calidad. ActionScript de Flash Lite 2.0 ActionScript de Flash Lite 2.0 es el lenguaje de creación de guiones utilizado en las aplicaciones de Flash Lite 2.0 y Flash 2.1. Tiene en común parte del ActionScript empleado en Flash Player 7, pero no todo. Flash Lite 2.0 también incluye varias funciones añadidas y ampliadas de ActionScript que permiten, por ejemplo, obtener información sobre el dispositivo, hacer llamadas de teléfono o controlar la duración de la retroiluminación. Se puede utilizar la sintaxis de ActionScript 2.0 o ActionScript 1.0 para desarrollar aplicaciones de Flash Lite 2.0. ActionScript 2.0 es compatible con la edición de clases, interfaces y la función "strict data typing". Gracias a la sintaxis de ActionScript 2.0, el compilador de ActionScript puede ofrecer una mejor información de depuración y mejorar también el diseño de la programación. Para obtener más información sobre el aprendizaje de ActionScript de Flash Lite 2.0, consulte los manuales y los temas siguientes: • Introducción a ActionScript en Flash Lite 2.x y 3.0 • Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.0 • El tema "Aprendizaje de ActionScript 2.0" en Uso de Flash Reproducción de vídeo de dispositivo Flash Lite 2.0 puede reproducir vídeo en cualquier formato originalmente compatible con el dispositivo de destino. Por ejemplo, algunos dispositivos graban y reproducen vídeo en formato de vídeo 3GP. Otros son compatibles con vídeo en formato AVI o MPEG. Durante la reproducción, Flash Lite transfiere los datos de vídeo originales al dispositivo para que los decodifique y los represente directamente en la pantalla. Para incorporar vídeo a las aplicaciones, se puede recurrir a uno de los métodos siguientes: • Empaquetar los datos de vídeo originales en el archivo SWF. • Cargar un archivo de vídeo externo desde la tarjeta de memoria del dispositivo o a través de la red. Para controlar la reproducción de vídeo en Flash Lite 2.0, se utiliza el objeto Video de ActionScript. Este objeto se introdujo en Flash Player 6 y ahora, en Flash Lite 2.0, contiene métodos adicionales para controlar el vídeo, como Video.play() y Video.pause(). También se puede utilizar el conjunto System.capabilities.videoMIMETypes para determinar qué formatos de vídeo son compatibles con el dispositivo. Para obtener más información sobre el objeto Video y el uso del vídeo en Flash Lite, consulte “Uso de vídeo” en la página 78. Carga de formatos de imagen y sonido específicos del dispositivo En Flash Lite 2.0, se puede cargar cualquier archivo de imagen o de sonido en un formato compatible con el dispositivo. Para cargar imágenes externas se utiliza la función global loadMovie() o el método MovieClip.loadMovie(). Por ejemplo, si el dispositivo es compatible con el formato de archivo PNG, se podría utilizar el código siguiente para cargar un archivo PNG desde un servidor web en la instancia de clip de película image_mc: image_mc.loadMovie("http://www.adobe.com/images/mobile.png"); Para cargar sonidos externos se utiliza el método Sound.loadSound(). En Flash Lite 2.0, se puede utilizar este método para cargar cualquier formato de sonido compatible con el dispositivo (por ejemplo, MIDI o SMAF). Para poder reproducir sonidos de dispositivos externos, éstos deben estar cargados completamente en la memoria. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 14 Información general sobre Flash Lite 2.x y 3.x Al igual que ocurría en Flash Lite 1.x, en Flash Lite 2.0 también se pueden reproducir sonidos de dispositivo empaquetados en un archivo SWF. Para obtener más información, consulte “Uso de sonido de dispositivo empaquetado” en la página 67. Para obtener más información sobre la carga de sonidos e imágenes externos, consulte el tema siguiente: Más temas de ayuda “Reproducción de sonidos de dispositivo externos” en la página 73 Objetos compartidos de Flash Lite Los objetos compartidos de Flash Lite permiten guardar datos una y otra vez en el dispositivo del usuario. Por ejemplo, se puede utilizar un objeto compartido para guardar información entre sesiones de aplicaciones, como las preferencias de usuario o las puntuaciones de los juegos. Se puede utilizar la clase SharedObject para leer y escribir en objetos compartidos de Flash Lite. Para obtener más información sobre la utilización de objetos compartidos de Flash Lite, consulte la clase SharedObject en el manual Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.0. Nota: la implementación de objetos compartidos en Flash Lite 2.0 no permite que varios archivos SWF compartan los mismos datos. Asimismo, ninguna de las versiones de Flash Lite admite objetos remotos compartidos en Flash Media Server. Sonido de dispositivo sincronizado En versiones anteriores de Flash Lite, sólo se podía sincronizar sonido nativo de Flash en las animaciones de la línea de tiempo. Pero no era posible hacerlo con sonidos de dispositivo, que se reproducen directamente en el dispositivo y no originalmente en Flash Lite. Ahora, en Flash Lite 2.0 se puede sincronizar el sonido de dispositivo con la línea de tiempo gracias a la nueva propiedad _forceframerate. Cuando esta propiedad se establece en true, Flash Lite omite fotogramas de la animación según se necesite para conservar la velocidad de fotogramas especificada en el archivo SWF. Para obtener más información, consulte “Sincronización de sonidos de dispositivo con animación” en la página 73 y la propiedad forceframerate en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.0. Funciones de texto Las siguientes funciones relacionadas con la gestión del texto son nuevas en Flash Lite 2.0: • En Flash Lite 2.0, todo el texto está basado en Unicode. • Flash Lite 2.0 es parcialmente compatible con el formato HTML y la clase TextFormat de ActionScript. Para obtener más información sobre el uso de campos de texto en Flash Lite 2.x, consulte “Uso de texto y fuentes” en la página 53. Compatibilidad adicional con teclas Flash Lite 2.0 incluye mayor compatibilidad con las teclas del dispositivo: admite teclados occidentales estándar (QWERTY) y hasta 12 teclas programables (incluidas las teclas programables izquierda y derecha habituales). Última modificación 1/5/2010 Capítulo 2: Introducción a Flash Lite Aplicación Flash Lite Hello World Este sencillo tutorial le presenta las funciones de análisis y edición móvil de Adobe® Flash® CS4 Professional, así como el flujo de trabajo general para crear contenido mediante Adobe Flash Lite. En esta sección, creará una sencilla aplicación Flash Lite y la probará en el emulador de Adobe Device Central CS4. Para ver una aplicación de ejemplo más completa, consulte “Tutorial: Creación de una aplicación Flash Lite” en la página 19. En este tutorial, se presupone que desea desarrollar contenido para el reproductor autónomo de Flash Lite. El procedimiento utiliza un dispositivo genérico. Primero, decida los dispositivos y el tipo de contenido de Flash Lite que va a utilizar. Para configurar y crear una sencilla aplicación Flash Lite 1 Inicie Flash. 2 En la pantalla principal de Flash, seleccione Crear nuevo > Archivo Flash (móvil). Flash abre Adobe Device Central y muestra la ficha Documento nuevo. 3 En la ficha Documento nuevo, seleccione Flash Lite 2.0 en el cuadro Versión del reproductor, Adobe ActionScript™ 2.0 en el cuadro Versión de ActionScript y Reproductor autónomo en el cuadro Tipo de contenido. 4 Haga clic en Tamaño personalizado para todos los dispositivos seleccionados situado en la parte inferior de la pantalla. Esto le permite crear contenido para el reproductor autónomo Flash Lite. 5 Haga clic en Crear. Vuelve a Flash, que crea un nuevo documento con configuraciones de publicación predeterminadas y, cuando especifique un dispositivo, el tamaño adecuado para el dispositivo que seleccionó. 6 En el panel Herramientas, seleccione la herramienta Texto y arrastre para crear un campo de texto en el escenario. Escriba Hello, world! (o cualquier otro texto) en el cuadro de texto. 7 Seleccione Control > Probar película para exportar su aplicación a Adobe Device Central y ver su aplicación en el emulador de Adobe Device Central. Nota: durante la evaluación en Device Central, puede cambiar el dispositivo y el tipo de contenido para ver su aplicación en una plataforma diferente. Para ello, haga doble clic en un dispositivo en el panel Biblioteca y seleccione un nuevo tipo de contenido en Tipo de contenido. Cuando regresa a Flash, éste recuerda las configuraciones que utilizó la última vez en el emulador. 8 Para volver a Flash, seleccione Archivo > Volver a Flash. El emulador de Adobe Device Central y la base de datos de dispositivos El emulador de Adobe Device Central le permite probar el contenido tal como se ejecutará y se mostrará en un dispositivo real. Puede seleccionar un dispositivo o un tipo de contenido de evaluación diferente y ver información detallada acerca de su aplicación. 15 Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 16 Introducción a Flash Lite Device Central incluye una exhaustiva base de datos de dispositivos móviles de entre los que puede seleccionar aquéllos con los que desea crear su propio entorno de evaluación. Consulte la documentación de Device Central para obtener más información. Flujo de trabajo para la edición de aplicaciones de Flash Lite La creación de contenido de Flash Lite es un proceso iterativo y requiere llevar a cabo los pasos siguientes: Identificar el dispositivo de destino y el tipo de contenido de Flash Lite Los distintos dispositivos disponen de pantallas de diferentes tamaños, admiten diferentes formatos de sonido y ofrecen varias profundidades de color, entre otras características. Estos factores pueden influir en el diseño o la implementación de la aplicación. Además, cada dispositivo admite distintos tipos de contenido de Flash Lite, como protectores de pantalla, aplicaciones autónomas o tonos de llamada animados. El tipo de contenido que desarrolle también determinará las características disponibles en la aplicación. Para obtener más información, consulte “Tipos de contenido de Flash Lite” en la página 17. Creación de la aplicación en Flash y prueba en Adobe Device Central Adobe Flash Professional incluye un emulador en Adobe Device Central CS4 que permite probar la aplicación sin tener que transferirla a un dispositivo. El emulador se utiliza para depurar el diseño de la aplicación y solucionar los posibles problemas antes de probarla en un dispositivo móvil. Probar la aplicación en el dispositivo o los dispositivos de destino Éste es un paso importante debido a que el emulador de Adobe Device Central no puede emular todos los aspectos de los dispositivos de destino, como la velocidad del procesador, la profundidad de color y la latencia de la red. Por ejemplo, es posible que una animación que se ejecuta sin problemas en el emulador no se ejecute tan rápidamente en el dispositivo, debido a la menor velocidad del procesador. También es posible que un degradado de color que aparece correctamente en el emulador se vea con bandas en el dispositivo real. Después de probar la aplicación en el dispositivo, es posible que deba depurar el diseño de la aplicación en la herramienta de edición de Flash. En la figura siguiente se muestra el proceso iterativo de desarrollo y prueba: DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 17 Última modificación 1/5/2010 Introducción a Flash Lite A B C A. Edición del archivo FLA en Adobe Flash B. Prueba del emulador de Adobe Device Central C. Prueba en un dispositivo Tipos de contenido de Flash Lite Antes de comenzar a desarrollar una aplicación Flash Lite, debe conocer la siguiente información: • El dispositivo o dispositivos en los que se ejecutará el contenido (dispositivos de destino). El reproductor Flash Lite se instala en una gran variedad de dispositivos. Puede ver una lista de los dispositivos con Flash Lite instalado en la página Supported Devices (Dispositivos admitidos) del sitio web de Adobe en www.adobe.com/go/mobile_supported_devices_es/. • Los tipos de contenido de Flash Lite que admiten los dispositivos de destino. Cada instalación de Flash Lite admite uno o varios modos de aplicación (tipos de contenido). Por ejemplo, algunos dispositivos utilizan Flash Lite para activar protectores de pantalla basados en Flash o tonos de llamada animados. Otros utilizan Flash Lite para mostrar contenido de Flash que se encuentra incorporado en las páginas web para móviles. Algunos tipos de contenido no admiten todas las características de Flash Lite. Cada tipo de contenido de Flash Lite, junto con un dispositivo concreto, establece el conjunto específico de características de Flash Lite que estarán disponibles en la aplicación. Por ejemplo, una aplicación Flash que se ejecute como un protector de pantalla normalmente no podrá realizar conexiones de red ni descargar datos. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 18 Introducción a Flash Lite Las funciones de realización de pruebas con Flash Lite incluidas en Adobe Device Central permiten probar varios dispositivos y diferentes tipos de contenido de Flash Lite. Esto permite comprobar si la aplicación utiliza funciones que no están disponibles para el tipo de contenido que está desarrollando. Para obtener más información acerca de la selección de dispositivos de destino y tipos de contenido, consulte “Prueba de contenido de Flash Lite” en la página 116 en Desarrollo de aplicaciones Flash Lite 2.x y 3.x. Última modificación 1/5/2010 Capítulo 3: Tutorial: Creación de una aplicación Flash Lite En este tutorial creará una aplicación Adobe Flash Lite para promocionar un restaurante ficticio llamado Café Townsend. Los usuarios pueden ver una lista de las especialidades del restaurante, ver un vídeo sobre el chef y llamar al restaurante para realizar una reserva. Los usuarios también pueden definir el sitio en el que prefieren realizar la reserva mediante un objeto compartido que almacena sus preferencias entre las distintas sesiones de la aplicación. Visualización de la aplicación finalizada Existen dos versiones de la aplicación finalizada: una versión que usa un archivo de vídeo de dispositivo 3GP y otra versión que usa un archivo FLV. Puede ver las versiones en el emulador de Adobe Device Central. También puede transferir las aplicaciones finalizadas a la versión autónoma del reproductor Flash Lite instalada en un dispositivo móvil. Device Central no admite todos los comandos de ActionScript de Adobe. Por ejemplo, Device Central no admite fscommand2("Quit") o getURL(). Device Central envía mensajes a la ventana de salida para comprobar que se ha llamado a todos los comandos. Para ver los mensajes, elija Ventana > Salida Flash (Device Central CS4) o Ver > Salida Flash > Mostrar (Device Central CS3). Para obtener más información, consulte “Funciones de Flash Lite no admitidas por el emulador” en la página 121. 1 Descargue y descomprima los archivos de tutoriales. Vaya a www.adobe.com/go/learn_flt_samples_and_tutorials_es. Descargue el archivo ZIP de su versión de Flash Lite. 2 En Flash, elija Archivo > Abrir y navegue hasta el archivo llamado cafe_tutorial_complete.fla o cafe_tutorial_FLV_complete.fla en la carpeta de tutoriales. 3 Seleccione Control > Probar película para probar la aplicación con Adobe Device Central. 4 Para interactuar con la aplicación, realice lo siguiente: • En la pantalla principal, haga clic en la tecla abajo para seleccionar la opción de menú Specials. Haga clic en la tecla de selección para ver la pantalla de especialidades. • En la pantalla de especialidades, haga clic en la tecla programable derecha (Next) del emulador para ver la imagen y la descripción de cada especialidad. Haga clic en la tecla programable izquierda (Home) para volver a la pantalla principal. • Seleccione la opción de menú View Video para ver el vídeo. Haga clic en la tecla programable izquierda (Home) para volver a la pantalla principal. También puede hacer clic en la tecla programable derecha (Pause) para poner el vídeo en pausa. • En la pantalla principal, haga clic en la tecla programable izquierda (Set Location) para acceder a la pantalla en la que va a definir su ubicación. Seleccione la ubicación que prefiera para las reservas y, a continuación, haga clic en la tecla programable izquierda (Save) para definir la ubicación y volver a la pantalla principal (o haga clic en Cancel). • Desde la pantalla principal, seleccione la opción de menú Reservations para realizar una llamada de teléfono al restaurante. En la ventana de salida, confirme que el número de teléfono coincide con el de la ubicación que definió previamente. 19 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 20 Última modificación 1/5/2010 Tutorial: Creación de una aplicación Flash Lite Creación de la aplicación Creación del menú para la pantalla principal 1 En Flash, elija Archivo > Abrir y vaya al archivo llamado cafe_tutorial_start.fla de la carpeta de tutoriales. 2 Elija Archivo > Guardar como y guarde el archivo como cafe_tutorial.fla. 3 En la línea de tiempo (Ventana > Línea de tiempo), seleccione el fotograma 1 en la capa Menu. 4 Abra el panel Biblioteca (Ventana > Biblioteca) y arrastre una instancia del botón Specials hasta el escenario. Realice lo siguiente: a Coloque el botón Specials debajo del campo de texto con la presentación del restaurante. b Con el botón Specials seleccionado, en el inspector de propiedades, escriba specials_btn en el cuadro de nombre de instancia. 5 Arrastre una instancia del botón de vídeo desde el panel Biblioteca hasta el escenario. Realice lo siguiente: • Coloque el botón de vídeo debajo del botón Specials. • Con el botón de vídeo seleccionado, en el inspector de propiedades, escriba video_btn en el cuadro de nombre de instancia. 6 Arrastre una instancia del botón Reservations desde el panel Biblioteca hasta el escenario. Realice lo siguiente: • Coloque el botón Reservations debajo del botón de vídeo. • Con el botón Reservations seleccionado, en el inspector de propiedades, escriba reservations_btn en el cuadro de nombre de instancia. 7 El escenario debería parecerse a la siguiente imagen: A B C A. specials_btn B. video_btn C. reservations_btn 8 En la línea de tiempo, seleccione el fotograma 1 en la capa denominada ActionScript. Abra el panel Acciones (Ventana > Acciones) e introduzca el siguiente código: Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 21 Tutorial: Creación de una aplicación Flash Lite stop(); _focusrect = false; fscommand2("SetSoftKeys", "Set Location", "Exit"); fscommand2("Fullscreen", "true"); El código hace lo siguiente: • Detiene la cabeza lectora en este fotograma. • Desactiva el rectángulo de selección que Flash Lite dibuja de forma predeterminada alrededor del botón o campo de entrada de texto que estén resaltados (consulte “El rectángulo de selección” en la página 39). • Registra las teclas programables que utilizará la aplicación. • Muestra la aplicación a pantalla completa. Con Flash Lite en modo de pantalla completa, las etiquetas especificadas con el comando SetSoftKeys no son visibles. Por este motivo, debe añadir etiquetas de teclas programables personalizadas al escenario. 9 Añada el código siguiente en el fotograma 1 para gestionar eventos de botón para los botones del menú y para la selección: // // // if Set initial focus when the application starts and also upon returning to the main screen from another screen. (selectedItem == null) { Selection.setFocus (specials_btn); } else { Selection.setFocus (selectedItem); } // Assign onPress event handlers to each menu button, // and set selectedItem variable to selected button // object: specials_btn.onPress = function () { gotoAndStop ("specials"); selectedItem = this; }; video_btn.onPress = function () { gotoAndStop ("video"); selectedItem = this; }; reservations_btn.onPress = function () { if (location_so.data.phoneNumber == undefined) { // User hasn't specified location so // go to "set location" screen: gotoAndStop ("locations"); } else { // Call number in shared object: var phoneNum = location_so.data.phoneNumber; getURL ("tel:" + phoneNum); } selectedItem = this; }; Los controladores de eventos onPress asignados a los botones denominados specials_btn y video_btn envían la cabeza lectora a los fotogramas etiquetados como “specials” y “video”. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 22 Tutorial: Creación de una aplicación Flash Lite Cuando el usuario selecciona la opción Reservations, el controlador onPress marca el número de teléfono especificado en el objeto compartido location_so. (Más adelante en este mismo procedimiento escribirá código para crear el objeto compartido). Si el usuario aún no ha especificado ninguna ubicación para llamar y realizar la reserva, la aplicación enviará la cabeza lectora al fotograma etiquetado como “locations”, donde el usuario puede seleccionar la ubicación que prefiera para realizar las reservas. 10 Añada el siguiente código al fotograma 1 para crear un detector de teclas para las teclas programables izquierda y derecha: Key.removeListener(myListener); var myListener:Object = new Object(); myListener.onKeyDown = function() { var keyCode = Key.getCode(); if (keyCode == ExtendedKey.SOFT1) { // Handle left soft key event: gotoAndStop("locations"); } else if (keyCode == ExtendedKey.SOFT2) { // Handle right soft key event: fscommand2("Quit"); } }; Key.addListener(myListener); Este código emplea un objeto detector de teclas para controlar los eventos de las teclas programables izquierda y derecha. Cuando el usuario pulse la tecla programable izquierda, la cabeza lectora se envía al fotograma etiquetado como “locations”. La tecla programable derecha cierra la aplicación. Para obtener más información sobre el uso de detectores de eventos, consulte “Gestión de pulsación de teclas con un detector de teclas” en la página 49. 11 Añada código para inicializar el objeto compartido en el que se guardará la ubicación preferida para realizar las reservas: // Define Shared Object listener function: function so_listener (the_so:SharedObject) { if (the_so.getSize () == 0) { // The shared object doesn't exist, so the user // hasn't set a preference yet. } SharedObject.removeListener ("location"); } // Create shared object: location_so = SharedObject.getLocal ("location"); // Add SharedObject listener object: SharedObject.addListener ("location", this, "so_listener"); 12 Seleccione Archivo > Guardar. 13 Para probar lo realizado hasta ahora en Device Central, seleccione Control > Probar película. En este momento, puede seleccionar una opción de menú seleccionando el botón correspondiente y pulsando la tecla de selección (o la tecla Intro del teclado de su equipo). Abra la ventana Salida en Device Central para ver información sobre los comandos no admitidos. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 23 Tutorial: Creación de una aplicación Flash Lite Creación de la pantalla de especialidades Cree una animación con transiciones entre las imágenes de cada especialidad. Añada elementos de la interfaz de usuario y código ActionScript que permitirán al usuario navegar por las imágenes. Añada código ActionScript para mostrar el nombre y la descripción de cada especialidad debajo de la imagen. Creación de la animación de imágenes Para crear la animación, utilizará un clip de película creado previamente que contiene imágenes de todas las especialidades dispuestas en una columna vertical. Utilice una capa de máscara para que sólo una imagen esté visible. Una animación de interpolación desplaza las imágenes por la máscara. La última imagen del clip de película es un duplicado de la primera, de modo que la secuencia de animación pueda volver a su estado inicial después de que el usuario haya visto la última imagen. A B C D A. Objeto de capa de máscara B. Clip enmascarado de película de imágenes C. Dirección de interpolación D. Imagen duplicada 1 Abra el archivo cafe_tutorial.fla que finalizó en la sección “Creación del menú para la pantalla principal” en la página 20. 2 En la línea de tiempo, seleccione el fotograma clave del fotograma 10 de la capa llamada Specials Photos. 3 Abra el panel Biblioteca y arrastre el símbolo denominado “clip de película Specials” hasta el escenario. 4 Con el nuevo clip de película Specials seleccionado, defina las coordenadas x e y en 0 en el inspector de propiedades. De este modo, la esquina superior izquierda del clip de película Specials se alinea con la esquina superior izquierda del escenario. 5 En la capa Specials Photos, seleccione los fotogramas 20, 30, 40 y 50, y pulse F6 para insertar fotogramas clave. Seleccione el fotograma 51 y pulse F7 para insertar un fotograma clave en blanco. La línea de tiempo debe parecerse a la siguiente imagen: 6 Seleccione el fotograma clave del fotograma 20, seleccione el clip de película Specials y defina su coordenada y en - 100 en el inspector de propiedades. 7 Seleccione el fotograma clave del fotograma 30 en la línea de tiempo, seleccione el clip de película Specials y defina su coordenada y en -200 en el inspector de propiedades. 8 Seleccione el fotograma clave del fotograma 40, seleccione el clip de película Specials y defina su coordenada y en - 300 en el inspector de propiedades. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 24 Tutorial: Creación de una aplicación Flash Lite 9 Seleccione el fotograma clave del fotograma 50, seleccione el clip de película Specials y defina su coordenada y en - 400 en el inspector de propiedades. 10 Seleccione un fotograma clave en el fotograma 10 y seleccione Movimiento en el menú emergente Animar del inspector de propiedades. De este modo, se interpolan las posiciones del clip de imágenes entre los fotogramas clave de los fotogramas 10 y 20. 11 Si desea crear transiciones entre otras imágenes, repita el paso 11 para los fotogramas clave que se encuentran entre los fotogramas 20, 30 y 40. 12 Para crear la capa de máscara, seleccione la capa de fotos Specials en la línea de tiempo y seleccione Insertar > Línea de tiempo > Capa (también puede hacer clic en Insertar capa en la línea de tiempo). 13 Haga doble clic en el nombre de la nueva capa y cámbiele el nombre a Mask. 14 Seleccione el fotograma 10 de la capa Mask y elija Insertar > Línea de tiempo > Fotograma clave. 15 Utilice la herramienta Rectángulo de la paleta Herramientas para crear un rectángulo sobre la primera imagen (superior) en el clip de imágenes. No importa el color que utilice para rellenar el rectángulo, sólo es necesario que sea opaco. A Rectángulo de enmascaramiento 16 Para que el rectángulo cubra toda el área de la imagen, haga doble clic en el mismo para seleccionarlo y utilice el inspector de propiedades para definir sus coordenadas x e y en 0, su anchura en 176 y su altura en 100. 17 Haga clic con el botón derecho del ratón (Windows®)) o con la tecla Control presionada (Macintosh®)) en la capa de máscara de imagen de la Línea de tiempo y elija Máscara en el menú contextual. La capa se convierte en una capa de máscara y se indica mediante un icono de capa de máscara. La capa situada inmediatamente debajo está vinculada a la capa de máscara y se muestra su contenido a través del área rellena en la máscara. Para más información sobre las operaciones con capas de máscara en Flash, consulte la sección de capas de máscara en Uso de Flash. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 25 Última modificación 1/5/2010 Tutorial: Creación de una aplicación Flash Lite A B C A. Capa de máscara B. Capa enmascarada C. Región enmascarada en el escenario 18 Guarde los cambios (Archivo > Guardar). Si prueba la aplicación ahora, no se reproducirá la animación de especialidades. En “Adición de elementos de navegación y texto a la pantalla de especialidades” en la página 25 se añade código ActionScript que detiene la animación en cada fotograma clave. También se añaden elementos de la interfaz de usuario que le permitirán navegar por las distintas imágenes. Adición de elementos de navegación y texto a la pantalla de especialidades 1 En Flash, abra el archivo cafe_tutorial.fla. 2 En la línea de tiempo, seleccione el fotograma 10 en la capa Text. 3 En la paleta Herramientas, seleccione la herramienta Texto y cree un campo de texto debajo de la primera imagen enmascarada de especialidades. Este campo de texto muestra el nombre de la especialidad cuya imagen aparece en la pantalla. A Campo de texto que mostrará el nombre de la especialidad 4 Con el campo de texto seleccionado en el escenario, realice los cambios siguientes en el inspector de propiedades: • Seleccione Texto dinámico en el menú emergente Tipo de texto. • Escriba title_txt en el cuadro de texto Nombre de instancia. • Seleccione la opción de estilo de texto Cursiva. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 26 Última modificación 1/5/2010 Tutorial: Creación de una aplicación Flash Lite • Defina el tamaño de fuente en 10. • Establezca el color de la fuente en blanco. • Seleccione Utilizar fuentes del dispositivo en el menú emergente Método de representación de fuentes. 5 Cree otro campo de texto debajo del primer campo de texto para mostrar una breve descripción de las especialidades que verá el usuario. 6 Utilice la herramienta Selección para cambiar el nuevo campo de modo que sea el triple que el campo de texto que le precede. A Campo de texto que mostrará la descripción de la especialidad 7 Con el campo de texto seleccionado en el escenario, realice los cambios siguientes en el inspector de propiedades: • Seleccione Texto dinámico en el menú emergente Tipo de texto. • Escriba description_txt en el cuadro de texto Nombre de instancia. • Seleccione Multilínea en el menú emergente Tipo de línea. • Defina el tamaño de fuente en 10. • Asegúrese de que no se selecciona la cursiva. • Establezca el color de la fuente en blanco. • Seleccione Utilizar fuentes del dispositivo en el menú emergente Método de representación de fuentes. 8 En la línea de tiempo, seleccione el fotograma clave del fotograma 10 de la capa denominada ActionScript. 9 Abra el panel Acciones e introduzca el siguiente código: stop(); fscommand2("SetSoftKeys", "Home", "Next"); title_txt.text = "Summer Salad"; description_txt.text = "Butter lettuce with apples, blood orange segments, gorgonzola, and raspberry vinaigrette."; Este código muestra la descripción del nombre de la primera especialidad en dos cambios de texto dinámicos. También detiene la cabeza lectora en el fotograma actual y registra las teclas programables. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 27 Tutorial: Creación de una aplicación Flash Lite 10 En la capa ActionScript, seleccione el fotograma clave del fotograma 20 e introduzca el código siguiente en el panel Acciones: stop(); title_txt.text = "Chinese Noodle Salad"; description_txt.text = "Rice noodles with garlic sauce, shitake mushrooms, scallions, and bok choy."; 11 En la capa ActionScript, seleccione el fotograma clave del fotograma 30 e introduzca el código siguiente en el panel Acciones: stop(); title_txt.text = "Seared Salmon"; description_txt.text = "Filet of wild salmon with caramelized onions, new potatoes, and caper and tomato salsa."; 12 En la capa ActionScript, seleccione el fotograma clave del fotograma 40 e introduzca el código siguiente en el panel Acciones: stop(); title_txt.text = "New York Cheesecake"; description_txt.text = "Creamy traditional cheesecake served with chocolate sauce and strawberries."; 13 En la capa ActionScript, seleccione el fotograma clave del fotograma 50 e introduzca el código siguiente en el panel Acciones: gotoAndStop("specials"); Este código devuelve la cabeza lectora al comienzo de la secuencia de animación. La primera y última imagen de la secuencia de animación son idénticas, lo que crea la ilusión de una animación continua. 14 En la línea de tiempo, seleccione el fotograma 10 en la capa denominada ActionScript. Abra el panel Acciones e introduzca el siguiente código: Key.removeListener (myListener); var myListener:Object = new Object (); myListener.onKeyDown = function () { var keyCode = Key.getCode (); if (keyCode == ExtendedKey.SOFT1) { // Handle left soft key event gotoAndPlay ("home"); } else if (keyCode == ExtendedKey.SOFT2) { // Handle right soft key event play (); description_txt.text = ""; title_txt.text = ""; } }; Key.addListener (myListener); La tecla programable izquierda envía la cabeza lectora a la pantalla principal de la aplicación y la tecla programable derecha avanza la animación de imágenes hasta la imagen siguiente de la secuencia. Para obtener más información sobre el uso de detectores de eventos, consulte “Gestión de pulsación de teclas con un detector de teclas” en la página 49. 15 Seleccione Archivo > Guardar. 16 Seleccione Control > Probar película para probar la aplicación con Adobe Device Central. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 28 Tutorial: Creación de una aplicación Flash Lite Seleccione el botón Specials. La animación y el texto de especialidades deben funcionar correctamente. Creación de la pantalla de vídeo En esta sección añadirá vídeo a la aplicación. También se añadirá código ActionScript que permite al usuario controlar la reproducción (reproducción, pausa) con la tecla programable derecha. Flash Lite admite dos tipos de vídeo: vídeo de dispositivo y archivos FLV (Flash Video). Flash Lite 2.x admite vídeo de dispositivo. Flash Lite 3.x admite vídeo de dispositivo y archivos FLV. Para finalizar este tutorial, debe elegir entre usar vídeo de dispositivo o un archivo FLV. Nota: para obtener más información sobre la compatibilidad de vídeo, consulte “Uso de vídeo” en la página 78. Creación de la pantalla de vídeo con el vídeo de dispositivo (Flash Lite 2.x o Flash Lite 3.x) 1 In Flash, open the cafe_tutorial.fla file you completed in “Creación de la pantalla de especialidades” en la página 23. 2 Open the Library options menu located in the upper-right corner of the Library panel and select New Video. 3 In the Video Properties dialog box, do the following: a Enter a name for the video symbol in the Symbol box (Cafe video, for example). b Select Bundle source in SWF for mobile and devices. Click Import. c Browse to the cafe_townsend_chef.3gp file in the Tutorials folder. Select the file and click Open. If you don’t see the video file (or if you can see it but can’t select it), select All Files (*.*) from the Files Of Type pop-up menu (Windows), or All Files from the Enable pop-up menu (Macintosh). 4 Make sure the Video Properties dialog box appears as follows, and click OK: A new video symbol appears in the Library panel. 5 Select frame 51 in the Video layer of the Timeline. Drag the Cafe video symbol from the Library panel to the Stage. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 29 Tutorial: Creación de una aplicación Flash Lite 6 In the Property inspector, enter cafeVideo in the Instance Name box. Set the x position to 0, the y position to 30, the Width to 176, and the Height to 144. 7 In the Timeline, select Frame 51 of the ActionScript layer. Enter, or copy and paste, the following code in to the Actions panel: // Stop timeline, register soft keys, and start video. stop (); fscommand2 ("SetSoftKeys", "Home", "Pause"); cafeVideo.play (); var playing:Boolean = true; // Soft key event handler code: Key.removeListener (myListener); var myListener:Object = new Object (); myListener.onKeyDown = function () { var keyCode = Key.getCode (); if (keyCode == ExtendedKey.SOFT1) { gotoAndPlay ("home"); } else if (keyCode == ExtendedKey.SOFT2) { if (playing) { // If video is playing, pause it, // set status variable (playing) to false, // and set right soft key label to 'Play'. cafeVideo.pause (); playing = false; rightSoftKeyLabel.text = "Play"; } else { // If video is paused, resume its playback, // set status variable (playing) to true, Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 30 Tutorial: Creación de una aplicación Flash Lite // and set right soft key label to 'Pause'. cafeVideo.resume (); playing = true; righttSoftKeyLabel.text = "Pause"; } } }; // Register listener object: Key.addListener (myListener); // Video status handler code. // Device Central does not support the onStatus handler. cafeVideo.onStatus = function (infoObject:Object) { var code = infoObject.code; if (code == "completed") { // If video has finished playing, set playing=false, // and set right soft key label to "Replay": playing = false; rightSoftKeyLabel.text = "Replay"; } }; 8 Choose File > Save. 9 Choose Test > Control Movie to test the application in Device Central. Select View Video on the homescreen to view the video. Press the Right soft key to pause the video. Press the Right soft key again to resume playback. On a device, you can press the Right soft key to play the video again after playback completes. However, this feature (the Video.onStatus handler) is not supported in Device Central. Creación de la pantalla de vídeo con un archivo FLV (Flash Lite 3.x) 1 In Flash, open the cafe_tutorial.fla file you completed in “Creación de la pantalla de especialidades” en la página 23. 2 Locate the cafe_townsend_chef.flv file in the Tutorials folder. Copy this file to the same folder as the cafe_tutorial.fla file. 3 Open the Library options menu located in the upper-right corner of the Library panel and select New Video. 4 In the Video Properties dialog box, do the following: a Enter a name for the video symbol in the Symbol box (Cafe video, for example). b Select Video (ActionScript-Controlled). Click OK. 5 Select Frame 51 in the Video layer of the Timeline. Drag the Cafe video symbol from the Library panel to the Stage. 6 In the Property inspector, enter cafeVideo in the Instance Name box. Set the x position to 0, the y position to 45, the Width to 176, and the Height to 144. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 31 Tutorial: Creación de una aplicación Flash Lite 7 In the Timeline, select Frame 51 of the ActionScript layer. Enter, or copy and paste, the following code in to the Actions panel: // Frame actions stop(); fscommand2 ("SetSoftKeys", "Home", "Pause"); var videoIsPlaying:Boolean; // Use the NetConnection and NetStream classes to play FLV files var nc:NetConnection = new NetConnection(); var ns:NetStream; /* When a change in connection status occurs, Flash Lite triggers the onStatus handler and passes it an object with information about the change. Use the information object to run code when connection events occur. */ nc.onStatus = function(info) { // Run the following code if the connection is successful. if(info.code == "NetConnection.Connect.Success"){ // Create a NetStream object and pass it the NetConnection object ns = new NetStream(nc); // Attach the NetStream object to the video object on Stage. cafeVideo.attachVideo(ns); // Play the file "cafe_townsend_chef.flv". ns.play("cafe_townsend_chef.flv"); videoIsPlaying = true; } } // Create a connection. // To connect to a local file or to a file on a web server, pass null. nc.connect(null); /* When a change in stream status occurs, Flash Lite triggers the onStatus handler and passes it an object with information about the change. Use the information object to run code when stream changes occur. */ ns.onStatus = function(info){ if(info.code == "NetStream.Play.Stop"){ videoIsPlaying = false; rightSoftKeyLabel.text = "Play"; } }; // Capture and handle soft key events. Key.removeListener (myListener); var myListener:Object = new Object (); myListener.onKeyDown = function () { var keyCode = Key.getCode (); // Run this code if the user presses the left soft key. if (keyCode == ExtendedKey.SOFT1) { // Close the video. ns.close(); // Go to the home screen. gotoAndPlay ("home"); } // Run this code if the user presses the right soft key else if (keyCode == ExtendedKey.SOFT2) { Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 32 Tutorial: Creación de una aplicación Flash Lite // If the video is playing, run this code if (videoIsPlaying){ // Pause or restart the video (this method does both). ns.pause(); // Switch the label text. if (rightSoftKeyLabel.text == "Play"){ rightSoftKeyLabel.text = "Pause"; } else if (rightSoftKeyLabel.text == "Pause"){ rightSoftKeyLabel.text = "Play"; } // If the video has finished playing, run this code. } else { // Replay the video. ns.play("cafe_townsend_chef.flv"); rightSoftKeyLabel.text = "Pause"; videoIsPlaying = true; } } }; Key.addListener (myListener); 8 Choose File > Save. 9 Choose Test > Control Movie to test the application in Device Central. Select View Video on the homescreen to view the video. Press the Right soft key to pause the video. Press the Right soft key again to resume playback. When the video has finished playing, press the Right soft key to play it again. Creación de la pantalla de ubicación En esta sección, creará una nueva pantalla que permita al usuario seleccionar a cuál de las cuatro ubicaciones de los restaurantes desea llamar para realizar las reservas. Nota: para ver el número marcado, elija Ventana > Salida Flash (en Device Central CS4) o Ver > Salida Flash > Mostrar (en Device Central CS3). La primera vez que el usuario inicia la aplicación y selecciona Reservations, la aplicación le lleva a la pantalla de ubicación para establecer una. A continuación, cuando el usuario selecciona Reservations, la aplicación marca la ubicación seleccionada. La aplicación utiliza un objeto compartido para guardar la ubicación entre distintas sesiones. 1 En Flash, abra el archivo cafe_tutorial.fla que finalizó en “Creación de la pantalla de vídeo” en la página 28. 2 En la línea de tiempo, seleccione el fotograma clave del fotograma 66 de la capa denominada Options Menu. 3 Arrastre el botón location_SF desde la biblioteca hasta el escenario. En el inspector de propiedades, escriba sf_btn en el cuadro de nombre de instancia. 4 Arrastre el botón location_SJ desde la biblioteca hasta el escenario. En el inspector de propiedades, escriba sj_btn en el cuadro de nombre de instancia. 5 Arrastre el botón location_PA desde la biblioteca hasta el escenario. En el inspector de propiedades, escriba pa_btn en el cuadro de nombre de instancia. 6 Arrastre el botón location_BK desde la biblioteca hasta el escenario. En el inspector de propiedades, escriba bk_btn en el cuadro de nombre de instancia. El escenario de la aplicación debe tener un aspecto similar a la imagen siguiente: DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 33 Última modificación 1/5/2010 Tutorial: Creación de una aplicación Flash Lite A B C D A. sf_btn B. sj_btn C. pa_btn D. bk_btn 7 Seleccione el fotograma 61 en la capa de ActionScript. En el panel Acciones, introduzca el siguiente código: /* Frame Actions */ stop (); fscommand2 ("SetSoftKeys", "Save", "Cancel"); setLocation (); /* Handle soft key presses */ Key.removeListener (myListener); var myListener:Object = new Object (); myListener.onKeyDown = function () { var keyCode = Key.getCode (); if (keyCode == ExtendedKey.SOFT1 ) { // Save location saveNewLocation (); gotoAndPlay ("home"); } else if (keyCode == ExtendedKey.SOFT2) { // Cancel operation, go back to home screen gotoAndPlay ("home"); } }; Key.addListener (myListener); /* The savenewLocation() function is called when the user presses "Save" (left soft key). It updates the "location" shared object with the phone # associated with that location. */ function saveNewLocation () { // Determine which button (location) the user selected: var selectedButton = Selection.getFocus (); switch (selectedButton) { case "_level0.sf_btn" : // User selected San Francisco location_so.data.phoneNumber = "415-555-1212"; Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 34 Tutorial: Creación de una aplicación Flash Lite break; case "_level0.sj_btn" : // User selected San Jose location_so.data.phoneNumber = "408-555-1212"; break; case "_level0.bk_btn" : // User selected Berkeley location_so.data.phoneNumber = "510-555-1212"; break; case "_level0.pa_btn" : // User selected Palo Alto location_so.data.phoneNumber = "650-555-1212"; break; } } /* The setLocation() function sets the section to the currently selected location, based on the phone number saved in the shared object. */ function setLocation () { // Retreive phone number stored in shared object: var loc:String = location_so.data.phoneNumber; // Extract area code from phone number: var areaCode:String = loc.substring (0, 3); // Based on area code, set selection focus to corresponding button/menu item: switch (areaCode) { case "415" : Selection.setFocus (_level0.sf_btn); break; case "408" : Selection.setFocus (_level0.sj_btn); break; case "510" : Selection.setFocus (_level0.bk_btn); break; case "650" : Selection.setFocus (_level0.pa_btn); break; } } 8 Seleccione Archivo > Guardar. 9 Seleccione Control > Probar película para probar la aplicación con Device Central. Abra la ventana Salida en Device Central para ver información sobre la ubicación marcada. Última modificación 1/5/2010 Capítulo 4: Creación de interactividad y navegación Para interactuar con la aplicación Adobe Flash Lite, el usuario debe poder determinar qué objeto de la pantalla está seleccionado, desplazarse por los distintos objetos e iniciar una acción seleccionando un objeto u otra tecla. Aunque estos principios básicos son comunes en las aplicaciones de escritorio, algunas de las funciones varían en los dispositivos móviles. Interacción del usuario y teclas admitidas Interacción del usuario en Flash Lite Flash Lite admite la navegación y la interacción del usuario por medio del teclado del dispositivo o de la interfaz de pantalla táctil o con lápiz stylus. Las opciones disponibles en la aplicación varían en función del dispositivo de destino y del tipo de contenido. Para obtener más información sobre los tipos de contenido, consulte el apartado “Tipos de contenido de Flash Lite” en la página 17. La forma más sencilla de añadir interactividad basada en el teclado a una aplicación Flash Lite es la navegación predeterminada, donde las cuatro teclas de dirección del dispositivo hacen la función de las teclas de flecha o el tabulador y la combinación Mayús+tabulador de una aplicación de escritorio. El usuario puede desplazar la selección hasta el objeto que desee y, después, pulsar la tecla de selección. La aplicación incluye código de controlador de eventos para responder ante estos eventos de botones. La navegación predeterminada de Flash Lite funciona con botones, campos de introducción de texto y, opcionalmente, clips de película; suelen usarse para interacciones del usuario sencillas, como menús. Para obtener más información acerca de la navegación predeterminada, consulte el apartado “Uso de la navegación predeterminada en Flash Lite” en la página 37. Las aplicaciones también pueden responder ante eventos arbitrarios de pulsación de teclas que Flash Lite genera cuando el usuario presiona una tecla concreta. La navegación basada en eventos permite crear aplicaciones de Flash Lite, como juegos con modelos complejos de interacción de usuario. Para obtener más información sobre los eventos, consulte el apartado “Eventos de teclas y botones” en la página 43. Teclas que pueden utilizarse en Flash Lite Además del teclado alfanumérico que ofrecen los teléfonos estándar, la mayoría de los dispositivos móviles cuenta con teclas de navegación que permiten a los usuarios desplazarse y seleccionar elementos de la pantalla del dispositivo, así como dos (o más) teclas programables. Las teclas programables de un dispositivo son teclas multifunción que muestran en pantalla su objetivo en cualquier momento. Un teclado de navegación típico tiene cuatro teclas de navegación (arriba, abajo, izquierda y derecha) y una tecla de selección (que se suele encontrar en el centro del teclado). Las distintas aplicaciones pueden utilizar estas teclas de formas diferentes. Por ejemplo, en un juego el usuario podría utilizar las teclas de desplazamiento para mover un personaje en la pantalla y, a continuación, presionar la tecla de selección para realizar otra acción, como hacer que el personaje salte. Las siguientes imágenes muestran las teclas más habituales en un teclado genérico de un dispositivo real: 35 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 36 Última modificación 1/5/2010 Creación de interactividad y navegación A B C A. Teclas programables izquierda y derecha B. Teclado de navegación C. Teclas numéricas, * y # No todos los dispositivos y tipos de contenido de Flash Lite admiten estas teclas. Por ejemplo, los dispositivos que admiten navegación en dos direcciones no son compatibles con las teclas de desplazamiento izquierda y derecha (consulte “Modos de navegación predeterminada” en la página 37). Asimismo, no todos los dispositivos tienen acceso a las teclas programables del dispositivo. Flash Lite admite las siguientes teclas en dispositivos móviles: Descripción Teclas Disponibilidad Numéricas, *, # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, *, # Todos los dispositivos Teclado de cinco teclas Selección, arriba y abajo Todos los dispositivos Izquierda y derecha Dispositivos que solamente admiten la navegación en cuatro direcciones (consulte “Modos de navegación predeterminada” en la página 37) Teclas programables Izquierda y derecha Dispositivos que admiten el comando SetSoftKeys Teclas SOFT3 - SOFT12 Teclas del teclado Dispositivos que tienen más de dos teclas programables !, “, #, $, %, &, ‘, (, ), *, +, ,, -, ., /, 0, 1, 2, Dispositivos con teclado QWERTY estándar 3, 4, 5, 6, 7, 8, 9, :, ;, <, +, >, ?, @, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, ‘, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {, |, }, ~, Retroceso Las siguientes propiedades System.Capabilities permiten al usuario determinar las opciones de navegación y selección disponibles en el dispositivo: • hasMappableSoftKeys • softKeyCount • has4WayKeyAS • hasQWERTYKeyboard • hasStylus • hasMouse Para obtener más información acerca de la clase System.Capabilites, consulte Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 37 Creación de interactividad y navegación Navegación predeterminada Uso de la navegación predeterminada en Flash Lite En las aplicaciones Flash de escritorio, el tabulador y las teclas Mayús+tabulador permiten a los usuarios cambiar la selección de los distintos objetos de la pantalla. El funcionamiento de las teclas de flecha es similar al del resto de aplicaciones. En Flash Lite, las teclas de desplazamiento del teclado de navegación del dispositivo realizan la misma función que las teclas de flecha o el tabulador y la combinación Mayús+tabulador de una aplicación de escritorio. Una vez seleccionado el objeto deseado, el usuario puede presionar la tecla de selección para activar una acción de la aplicación. Se pueden definir controladores de eventos para responder a la selección de un botón o un clip de película; para obtener más información, consulte “Gestión de eventos de botón” en la página 43. La navegación predeterminada en Flash Lite se realiza con botones y campos de introducción de texto. Los clips de película también se incluyen si la propiedad tabEnabled se establece en true o si cuentan con controladores de eventos asociados y la propiedad tabEnabled no se establece en false. Cuando un campo de texto está seleccionado y el usuario presiona la tecla de selección, Flash Lite abre el cuadro de diálogo de introducción de texto genérico del dispositivo, para que el usuario escriba texto. Para ver un ejemplo que ilustra la navegación predeterminada, consulte el apartado “Creación de un menú sencillo con botones y navegación predeterminados” en la página 46. Modos de navegación predeterminada Flash Lite admite tres modos de navegación predeterminada: dos direcciones, cuatro direcciones y cuatro direcciones con rotación. Cada dispositivo y tipo de contenido de Flash Lite admite un modo de navegación distinto. Para obtener información sobre el modo de navegación para un dispositivo y un tipo de contenido concretos, consulte el apartado “Reproducción de vídeo de dispositivo en el emulador” en la página 122. La navegación en dos direcciones en Flash Lite es similar a la navegación con tabulación de las aplicaciones Flash de escritorio, donde se utilizan el tabulador y la combinación Mayús+tabulador para desplazarse por los objetos de la pantalla. La tecla de navegación hacia abajo del dispositivo equivale al tabulador y la tecla de navegación hacia arriba equivale a la combinación Mayús+tabulador. El orden predeterminado de tabulación en la navegación en dos direcciones suele ser de izquierda a derecha y de arriba abajo. Por ejemplo, en la siguiente imagen se muestra una cuadrícula de tres por tres con objetos Button en una aplicación Flash Lite. Los números que aparecen encima de cada botón indican el orden en el que se seleccionará cada botón con el teclado cuando el usuario pulse varias veces la tecla de navegación hacia abajo del dispositivo. Una vez seleccionado el botón situado en la esquina inferior izquierda con el teclado, la selección “rotará” al botón situado arriba a la izquierda cuando el usuario presione la tecla de navegación hacia abajo. 1 2 3 4 5 6 7 8 9 Ejemplo del orden de tabulación en la navegación en dos direcciones Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 38 Creación de interactividad y navegación Se puede personalizar el orden de tabulación en la navegación en dos direcciones mediante la propiedad tabIndex de los objetos Button, MovieClip y TextField. Para obtener más información, consulte el apartado “Control del orden de tabulación en la navegación en dos direcciones” en la página 42. Para ver un ejemplo de la navegación en dos direcciones, consulte la página de tutoriales y ejemplos de Flash Lite en www.adobe.com/go/learn_flt_samples_and_tutorials_es.Busque el archivo .zip para su versión de ActionScript, descargue y descomprima el archivo y, posteriormente, acceda a la carpeta Samples para utilizar el archivo de ejemplo llamado 2-way.fla. La navegación en cuatro direcciones en Flash Lite es similar a la utilización de las teclas de flecha en el teclado de un equipo de escritorio para desplazarse por los objetos en la pantalla. Las teclas de navegación hacia arriba, abajo, izquierda y derecha del dispositivo equivalen a las cuatro teclas de flecha del teclado de un equipo. Si se presiona una tecla de navegación, la selección del teclado pasa al objeto que se encuentra en dicha dirección (si existe). Si no hay ningún objeto en dicha dirección, la selección del teclado permanece en el objeto actual. Nota: la propiedad tabIndex no se admite en dispositivos compatibles con navegación en cuatro direcciones, pero sí las propiedades tabEnabled y tabChildren, aunque funcionan de forma distinta que en las aplicaciones Flash de escritorio. Para ver un ejemplo de la navegación que utiliza dos direcciones, consulte la página de tutoriales y ejemplos de Flash Lite en www.adobe.com/go/learn_flt_samples_and_tutorials_es. Busque el archivo .zip para su versión de ActionScript, descargue y descomprima el archivo y, posteriormente, acceda a la carpeta Samples para utilizar el archivo de ejemplo llamado 4-way.fla. La navegación en cuatro direcciones con rotación se comporta como una combinación de la navegación de cuatro direcciones estándar y la navegación en dos direcciones. Al igual que ocurre con la navegación en cuatro direcciones descrita anteriormente, el usuario puede cambiar la selección del teclado con las teclas de navegación en cuatro direcciones del dispositivo. La diferencia estriba en que, al igual que ocurre con la navegación en dos direcciones, la selección del teclado “rota” al objeto del lado opuesto de la pantalla. Por ejemplo, en la siguiente imagen, el botón con la selección actual del teclado se encuentra en la esquina inferior izquierda de la pantalla. Si el usuario presiona la tecla de navegación hacia abajo, el siguiente botón seleccionado será el que se encuentra en el centro de la fila superior de botones. B A A. Botón con la selección actual B. Siguiente botón seleccionado después de que el usuario haya presionado la tecla de navegación Se puede probar el comportamiento de los modos de navegación en dos y cuatro direcciones en el emulador de Adobe Device Central utilizando los archivos de muestra llamados 2-way.fla y 4-way.fla, que se encuentran en www.adobe.com/go/learn_flt_samples_and_tutorials_es. En la página de tutoriales y ejemplos, busque, descargue y descomprima el archivo .zip de su versión de Flash Lite y, a continuación, acceda a la carpeta Samples para poder ejecutar los ejemplos. Cada archivo de muestra se compone de la misma cuadrícula de botones, tal como se ha descrito anteriormente. La única diferencia entre los archivos de muestra es que cada archivo FLA está configurado para una combinación de dispositivo y tipo de contenido de Flash Lite que admita el modo de navegación (de dos o cuatro direcciones). Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 39 Creación de interactividad y navegación Para utilizar un archivo de muestra, ábralo en Flash y pruébelo con el emulador de Adobe Device Central (seleccione Control > Probar película). Haga clic en las teclas de flecha del teclado del emulador (o presione las teclas de flecha del teclado) para ver cómo cada modo de navegación afecta a la navegación del usuario. Botones de un archivo de muestra El rectángulo de selección De forma predeterminada, Flash Lite dibuja un rectángulo de selección alrededor del botón o campo de introducción de texto que está seleccionado. Los clips de película también se incluyen si la propiedad tabEnabled se establece en true o si cuentan con controladores de eventos asociados y la propiedad tabEnabled no se establece en false. El rectángulo de selección permite al usuario saber qué objeto de la pantalla responderá cuando presione la tecla de selección del dispositivo. Por ejemplo, la imagen siguiente muestra el rectángulo de selección alrededor de un botón seleccionado con el teclado: Botón con la selección actual y rectángulo de selección predeterminado En los botones y en los clips de película, el área activa, la zona invisible que define la parte del botón que responde al hacer clic con el ratón (en aplicaciones Flash de escritorio) determina el recuadro de delimitación del rectángulo de selección. En campos de introducción de texto, las dimensiones del campo de texto determinan el recuadro de delimitación del rectángulo de selección. Se puede personalizar el color del rectángulo de selección o desactivarlo. Para obtener más información, consulte el apartado “Personalización del rectángulo de selección” en la página 40. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 40 Creación de interactividad y navegación Directrices para el uso de la navegación predeterminada A continuación se proporcionan directrices y consideraciones para utilizar la navegación predeterminada en las aplicaciones de Flash Lite. • Si desactiva el rectángulo de selección predeterminado, estableciendo _focusRect en false, proporcione siempre un indicador de selección alternativo para los botones, campos de introducción de datos y clips de película con tabulación. En el caso de los botones, esto se puede hacer añadiendo un elemento visual al estado “sobre”: la parte de la línea de tiempo del objeto del botón que aparece cuando se selecciona el botón. Para ver un ejemplo de este método, consulte la aplicación de muestra descrita en “Creación de un menú sencillo con botones y navegación predeterminados” en la página 46. En el caso de los campos de introducción de texto, se puede utilizar el objeto Selection para determinar en qué momento se selecciona el campo de texto y mostrar el indicador de selección deseado. Para ver un ejemplo, consulte la aplicación de muestra descrita en “Control de la selección con ActionScript” en la página 41. • Es preciso contar con, al menos, dos objetos (campos de introducción de texto, clips de película con tabulación o una combinación de ambos) en la pantalla al mismo tiempo. Si la pantalla sólo contiene un botón, un campo de introducción de texto o un clip de película con tabulación, el usuario no puede cambiar la selección y puede creer que se ha bloqueado en la interfaz. Si una pantalla de la aplicación contiene solamente un botón para la interacción del usuario, puede ser conveniente detectar un evento de pulsación de tecla en lugar de utilizar eventos de botones. Para obtener más información, consulte el apartado “Eventos de teclas y botones” en la página 43. • Si procede, plantéese la utilización del método Selection.setFocus() para establecer la selección inicial en un objeto específico de la pantalla. De este modo podrá guiar al usuario en la interfaz y reducir la cantidad de teclas de navegación que debe pulsar. Por ejemplo, suponga que una pantalla de la aplicación contiene un campo de introducción de texto. Normalmente, para que el usuario pueda introducir un valor en el campo de texto, en primer lugar debería presionar una tecla de navegación para seleccionar el campo y, después, pulsar la tecla de selección para abrir el cuadro de diálogo de introducción de texto. Podría utilizar el siguiente código ActionScript para establecer automáticamente la selección del teclado en el campo de introducción de texto: Selection.setFocus(inputTxt); Para obtener más información sobre el modo de controlar la selección con ActionScript, consulte el apartado “Control de la selección con ActionScript” en la página 41. • La alineación de los objetos en la pantalla es importante en la navegación predeterminada. Si los objetos no están alineados en la pantalla, la secuencia en la que se seleccionan tal vez no sea intuitiva para los usuarios. Esto se puede evitar aplicando el mismo tamaño a todos los objetos y alineándolos vertical y horizontalmente tanto como sea posible. Con la navegación en dos direcciones, también se puede controlar la secuencia mediante la propiedad tabIndex; para obtener más información, consulte el apartado “Control del orden de tabulación en la navegación en dos direcciones” en la página 42. Personalización del rectángulo de selección El rectángulo de selección es un efecto de resaltado amarillo predeterminado que indica qué botón o cuadro de introducción de texto está seleccionado. Los clips de película también se incluyen si la propiedad tabEnabled se establece en true o si cuentan con controladores de eventos asociados y la propiedad tabEnabled no se establece en false. Para obtener más información, consulte el apartado “El rectángulo de selección” en la página 39. Puede desactivar el rectángulo de selección, definiendo la propiedad global _focusRect como false. También puede desactivar el rectángulo de selección de determinados botones o clips de película (consulte focusrect (propiedad Button._focusrect) y focusrect (propiedad MovieClip._focusrect)) en la Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 41 Creación de interactividad y navegación También se puede cambiar el color del rectángulo de selección para que, de forma predeterminada, sea de otro color. Para hacerlo, se utiliza el comando SetFocusRectColor, que toma los valores RGB como parámetros. Por ejemplo, el siguiente código cambia a color rojo el rectángulo de selección: fscommand2("SetFocusRectColor", 255, 0, 0); Control de la selección con ActionScript Se puede utilizar el objeto Selection de ActionScript para obtener y definir la selección del teclado, o bien para recibir una notificación cuando un objeto se selecciona con el teclado o cuando se anula su selección. Resulta útil, por ejemplo, si quiere que se seleccione automáticamente un botón específico cuando la aplicación se inicia por primera vez. También se puede recibir una notificación cuando se selecciona (o se anula la selección) de un objeto concreto en la pantalla, para que ésta se actualice de forma adecuada. Por ejemplo, el código siguiente utiliza el método Selection.setFocus() para seleccionar la instancia de botón llamada login_btn: Selection.setFocus(login_btn); El detector de eventos Selection.onSetFocus permite determinar cuándo cambia la selección del teclado. Puede utilizar este detector de eventos, por ejemplo, para crear un gestor de selección personalizado para los campos de introducción de texto, en lugar de utilizar el rectángulo de selección predeterminado. En el siguiente procedimiento se muestra cómo crear un gestor de selección personalizado que cambie el color del borde del objeto TextField cuando éste se seleccione. Para ver una aplicación de muestra finalizada (custom_focus_manager.fla), consulte la página de tutoriales y ejemplos de Flash Lite en www.adobe.com/go/learn_flt_samples_and_tutorials_es.Busque el archivo .zip para su versión de ActionScript, descargue y descomprima el archivo y, posteriormente, acceda a la carpeta Samples para utilizar el archivo de ejemplo. Creación de un gestor de selección de entrada de datos de texto personalizado 1 En Flash, cree un nuevo documento móvil y guárdelo como custom_focus_manager.fla. 2 Con ayuda de la herramienta Texto, cree un campo de texto en el escenario. 3 Con el nuevo campo de texto seleccionado, en el inspector de propiedades, seleccione Introducción de texto en el menú emergente Introducción de texto, escriba inputTxt_1 en el cuadro de texto Nombre de instancia y seleccione la opción Mostrar borde alrededor del texto. 4 De forma similar, cree otro campo de introducción de texto debajo del primero con el nombre de instancia inputTxt_2. Después, seleccione la opción Mostrar borde alrededor del texto para el segundo campo de texto. 5 En la línea de tiempo, seleccione el fotograma 1 en la capa denominada ActionScript. 6 Abra el panel Acciones (Ventana > Acciones) e introduzca (o copie y pegue) el siguiente código: Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 42 Creación de interactividad y navegación // Disable focus rect globally: _focusrect = false; // Create Selection listener object: var focusListener:Object = new Object (); // Define onSetFocus method: focusListener.onSetFocus = function (oldFocus, newFocus) { // Enable/disable selection indicator: if (newFocus instanceof TextField) { // Set border color of text field with new focus to red: newFocus.borderColor = 0xFF0000; } if (oldFocus != undefined && oldFocus instanceof TextField) { // Set border color of text field with old focus to black: oldFocus.borderColor = 0x000000; } }; // Add listener to Selection object: Selection.addListener (focusListener); // Set initial focus when application loads: Selection.setFocus (inputTxt_1); // Enable full-screen mode: fscommand2 ("FullScreen", true); 7 Guarde las modificaciones y pruebe la aplicación en el emulador (Control > Probar película). 8 Presione las teclas arriba y abajo del emulador para cambiar la selección del teclado entre los dos campos de texto. El campo de texto seleccionado debería tener un borde rojo y el que no está seleccionado debería tener un borde negro. Presione la tecla de selección cuando el campo de texto esté seleccionado para hacer que aparezca el cuadro de diálogo de introducción de texto. Control del orden de tabulación en la navegación en dos direcciones La navegación en dos direcciones de Flash Lite es similar a la navegación con tabulación de Flash y, por lo tanto, admite la propiedad tabIndex, que permite al usuario definir el orden de tabulación específico de los botones, clips de película y campos de introducción de texto. En dispositivos compatibles con la navegación en cuatro direcciones, no se admite la propiedad tabIndex, por lo que no es posible definir el orden de tabulación con la propiedad tabIndex para la navegación en cuatro direcciones. Para controlar el orden de tabulación en la navegación en dos direcciones, se puede asignar la propiedad tabIndex de cada objeto a un número que especifique el orden del objeto en la navegación predeterminada. Por ejemplo, suponga que una aplicación contiene un botón (my_button), un clip de película (my_movieclip) y un campo de introducción de texto (my_inputTxt). El siguiente código establece el orden de tabulación de tal forma que el botón se selecciona primero, después se selecciona el clip de película y, por último, se selecciona el campo de introducción de texto. my_button.tabIndex = 1; my_movieclip.tabEnabled = true; my_movieclip.tabIndex = 2; my_inputTxt.tabIndex = 3; Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 43 Creación de interactividad y navegación Eventos de teclas y botones Eventos de teclas y botones Los controladores y los detectores de eventos especifican el modo en que responde la aplicación a las instancias generadas por el usuario y el sistema. Por ejemplo, si un botón está seleccionado y el usuario pulsa la tecla de selección, se generará un evento onPress. Además de utilizar la navegación predeterminada y responder a eventos relacionados, una aplicación Flash Lite puede detectar y responder a eventos de pulsación de teclas. No todos los dispositivos y tipos de contenido admiten todas las teclas de dispositivo. Por ejemplo, en un dispositivo que admite navegación de dos direcciones (consulte el apartado “Modos de navegación predeterminada” en la página 37) Flash no genera eventos de pulsación de tecla para las teclas de flecha derecha e izquierda. Para obtener una lista de teclas y la descripción de su disponibilidad, consulte el apartado “Teclas que pueden utilizarse en Flash Lite” en la página 35. Gestión de eventos de botón Los botones permiten añadir interactividad rápidamente a las aplicaciones de Flash Lite. Esta aplicación admite los mismos eventos de botones que Flash Player en equipos de escritorio, aunque algunos eventos (por ejemplo, onDragOut) sólo están disponibles en dispositivos con interfaz de ratón o de lápiz stylus. En dispositivos que únicamente disponen de interfaz de teclado, es preciso que el botón se seleccione con el teclado para poder generar cualquier tipo de evento. Flash Lite admite los siguientes eventos de botón de ActionScript: Evento de botón Descripción onDragOut Se admite sólo en dispositivos con ratón o lápiz stylus. Se invoca cuando el usuario pulsa el botón del ratón sobre el botón y el puntero se arrastra después fuera del botón. onDragOver Se admite sólo en dispositivos con ratón o lápiz stylus. Se invoca cuando el usuario pulsa y arrastra el ratón fuera del botón y, después, vuelve a arrastrar sobre él. onKeyDown Se invoca cuando el botón está seleccionado y se suelta una tecla. onKeyUp Se invoca cuando el botón está seleccionado y se pulsa una tecla. onKillFocus Se invoca cuando se anula la selección de un botón. onPress Se invoca cuando el usuario pulsa la tecla de selección del dispositivo con el botón seleccionado. Además, se invoca cuando el usuario pulsa el botón del ratón sobre el botón cuando éste está seleccionado. onRelease Se invoca cuando el usuario suelta la tecla de selección del dispositivo con el botón seleccionado. Además, se invoca cuando el usuario suelta el botón del ratón sobre el botón cuando éste está seleccionado. onReleaseOutside Se invoca cuando se suelta el botón del ratón mientras el puntero se encuentra fuera del botón, después de pulsarlo mientras el puntero se encuentra en el botón. onRollOut Se invoca cuando se anula la selección de un botón. onRollOver Se invoca cuando un botón está seleccionado. onSetFocus Se invoca cuando un botón recibe la selección de entrada. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 44 Creación de interactividad y navegación El siguiente procedimiento muestra cómo crear una aplicación sencilla que gestione eventos de botón. Para ver un ejemplo sobre el uso de botones para crear un menú, consulte el apartado “Creación de un menú sencillo con botones y navegación predeterminados” en la página 46. Creación de un controlador de eventos de botón 1 En Flash, cree un nuevo documento móvil y guárdelo como custom_focus_manager.fla. 2 Seleccione Ventana > Bibliotecas comunes > Botones para abrir una biblioteca externa de símbolos de botón creados previamente. 3 En el panel Biblioteca, haga doble clic en la carpeta de botones clásicos para abrirla y, a continuación, abra la carpeta Circle Buttons. 4 Arrastre una instancia del símbolo de botón Menu al escenario. 5 En el cuadro de texto Nombre de instancia del inspector de propiedades, escriba btn_1. 6 Arrastre otra instancia del mismo botón al escenario y sitúelo justo debajo del primero. 7 En el cuadro de texto Nombre de instancia del inspector de propiedades, escriba btn_2. 8 En la línea de tiempo, seleccione el fotograma 1 en la capa denominada ActionScript. 9 Abra el panel Acciones (Ventana > Acciones) e introduzca el siguiente código: // Disable the focus rectangle because buttons have an over state _focusRect = false; // Event handlers for btn_1 btn_1.onPress = function() { trace("You pressed Button 1"); } btn_1.onRelease = function() { trace("You released Button 1"); } btn_1.onRollOver = function() { trace("Button 1 has focus"); } btn_1.onRollOut = function() { trace("Button 1 lost focus"); } // Event handlers for btn_2 btn_2.onPress = function() { trace("You pressed Button 2"); } btn_2.onRelease = function() { trace("You released Button 2"); } btn_2.onRollOver = function() { trace("Button 2 has focus"); } btn_2.onRollOut = function() { trace("Button 2 lost focus"); } 10 Pruebe la aplicación en el emulador (Control > Probar película). Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 45 Creación de interactividad y navegación Observe los mensajes que aparecen en el panel Salida cuando presiona las teclas de flecha arriba y abajo en el teclado del emulador. Otros tipos de objetos admiten distintos eventos; por ejemplo, el objeto TextField contiene un evento onChanged que se invoca cuando cambia el contenido de un campo de texto. Puede escribir el código del controlador de eventos para estos eventos utilizando el mismo formato que para los controladores de eventos de botón de este procedimiento. Para obtener más información acerca de los eventos admitidos para los campos de texto y los clips de película, consulte las entradas TextField y MovieClip en la Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 46 Creación de interactividad y navegación Creación de un menú sencillo con botones y navegación predeterminados Para crear un menú sencillo con botones y navegación predeterminados, debe diseñar el menú y, a continuación, escribir el código del controlador de eventos. Para crear el menú, utilizará tres símbolos de botón, uno para cada opción de menú. Después escribirá el código del controlador de eventos que muestra un mensaje cuando el usuario pasa el ratón sobre cada elemento de menú, es decir, cuando el usuario sitúa la selección en el botón correspondiente, y cuando el usuario selecciona la opción de menú presionando la tecla de selección del dispositivo. Para obtener más información sobre la gestión de eventos de botón en Flash Lite, consulte el apartado “Gestión de eventos de botón” en la página 43. Comience con un documento de Flash parcialmente finalizado. Puede cambiar esta configuración para utilizar otro dispositivo y otro tipo de contenido (consulte el apartado“Uso del emulador” en la página 117). 1 Descargue y abra el archivo llamado simple_menu_start.fla, que se encuentra en www.adobe.com/go/learn_flt_samples_and_tutorials_es. En la página de tutoriales y ejemplos, busque, descargue y descomprima el archivo .zip de su versión de Flash Lite y, a continuación, acceda a la carpeta Samples para poder ejecutar el ejemplo. 2 Abra el panel Biblioteca (Ventana > Biblioteca). Observe que la Biblioteca contiene tres símbolos de botón denominados News, Weather y Sports. 3 En la línea de tiempo (Ventana > Línea de tiempo), seleccione la capa Menu Buttons. 4 Arrastre una instancia del símbolo de botón News desde el panel Biblioteca hasta el escenario. 5 En el cuadro de texto Nombre de instancia del inspector de propiedades, escriba btn_news. 6 Repita los pasos 4 y 5 para los botones Sports y Weather, y denomínelos btn_sports y btn_weather, respectivamente. 7 Alinee los tres botones verticalmente, tal como se muestra en el ejemplo siguiente: 8 En el panel Herramientas, seleccione la herramienta Texto y cree un campo de texto en la parte inferior del escenario. Este campo de texto muestra un breve mensaje cuando el usuario pasa el ratón por encima de cada opción de menú. 9 Con el nuevo campo de texto seleccionado, haga lo siguiente en el inspector de propiedades: a Seleccione Texto dinámico en el menú emergente Tipo de texto. b Escriba txt_status en el cuadro de texto Nombre de instancia. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 47 Creación de interactividad y navegación El escenario debería parecerse a la siguiente imagen: 10 En la línea de tiempo, seleccione el fotograma 1 en la capa denominada ActionScript. 11 Abra el panel Acciones (Ventana > Acciones) e introduzca el siguiente código: // Disable the focus rectangle because buttons have an over state _focusRect = false; btn_news.onRollOver = function() { txt_status.text = "Press to select News"; } btn_news.onPress = function() { txt_status.text = "You selected News"; } btn_sports.onRollOver = function() { txt_status.text = "Press to select Sports"; } btn_sports.onPress = function() { txt_status.text = "You selected Sports"; } btn_weather.onRollOver = function() { txt_status.text = "Press to select Weather"; } btn_weather.onPress = function() { txt_status.text = "You selected Weather"; } 12 Seleccione Control > Probar película para mostrar una vista previa de la aplicación en el emulador. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 48 Última modificación 1/5/2010 Creación de interactividad y navegación Haga clic en la flecha abajo del emulador (o presione la tecla de flecha abajo del teclado del equipo) para desplazarse por las opciones de menú; para seleccionar una opción, haga clic en la tecla de selección del emulador (o presione la tecla Intro del teclado de su equipo). Gestión de eventos de tecla Flash Lite genera eventos de pulsación de teclas como respuesta a la pulsación de teclas en el dispositivo. Puede escribir el código de un gestor de teclas para responder a estos eventos. Para obtener una lista de las teclas admitidas en Flash Lite, consulte el apartado “Teclas que pueden utilizarse en Flash Lite” en la página 35. En la tabla siguiente se incluyen las teclas de dispositivo más habituales y sus códigos de teclas ActionScript correspondientes, así como las constantes del código para dichas teclas: Tecla del dispositivo Código de tecla ActionScript/constante de código Tecla de selección Key.ENTER Tecla de navegación hacia arriba Key.UP Tecla de navegación hacia abajo Key.DOWN Tecla de navegación hacia la izquierda Key.LEFT Tecla de navegación hacia la derecha Key.RIGHT Tecla programable izquierda ExtendedKey.SOFT1 (o soft1) Tecla programable derecha ExtendedKey.SOFT2 (o soft2) 0 48 1 49 2 50 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 49 Última modificación 1/5/2010 Creación de interactividad y navegación Tecla del dispositivo Código de tecla ActionScript/constante de código 3 51 4 52 5 53 6 54 7 55 8 56 9 57 * 56 # 51 Creación de un detector de eventos Los detectores de eventos permiten que un objeto, llamado objeto detector, reciba eventos difundidos por otro objeto llamado objeto difusor. El objeto difusor registra el objeto detector para recibir eventos generados por el difusor. Para obtener más información, consulte “Uso de detectores de eventos” en Aprendizaje de ActionScript de Flash Lite 2.x. Una forma sencilla de gestionar eventos de pulsación de teclas consiste en crear un objeto detector de teclas que defina una función onKeyDown u onKeyUp y, después, registrarlo con el método Key.addListener(). El siguiente código de ejemplo define un detector de teclas que responde ante la pulsación de la tecla de navegación hacia la derecha del dispositivo: var myListener:Object = new Object(); myListener.onKeyDown = function() { if (Key.getCode() == Key.RIGHT) { trace("You pressed the right arrow key"); } } Key.addListener(myListener); Gestión de pulsación de teclas con un detector de teclas 1 En Flash, cree un nuevo documento móvil y guárdelo como keylistener.fla. 2 Seleccione la capa en la línea de tiempo Content. 3 Utilice la herramienta Óvalo pare crear un óvalo o círculo en el escenario y convertirlo en un clip de película. 4 Con el nuevo clip de película seleccionado, en el inspector de propiedades, escriba circle en el cuadro de texto de nombre de instancia. 5 En la línea de tiempo, seleccione el primer fotograma en la capa 1. 6 Abra el panel Acciones (Ventana > Acciones) e introduzca el siguiente código: Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 50 Creación de interactividad y navegación var myListener:Object = new Object(); myListener.onKeyDown = function() { if (Key.getCode() == Key.LEFT) { circle._x -= 10; } else if (Key.getCode() == Key.RIGHT) { circle._x += 10; } else if (Key.getCode() == Key.UP) { circle._y -= 10; } else if (Key.getCode() == Key.DOWN) { circle._y += 10; } }; Key.addListener(myListener); 7 Compruebe la aplicación seleccionando Control > Probar película. Presione las cuatro teclas de navegación en el teclado del emulador (o las teclas de flecha correspondientes del teclado) para que el círculo se mueva por el escenario. Uso de las teclas programables Para utilizar las teclas programables en la aplicación Flash Lite, primero debe llamar al comando SetSoftKeys. A continuación, Flash Lite genera un evento ExtendedKey.SOFT1 cuando el usuario presiona la tecla programable izquierda y un evento ExtendedKey.SOFT2 cuando presiona la tecla programable derecha. El usuario escribe código de controlador de eventos de ActionScript que responde a estos eventos y realiza la acción deseada. El comando SetSoftKeys utiliza dos parámetros que especifican las etiquetas para las teclas programables izquierda y derecha, respectivamente, que aparecen cuando la aplicación no se ejecuta en modo de pantalla completa. En las aplicaciones que se ejecutan en modo de pantalla completa, las etiquetas especificadas no son visibles, por lo que debe crear sus propias etiquetas y situarlas en el escenario en el lugar donde se encuentran las teclas programables. Por ejemplo, considere la siguiente llamada al comando SetSoftKeys: fscommand2("SetSoftKeys", "Options", "Exit"); El ejemplo siguiente muestra el resultado de este comando en una aplicación activa en el dispositivo real en modo normal (sin visualización de pantalla completa): A B A. Área de pantalla disponible en aplicaciones sin visualización de pantalla completa B. Etiquetas de teclas programables mostradas por dispositivo Si activa el modo de pantalla completa, es decir, si llama a fscommand("fullscreen", true), las etiquetas especificadas como parámetros en el comando SetSoftKeys no son visibles. Por lo tanto, en aplicaciones en modo de pantalla completa, debe crear sus propias etiquetas programables, como se muestra en el siguiente ejemplo: DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 51 Última modificación 1/5/2010 Creación de interactividad y navegación A Etiquetas de teclas programables personalizadas Para obtener más información sobre el comando SetSoftKeys, consulte la entrada de la función fscommand2 en Referencia del lenguaje ActionScript de Flash Lite 2.x. Uso de las teclas programables en una aplicación 1 En Flash, cree un nuevo documento móvil y guárdelo como softkey.fla. 2 Con la herramienta Texto, cree un campo de texto estático con el nombre Left y sitúelo en la esquina inferior izquierda del escenario, sobre la tecla programable izquierda del dispositivo. 3 Cree otro campo de texto estático con el nombre Right y sitúelo en el ángulo inferior derecho del escenario, sobre la tecla programable derecha del dispositivo. 4 Con la herramienta Texto, cree un campo de texto dinámico y sitúelo en el centro del escenario. El escenario de su documento será parecido al del ejemplo siguiente: A B A. Campo de texto dinámico B. Etiquetas de teclas programables Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 52 Creación de interactividad y navegación 5 Con el campo de texto dinámico seleccionado, en el inspector de propiedades, escriba status en el cuadro de texto Nombre de instancia. 6 Abra el panel Acciones (Ventana > Acciones) y, en la línea de tiempo, seleccione el fotograma 1 de la capa 1. 7 En el panel Acciones, escriba el siguiente código: fscommand2("SetSoftKeys", "Left", "Right"); fscommand2("FullScreen", true); 8 Cree y registre un objeto para responder a los eventos de pulsación de tecla (consulte el apartado “Gestión de pulsación de teclas con un detector de teclas” en la página 49) introduciendo el código siguiente en el panel Acciones: var myListener:Object = new Object(); myListener.onKeyDown = function() { if (Key.getCode() == ExtendedKey.SOFT1) { // Handle left soft keypress event. status.text = "You pressed the Left soft key."; } else if (Key.getCode() == ExtendedKey.SOFT2) { // Handle right soft keypress event. status.text = "You pressed the Right soft key."; } }; Key.addListener(myListener); 9 Seleccione Control > Probar película para probar la aplicación en el emulador. Para probar la aplicación, haga clic en las teclas programables izquierda y derecha del emulador o pulse las teclas RePág y AvPág en el teclado. Última modificación 1/5/2010 Capítulo 5: Uso de texto y fuentes Puede añadir campos de texto estáticos y dinámicos, así como campos de introducción de texto en las aplicaciones Macromedia Flash Lite 2.x desde aplicaciones de Adobe y Flash Lite 3.x de Adobe. Texto Texto en Flash Lite Flash Lite 2.x y 3.x admiten las siguientes funciones de texto: • Campos estáticos, dinámicos y de introducción de texto. En tiempo de ejecución, no se puede cambiar el contenido de un campo de texto estático, pero sí el de un campo dinámico o de introducción de texto. Los campos de introducción de texto permiten a los usuarios introducir texto. Flash Lite 2.x y 3.x admiten la introducción de texto en línea en la mayoría de los dispositivos. En los dispositivos que admiten idiomas complejos y en Flash Lite 2.0, los campos de introducción de texto utilizan el mecanismo de introducción de texto genérico del dispositivo. Para más información sobre los campos de introducción de texto, consulte “Uso de campos de introducción de texto” en la página 54. • Fuentes incorporadas y de dispositivo. Se puede hacer que Flash Lite represente los campos de texto con contornos de fuentes incorporados en el archivo SWF o utilizando fuentes disponibles en el dispositivo. Para más información sobre los métodos de representación, consulte “Métodos de representación de fuentes en Flash Lite” en la página 62. • Codificación de texto Unicode. Flash Lite puede mostrar texto de cualquier idioma siempre y cuando las fuentes que contengan los glifos de los caracteres necesarios estén disponibles. Para obtener información sobre la edición en varios idiomas en Flash, consulte "Creación de texto en varios idiomas" en Uso de Flash. • Compatibilidad parcial con formato HTML y propiedades de la clase TextFormat. • Texto desplazable Flash Lite no admite todas las funciones de texto que se ofrecen en la versión de escritorio de Flash Player. Flash Lite tiene las siguientes limitaciones: • No se admite el suavizado avanzado, la tecnología de representación avanzada de fuentes disponible únicamente en Macromedia Flash Player 8 de Adobe y versiones posteriores. • Se admite el formato de texto, pero sólo están disponibles las opciones color, tipo, tamaño, negrita y cursiva. Además, no se muestra el formato si la fuente del texto del dispositivo no contiene la opción seleccionada. Por ejemplo, un campo con formato de cursiva se muestra como texto sin formato si la fuente del dispositivo no contiene la versión en cursiva. • El dispositivo no se puede enmascarar, utilizar como máscara o representar con transparencia. • La opción de formato Generar texto como HTML es parcialmente compatible en los campos dinámicos y de introducción de texto. El texto se muestra sin etiquetas HTML visibles, pero el formato sólo se respeta en las etiquetas siguientes: p, br, sbr, font (con atributos face, color y size), b e i. • Flash Lite no admite hojas de estilo en cascada (CSS). 53 Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 54 Uso de texto y fuentes • No se admiten componentes Flash, incluidos Label, TextArea y TextInput. • Los objetos TextField y TextFormat son parcialmente compatibles y existen limitaciones adicionales para árabe, hebreo y tailandés. Para obtener más información, consulte Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. • Se admiten los objetos XML y XMLNode. Flash Lite 2.1 y versiones posteriores añaden compatibilidad con la introducción de texto en línea, los motores de texto predictivo y XMLSocket: • La introducción de texto en línea permite que el usuario introduzca texto directamente en los campos de texto. • La compatibilidad con texto predictivo proporciona funciones como la finalización de palabras y las listas de propuestas. Flash Lite 2.1 y versiones posteriores son compatibles con los mejores motores de texto predictivo (como T9, eZiTap/eZiText e iTap) en cualquier plataforma, siempre y cuando su implementación sea similar a la de las API proporcionadas por los proveedores de motores de texto predictivo. • La compatibilidad con XMLSocket amplía el soporte de escritorio de Flash a Flash Lite y permite que los desarrolladores creen conexiones continuas de datos de baja latencia para aplicaciones como juegos o chats. Creación de texto y aplicación de formato al texto Puede crear texto y aplicarle formato al texto en Flash Lite del mismo modo que lo haría en una aplicación Flash de escritorio. Para más información sobre la utilización del texto en Flash, consulte los temas siguientes en Uso de Flash: • “Creación de texto” • “Establecimiento de atributos de texto” • “Edición de texto” • “Control de texto con ActionScript” Para ver una lista de funciones de texto que Flash Lite no admite, consulte ““Texto en Flash Lite” en la página 53”. Introducción de texto Uso de campos de introducción de texto Flash Lite 2.1 y versiones posteriores admiten la introducción de texto en línea. Esta función permite a los usuarios editar campos de texto directamente en la aplicación Flash Lite, en lugar de en un cuadro de introducción de texto independiente, como en versiones anteriores. Por ejemplo, en la siguiente figura se muestra cómo aparece un campo de introducción de texto en línea en un dispositivo Series 60 de Nokia: A B A. Indicador de modo de introducción B. Campo de texto que se edita en línea Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 55 Uso de texto y fuentes Flash Lite 2.1 y versiones posteriores admiten la introducción de texto en línea para idiomas latinos y asiáticos, pero no complejos. Éstos últimos incluyen idiomas que se leen de derecha a izquierda, como árabe, hebreo, urdu, farsi y yiddish, además de algunos idiomas asiáticos. En dispositivos con Flash Lite 2.0 y Flash Lite 1.1 así como en el emulador de Adobe Device Central para todas las versiones, los usuarios editan el contenido de los campos de introducción de texto mediante un cuadro de diálogo modal que aparece sobre el contenido de Flash Lite. Por ejemplo, la siguiente figura muestra un cuadro de diálogo de introducción de texto en un dispositivo Symbian Series 60 en el que se ejecuta Flash Lite 2.0: A B A. Cuadro de diálogo de introducción de texto B. Campo de texto que se edita En general, las aplicaciones de Flash Lite 2.0 y Flash Lite 1.1 existentes pueden funcionar sin realizar ninguna modificación en Flash Lite 2.1 y versiones posteriores. En vez de utilizar el cuadro de diálogo de modos, los usuarios se limitan a editar los campos de introducción de texto en línea. Sin embargo, el contenido heredado debe volver a crearse para poder utilizar las funciones disponibles únicamente en Flash Lite 2.1 y versiones posteriores, como la posibilidad de definir selecciones de texto o la utilización del comando activateTextField. Para obtener más información acerca del cuadro de diálogo de introducción de texto, consulte "“Acerca del cuadro de diálogo de introducción de texto del dispositivo (Flash Lite 2.0)” en la página 58”. Uso de la introducción de texto en línea (Flash Lite 2.1 y versiones posteriores) Flash Lite 2.1 y versiones posteriores admiten la introducción de texto en línea, lo cual permite a los usuarios introducir y editar texto directamente en un campo de introducción de texto. Al escribir el texto en una aplicación Flash Lite, los usuarios interactúan con el editor de métodos de entrada (IME) original del dispositivo. El reproductor de Flash Lite no procesa los datos introducidos por el usuario. Nota: el emulador de Flash Lite de Adobe Device Central no muestra texto en línea. Para más información, consulte “Prueba del texto en línea en Flash Lite 2.1 y posterior” en la página 117. Mientras un campo de introducción de texto está activo, el reproductor de Flash Lite 2.1 y 3.x funciona en modo restringido. En este modo, el IME original del dispositivo gestiona todos los eventos de pulsación de teclas y no se procesa ningún ActionScript. Además, todos los eventos de animación, sonido y vídeo se omiten. Tras desactivar un campo de texto, Flash Lite reanuda el modo normal de funcionamiento. Para que un campo de texto pueda admitir texto introducido por el usuario, debe estar activado. Para activar un campo de introducción de texto, el usuario debe seleccionarlo y, después, pulsar la tecla de selección del dispositivo o pulsar una tecla programable definida para que la aplicación establezca la selección en el texto introducido. (Para obtener detalles acerca de la activación de un campo de texto, consulte “Activación de campos de introducción de texto con ActionScript” en la página 56). DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 56 Última modificación 1/5/2010 Uso de texto y fuentes En la siguiente figura se muestran los distintos estados de un campo de introducción de texto: sin seleccionar, seleccionado (pero no activado) y activado: Selection.getBeginIndex() getBeginIndex() Selection.getCaretIndex() getCaretIndex() Selection.getEndIndex() getEndIndex() Selection.getFocus() getFocus() Selection.getSelection() getSelection() Button unselected TextField text selected text selected and focused text ex onSetFocus selected text unselected text onKillFocus activateTextField Selection.setSelection() setSelection() Campos de introducción de texto en línea y navegación Un campo de texto activado contiene un puntero que señala el punto de inserción actual. El usuario puede cambiar la ubicación del puntero en el campo de texto mediante las teclas de navegación del dispositivo. De forma predeterminada, Flash Lite dibuja un rectángulo de selección alrededor del campo de texto que está resaltado en ese momento. En ocasiones, este rectángulo de selección puede llegar a oscurecer el puntero del campo de texto activado o el indicador de inserción. Por ello, recomendamos desactivar el rectángulo de selección (estableciendo _focusRect en false) y utilizar un indicador de selección personalizado. Para ver un ejemplo de una aplicación que utiliza un indicador de selección personalizado, consulte la página de tutoriales y ejemplos de Flash Lite en www.adobe.com/go/learn_flt_samples_and_tutorials_es. Busque el archivo ZIP para su versión de ActionScript, descárguelo, descomprímalo y, posteriormente, acceda a la carpeta Samples para utilizar el archivo de ejemplo. Activación de campos de introducción de texto con ActionScript El usuario puede activar un campo de introducción de texto con selección del teclado pulsando la tecla de selección del dispositivo. Una aplicación Flash Lite también puede activar automáticamente un campo de introducción de texto cuando se selecciona con el comando activateTextfield. Este comando activa el campo de texto seleccionado en ese momento; si no hay ningún campo seleccionado al ejecutar el comando, no ocurre nada. El lugar más habitual para llamar a activateTextField es desde un controlador Selection.onSetFocus o TextField.onSetFocus. Por ejemplo, supongamos que la aplicación contiene dos (o más) campos de introducción de texto en el escenario. El código siguiente activará automáticamente el campo de texto seleccionado: var focusListener:Object = new Object (); focusListener.onSetFocus = function (oldFocus, newFocus) { // Call activateTextField: fscommand ("activateTextField", ""); }; TextField1.addListener (focusListener); Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 57 Uso de texto y fuentes También se puede utilizar el controlador TextField.prototype.onSetFocus para activar todos los campos de texto al seleccionarlos. También es posible utilizar teclas que no sean la de selección para desencadenar el comando activateTextfield. El código siguiente activa un campo de texto para todas las teclas numéricas, lo que facilita la introducción, por ejemplo, de la letra “a”. Por ejemplo, si la aplicación incluye activateTextfield en el controlador TextField.onSetFocus, el usuario debería pulsar la tecla de selección y, después, la tecla numérica 2; este código permite al usuario pulsar 2 dos veces, lo cual es mucho más intuitivo. var keyListener:Object = new Object(); keyListener.onKeyDown = function() { if (Key.getCode() >= 48 && Key.getCode() <= 57 ){ fscommand("activateTextField", ""); } Selection.addListener (keyListener); }; Para obtener una aplicación de muestra finalizada que utiliza esta técnica, consulte la muestra de introducción de texto en línea que encontrará en www.adobe.com/go/learn_flt_samples_and_tutorials_es. Busque el archivo ZIP para su versión de ActionScript, descárguelo, descomprímalo y, posteriormente, acceda a la carpeta Samples para utilizar el archivo de ejemplo. Indicador de modo de introducción Para ayudar a los usuarios en las tareas comunes de introducción de texto, la mayoría de los dispositivos proporciona distintos modos de introducción, como la introducción de texto predictivo o manual (triple tap o multi tap), o modos restringidos a la introducción de números. Si Flash Lite se ejecuta a pantalla completa, el dispositivo muestra una letra A para el modo de introducción alfabética y un símbolo de almohadilla (#) para el modo de introducción numérica. Si Flash Lite no se ejecuta a pantalla completa, el dispositivo puede dibujar un indicador de modo de introducción en la barra de estado o en cualquier otro lugar de la pantalla. Por ejemplo, la imagen siguiente muestra el indicador de modo de introducción en el modo de pantalla parcial en la versión independiente de Flash Lite 2.1 para dispositivos Series 60: A B A. Indicador de modo de introducción, modo de pantalla parcial B. Campo de texto que se edita Si el reproductor se ejecuta en modo de pantalla completa, el dispositivo puede dibujar un indicador de modo de introducción en el lugar de la pantalla que desee. Por ejemplo, la figura siguiente muestra el indicador de modo de introducción en el modo de pantalla completa en la versión independiente de Flash Lite 2.1 para dispositivos Series 60: Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 58 Uso de texto y fuentes A A. Indicador de modo de introducción, modo de pantalla completa El indicador de modo de introducción para aplicaciones de pantalla completa mostrado en la figura anterior es una implementación de referencia para el reproductor independiente de dispositivos Series 60. El indicador específico (si existe) que aparece depende del dispositivo utilizado. Acerca del cuadro de diálogo de introducción de texto del dispositivo (Flash Lite 2.0) Para abrir el cuadro de diálogo de introducción de texto del dispositivo, el usuario debe primero resaltar un campo de introducción de texto y presionar la tecla de selección del dispositivo. Este cuadro de diálogo es modal (es decir, el usuario no puede interactuar con el contenido Flash mientras el cuadro de diálogo esté resaltado). Flash Lite también inicia una pausa en la cabeza lectora de la aplicación mientras el cuadro de diálogo esté resaltado. Si el usuario selecciona Aceptar (la tecla programable izquierda), el cuadro de diálogo de introducción de texto se cierra y Flash Lite asigna automáticamente el texto al campo de introducción de texto. Si el usuario selecciona Cancelar (la tecla programable derecha), no se asignará ningún texto al campo de introducción de texto. El emulador de Adobe Device Central imita las funciones del cuadro de diálogo de introducción de texto cuando se prueba la aplicación en la herramienta de creación Flash. La imagen siguiente muestra el cuadro de diálogo de introducción de texto en el emulador: Cuadro de diálogo de introducción de texto en el emulador Para ver un ejemplo de cómo utilizar un campo de introducción de texto en una aplicación, consulte “Creación de una aplicación de ejemplo de campos de texto” en la página 60. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 59 Uso de texto y fuentes Especificación de tipos de campos de introducción de texto Flash Lite admite campos de introducción de texto de una línea, de varias líneas y de contraseña. Para especificar el tipo de campo de introducción de texto, se utiliza el menú desplegable Tipo de línea, como muestra la imagen siguiente: El tipo de línea especificado para un campo de introducción de texto determina el comportamiento del cuadro de diálogo de introducción de texto del dispositivo cuando el usuario edita el campo de texto. Por ejemplo, cuando un usuario edita un campo de introducción de texto de una línea, el cuadro de diálogo de introducción de texto del dispositivo muestra un cuadro de texto de una línea. El cuadro de texto se desplaza horizontalmente si el usuario introduce más caracteres de los que se pueden mostrar. Restricción de la introducción de caracteres Es posible utilizar el comando SetInputTextType para restringir los caracteres que el usuario puede introducir en el cuadro de diálogo de introducción de texto. Por ejemplo, pensemos en una aplicación que contiene un campo de introducción de texto para que los usuarios puedan introducir un valor numérico (su edad, por ejemplo), y que el campo de introducción de texto contiene el nombre de variable ageVar. Para asegurarse de que el usuario introduce solamente valores numéricos en el cuadro de diálogo de introducción de texto, podría añadir el siguiente código a su aplicación: fscommand2("SetInputTextType", "ageVar", "Numeric"); Cuando el usuario abra el cuadro de diálogo de introducción de texto, sólo podrá introducir valores numéricos en los campos de texto. Para obtener más información, consulte SetInputTextType en la entrada función fscommand2 de Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 60 Uso de texto y fuentes Cuadros de diálogo de introducción de texto (Flash Lite 2.0) En Flash Lite 2.0, el usuario introduce texto en un cuadro de diálogo de modos independiente (controlado por la aplicación host, no por Flash Lite) en vez de interactuar con el campo de texto en pantalla directamente. Durante esta interacción, el reproductor Flash Lite se detiene hasta que el usuario sale del cuadro de diálogo. (En Flash Lite 2.1 y versiones posteriores, el usuario puede introducir texto directamente en el campo de texto en pantalla). La imagen siguiente muestra el cuadro de diálogo de introducción de texto de un dispositivo para un campo de texto de una línea en una aplicación de Flash Lite 2.0: Cuando un usuario edita un campo de texto de varias líneas, el cuadro de diálogo de introducción de texto se amplía para mostrar todo el texto introducido, como muestra la imagen siguiente: Cuando un usuario edita un campo de introducción de texto de contraseña, el cuadro de diálogo de introducción de texto del dispositivo muestra cada carácter introducido por el usuario. Cuando el usuario hace clic en Aceptar, los caracteres de la contraseña se convierten en asteriscos y aparece la imagen siguiente: Creación de una aplicación de ejemplo de campos de texto Esta aplicación sencilla obtiene texto introducido por el usuario y, después, le aplica formato y lo muestra en un campo de texto dinámico compatible con HTML. La aplicación también utiliza el comando SetFocusRectColor para cambiar el color del rectángulo de selección predeterminado (amarillo) a negro. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 61 Uso de texto y fuentes Para ver una aplicación de muestra finalizada (textfield_example.fla) que utiliza esta técnica, consulte www.adobe.com/go/learn_flt_samples_and_tutorials_es. Busque el archivo ZIP para su versión de ActionScript, descárguelo, descomprímalo y, posteriormente, acceda a la carpeta Samples para utilizar el archivo de ejemplo. 1 En Flash, cree un nuevo documento móvil y guárdelo como textfield.fla. 2 Con ayuda de la herramienta Texto del panel Herramientas, cree un campo de texto de una línea en la parte superior del escenario. 3 Con el campo de texto seleccionado, en el inspector de propiedades, seleccione Introducción de texto en el menú emergente Introducción de texto, seleccione Utilizar fuentes del dispositivo en el menú emergente Método de representación de fuentes y escriba inputTxt en el cuadro de texto Nombre de instancia. 4 Cree otro campo de texto debajo del primero varias veces más grande, tal como se muestra a continuación: A B C D 5 Con el segundo campo de texto seleccionado, en el inspector de propiedades, seleccione Texto dinámico en el menú emergente Tipo de texto, seleccione Multilínea en el menú emergente Tipo de línea, seleccione la opción Generar texto como HTML, seleccione Utilizar fuentes del dispositivo en el menú emergente Método de representación de fuentes y escriba messageTxt en el cuadro de texto Nombre de instancia. 6 En la línea de tiempo, seleccione el fotograma 1 en la capa 1. 7 Abra el panel Acciones (Ventana > Acciones) e introduzca el siguiente código: Selection.setFocus(inputTxt); fscommand2("SetFocusRectColor", 0, 0, 0); inputTxt.onChanged = function() { messageTxt.htmlText = "You entered: <i>" + this.text + "</i>"; } El método Selection.setFocus() establece la selección inicial en el campo de introducción de texto (inputTxt). Seguidamente, la llamada a la función fscommand2() especifica el color del rectángulo de selección. Por último, el controlador de eventos onChanged del campo de introducción de texto, al que se llama siempre que cambia el contenido del campo, aplicará formato al texto introducido por el usuario y lo mostrará en el campo de texto messageTxt. 8 Guarde las modificaciones e inicie la aplicación en el emulador (Control > Probar película). 9 Para utilizar la aplicación, pulse la tecla de selección del emulador para abrir el cuadro de diálogo de introducción de texto e introduzca algún texto desde el teclado del equipo. A continuación, haga clic en Aceptar para cerrar el cuadro de diálogo. El texto introducido aparecerá en cursiva en el campo de texto messageTxt. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 62 Uso de texto y fuentes Representación de fuentes Métodos de representación de fuentes en Flash Lite Flash Lite puede representar las fuentes de los campos de texto de cualquiera de las formas siguientes: Usando fuentes disponibles en el dispositivo Puede aplicar una fuente a un campo de texto que sepa que está disponible en el dispositivo o especificar una de las tres fuentes genéricas de dispositivo (_sans, _serif o _typewriter) disponibles en el menú emergente Fuente. Si selecciona una fuente genérica de dispositivo, Flash Lite intentará utilizar en tiempo de ejecución la fuente de dispositivo que más se parezca (por ejemplo, _sans se asignará a una fuente sans serif, si está disponible). Representando la fuente como un mapa de bits Flash Lite representa el texto de mapa de bits alineando los contornos con los límites de píxeles. Esto facilita la lectura del texto con un tamaño pequeño (como 10 puntos o menos). Esta opción requiere la inclusión de los contornos de fuente adecuados en el archivo SWF publicado. (Consulte “Incorporación de contornos de fuente en archivos SWF” en la página 64.) Representando la fuente como vectores suavizados Flash Lite representa el texto suavizado utilizando representaciones basadas en vectores de los contornos de fuente que se incorporan al archivo SWF publicado. (Consulte “Incorporación de contornos de fuente en archivos SWF” en la página 64.) El método para representar fuentes de un campo de texto se debe seleccionar en el menú emergente Método de representación de fuentes que se encuentra en el inspector de propiedades. El menú emergente Método de representación de fuentes contiene cinco opciones de representación; sin embargo, los desarrolladores de Flash Lite sólo tienen tres disponibles. Los otros dos métodos (Suavizado para legibilidad y Suavizado personalizado) sólo están disponibles en aplicaciones destinadas a Flash Player 8 y versiones posteriores en equipos de escritorio. A continuación se describen algunas directrices que deben tenerse en cuenta para elegir entre texto suavizado, de mapa de bits o de dispositivo: • Si va a utilizar fuentes incorporadas con campos de texto dinámicos o de introducción de texto, incorpore los contornos únicamente para los caracteres que necesite mostrar. De esta forma conseguirá reducir el tamaño del archivo. Por ejemplo, si utiliza un campo de introducción de texto para capturar la edad de un usuario (un número), incluya solamente el contorno de la fuente para caracteres numéricos (0-9). En este caso, también puede ser conveniente restringir la introducción de caracteres sólo a números. • El emulador de Adobe Device Central no emula fuentes de dispositivo, a no ser que tenga instaladas en el equipo las mismas fuentes que va a utilizar para desarrollar el contenido. Por lo tanto, el diseño y el aspecto del campo de texto del dispositivo tal vez sea distinto en el emulador y en el dispositivo. • Si aplica uno de los tipos de fuente de dispositivo genéricos (_sans, _serif o _typewriter), Flash Lite intentará encontrar una fuente similar en el dispositivo para mostrar el texto. Sin embargo, dado que los dispositivos móviles suelen disponer de menos fuentes y estilos que un equipo de escritorio, es posible que una fuente como _sans no se asigne a una fuente sans serif. Deberá probar la aplicación en cada dispositivo de destino para determinar los ajustes adecuados para cada fuente. El texto suavizado en Flash Lite es, básicamente, una forma de vector complejo. Como ocurre con el resto de las formas de vector, necesita un buen procesado para poder representarse. Dado que la velocidad de procesado de la mayoría de los dispositivos es relativamente lenta, la animación de grandes cantidades de texto suavizado podría reducir el rendimiento de la aplicación. Para mejorar el rendimiento, intente reducir temporalmente la calidad de representación del reproductor Flash Lite durante la animación y, después, vuelva a ajustarla en su valor máximo cuando haya finalizado la animación. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 63 Uso de texto y fuentes Selección de un método de representación de fuentes para un campo de texto 1 Seleccione un campo de texto en el escenario. 2 En el inspector de propiedades, seleccione una de las opciones siguientes en el menú emergente Método de representación de fuentes: • Seleccione Utilizar fuentes del dispositivo para que Flash Lite utilice una fuente disponible en el dispositivo. No se incorpora ningún dato de fuentes en los archivos SWF publicados. • Seleccione Texto de mapa de bits (sin suavizado) para que Flash Lite alinee los contornos con los límites de píxeles (el texto pequeño aparecerá claro y nítido). Esta opción requiere la incorporación de los contornos de fuente al archivo SWF publicado. (Consulte “Incorporación de contornos de fuente en archivos SWF” en la página 64.) • Seleccione Suavizado para animación para que Flash Lite suavice la fuente del campo de texto de acuerdo con el ajuste actual de calidad de representación (consulte “Calidad de la representación y texto suavizado de Flash Lite” en la página 63). Esta opción requiere la incorporación de los contornos de fuente al archivo SWF publicado. Calidad de la representación y texto suavizado de Flash Lite Use la propiedad MovieClip._qualitypara controlar cómo representa Flash Lite los gráficos vectoriales y de mapas de bits. Los valores posibles son "LOW", "MEDIUM", "HIGH" y "BEST". El valor predeterminado es "HIGH". Puede especificar esta propiedad para cada objeto del clip de película. Para especificar esta propiedad de manera global, coloque el código _quality = "lowMediumHighOrBest" en el fotograma 1. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 64 Uso de texto y fuentes Flash Lite representa el texto suavizado mediante representaciones de vectores de los contornos de fuente. Si desea que el texto suavizado aparezca lo más suave posible, debe definir la calidad de representación del reproductor como alta. La figura siguiente muestra un campo de texto suavizado (Arial, 24 puntos) con las calidades alta, media y baja: Para maximizar el rendimiento de la animación y la velocidad de fotogramas (por ejemplo, durante una animación intensiva o secuencia de interpolación), es posible definir temporalmente la calidad de representación en un valor inferior y volver al ajuste anterior al finalizar la animación. Para definir la calidad del texto de entrada, llame al comando fscommand2("SetInputTextType"). Para obtener más información, consulte la entrada en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Incorporación de contornos de fuente en archivos SWF Para representar una fuente de un campo de texto, Flash Lite puede utilizar las fuentes disponibles en el propio dispositivo o utilizar contornos de fuente incorporados en el archivo SWF publicado (consulte “Métodos de representación de fuentes en Flash Lite” en la página 62). La incorporación de contornos de fuente en archivo SWF garantiza que la fuente del campo del texto aparecerá del mismo modo en todas las plataformas de destino, aunque el tamaño del archivo aumentará. Flash Lite necesita los contornos de fuente para representar texto en mapa de bits (sin suavizado) o texto suavizado. En el caso de los campos de texto estático que utilicen los métodos de representación de fuentes suavizados o de mapa de bits, Flash incorpora automáticamente los contornos de fuente necesarios para mostrar el contenido de los campos de texto. Por ejemplo, si un campo de texto estático contiene la palabra Enviar, Flash incorpora automáticamente los contornos de fuente necesarios para mostrar estos seis caracteres (es decir, E, n, v, i, a y r). El contenido de un campo de texto estático no va a cambiar, por lo que el archivo SWF sólo necesita incluir los contornos de fuente de esos caracteres. En el caso de los campos de texto dinámico y de introducción de texto que utilicen los métodos de representación de fuentes suavizado o de mapa de bits, debe especificar los caracteres cuyos contornos desea incorporar al archivo SWF publicado. El contenido de estos campos de texto puede cambiar durante la reproducción; por tanto, Flash no puede conocer de antemano los contornos de fuente que deben estar disponibles. Es posible incluir los contornos de todos los caracteres de la fuente seleccionada, un rango o unos caracteres específicos. Puede utilizar el cuadro de diálogo Incorporación de caracteres para especificar los caracteres que se incorporarán al archivo SWF publicado. Incoporación de contornos de fuente para un campo de texto dinámico o de introducción de texto 1 Seleccione el campo de texto dinámico o de introducción de texto en el escenario. 2 En el inspector de propiedades, seleccione Texto de mapa de bits (sin suavizado) o Suavizado para animación en el menú emergente Método de representación de fuentes. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 65 Uso de texto y fuentes 3 Haga clic en el botón Incorporar situado junto al menú emergente Método de representación de fuentes para abrir el cuadro de diálogo Incorporación de caracteres. 4 Seleccione en la lista los caracteres que desee incorporar, escriba los caracteres en el cuadro de texto o haga clic en Relleno automático para incluir los caracteres presentes en el campo de texto seleccionado. 5 Haga clic en Aceptar. Texto desplazable Creación de texto desplazable Flash Lite admite las propiedades TextField.scroll y TextField.maxscroll, con las que es posible crear campos de texto desplazable. La propiedad scroll especifica la primera línea visible de un bloque de texto. Es posible definir y obtener su valor. Por ejemplo, el código siguiente desplaza cinco líneas hacia abajo el campo de texto cuyo nombre de variable es story_text: story_text.scroll += 5; La propiedad maxscroll especifica la primera línea visible en un bloque de texto cuando la última línea está visible; se trata de una propiedad de sólo lectura. Puede comparar la propiedad maxscroll del campo de texto con su propiedad scroll para averiguar hasta dónde se ha desplazado un usuario en un campo de texto. Resulta útil si desea crear una barra de desplazamiento que ofrezca información sobre la posición de desplazamiento actual en relación con la posición de desplazamiento máximo. Creación de un campo de texto desplazable y controlarlo con ActionScript 1 En Flash, cree un nuevo documento móvil. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 66 Uso de texto y fuentes 2 Con la herramienta Texto, arrastre un campo de texto en el escenario que tenga un tamaño similar al mostrado en la imagen siguiente: 3 En el inspector de propiedades, seleccione Multilínea en el menú emergente Tipo de línea. 4 Seleccione Texto dinámico en el menú emergente Tipo de texto del inspector de propiedades. 5 Seleccione Utilizar fuentes del dispositivo en el menú emergente Método de representación de fuentes del inspector de propiedades. 6 Seleccione Texto > Desplazamiento permitido para que el usuario pueda desplazar el campo. 7 Escriba story en el cuadro de texto Nombre de instancia del inspector de propiedades. 8 Haga doble clic en el interior del campo de texto e introduzca suficiente texto como para que una o varias líneas de texto se extiendan por debajo de su borde inferior. 9 En la línea de tiempo, seleccione el primer fotograma de la capa 1 y abra el panel Acciones. 10 (Ventana > Acciones). Introduzca el código siguiente en el panel Acciones: var keyListener:Object = new Object(); keyListener.onKeyDown = function() { var keyCode = Key.getCode(); if (keyCode == Key.DOWN) { story.scroll++; } else if (keyCode == Key.UP) { story.scroll--; } }; Key.addListener(keyListener); 11 Seleccione Control > Probar película para probar la aplicación en el emulador de Adobe Device Central. Haga clic en las teclas de navegación hacia arriba y hacia abajo del emulador (o las teclas de flecha arriba y flecha abajo del teclado del equipo) para desplazar el texto hacia arriba o hacia abajo. Última modificación 1/5/2010 Capítulo 6: Trabajo con sonido Adobe Flash Lite admite dos tipos de sonido: sonido de dispositivo y sonido estándar (nativo) de Flash. El sonido nativo se reproduce directamente en el reproductor Flash Lite, del mismo modo que en la versión de escritorio de Adobe Flash Player. Por el contrario, el sonido de dispositivo se reproduce directamente en el dispositivo y no en el reproductor Flash Lite. Algunos ejemplos de formato de sonido de dispositivo son MIDI o MFi, pero los formatos de sonido admitidos varían según el dispositivo. Sonido de dispositivo Sonido de dispositivo El sonido de dispositivo se refiere al audio que se reproduce directamente en el dispositivo y no en el reproductor Flash Lite. Cada dispositivo admite distintos tipos de formato de sonido, incluidos MIDI, MFi o MP3. Para incorporar sonido de dispositivo al contenido de Flash, puede incluirlo en el archivo SWF publicado, o bien cargar archivos de sonido externos desde la red o desde el sistema de archivos local del dispositivo. Salvo algunas excepciones, puede utilizar el objeto Sound de ActionScript para controlar el sonido del dispositivo, tal como lo haría en la versión de Flash Player para escritorio. Uso de sonido de dispositivo empaquetado Para empaquetar sonido de dispositivo en su aplicación, primero debe importar un sonido proxy en un formato reconocible por la herramienta de edición de Flash, por ejemplo, un archivo MP3, WAV o AIFF. Seguidamente, debe vincular el sonido proxy al archivo de sonido de dispositivo del equipo que desee empaquetar en la aplicación. Durante el proceso de publicación del archivo SWF, la herramienta de edición de Flash sustituye el sonido proxy por el sonido externo vinculado. Durante la reproducción, Flash Lite transfiere los datos de sonido al dispositivo para decodificarlo y reproducirlo. También se pueden empaquetar varios sonidos de dispositivo con formatos distintos en un sólo archivo de sonido Flash (FLS). Esto resulta útil si va a crear el mismo contenido para varios dispositivos que admiten distintos formatos de sonido de dispositivo. Para más información, consulte “Creación de un paquete de sonido” en la página 71. Importación y reproducción de un sonido de dispositivo Para reproducir un sonido de dispositivo puede asociarlo a la línea de tiempo o utilizar el objeto Sound para reproducir el sonido de dispositivo con ActionScript. 1 En Flash, cree un nuevo documento móvil y guárdelo como device_sound.fla. 2 Seleccione Archivo > Importar > Importar a biblioteca. En la página de ejemplos y tutoriales que puede encontrar en www.adobe.com/go/learn_flt_samples_and_tutorials_es, puede localizar, descargar y descomprimir el archivo ZIP correspondiente a su versión de Flash Lite y, a continuación, dirigirse a la carpeta Samples. 3 Seleccione el archivo proxy.wav y haga clic en Aceptar. 67 Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 68 Trabajo con sonido Nota: puede utilizar cualquier archivo de sonido reconocible por la herramienta de edición de Flash como sonido proxy. Para ayudarle, proporcionamos el archivo proxy.wav. 1 Para vincular el sonido proxy con el archivo de sonido del dispositivo, haga lo siguiente: a En el panel Biblioteca, haga clic con el botón derecho del ratón (Windows) o haga clic con la tecla Control presionada (Macintosh) en el símbolo de sonido proxy y seleccione Propiedades en el menú contextual para abrir el cuadro de diálogo Propiedades de sonido. b En el cuadro de diálogo Propiedades de sonido, haga clic en el icono de carpeta a la derecha del cuadro de texto Sonido de dispositivo para abrir el cuadro de diálogo Seleccionar sonido de dispositivo. c Vaya a www.adobe.com/go/learn_flt_samples_and_tutorials_es. En la página de tutoriales y ejemplos, busque, descargue y descomprima el archivo ZIP de su versión de Flash Lite y, a continuación, acceda a la carpeta Samples para poder ejecutar el archivo llamado hi_hat.mid. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 69 Trabajo con sonido d (Opcional) Para controlar el sonido de dispositivo con ActionScript, haga clic en Avanzado para mostrar las opciones de las propiedades avanzadas de sonido, seleccione Exportar para ActionScript y escriba device_sound en el cuadro de texto Identificador. e Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de sonido. Para reproducir el sonido de dispositivo, puede asociar el sonido proxy a la línea de tiempo o utilizar el objeto Sound de ActionScript. Para utilizar el objeto Sound de ActionScript vaya al paso 6. 2 Para asociar el sonido de dispositivo a la línea de tiempo, haga lo siguiente: a Seleccione el fotograma clave del fotograma 1 en la capa denominada Content. b En el inspector de propiedades, seleccione proxy.wav en el menú emergente Sonido. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 70 Trabajo con sonido De esta forma se asocia el sonido proxy al fotograma. La herramienta de edición de Flash muestra la onda sinusoidal del sonido proxy en la línea de tiempo. Las ondas sinusoidales para sonidos vinculados a sonidos de dispositivo externos aparecen en verde; las que no están vinculadas a sonidos de dispositivo externos aparecen en azul, tal como se muestra en la imagen siguiente. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 71 Trabajo con sonido A. Sonido vinculado a sonido de dispositivo externo B. Sonido no vinculado a sonido de dispositivo externo 3 Para reproducir el sonido con ActionScript, haga lo siguiente: 4 Seleccione la capa Actions en la línea de tiempo. 5 Abra el panel Acciones (Ventana > Acciones) e introduzca el siguiente código: var deviceSound:Sound = new Sound(); deviceSound.attachSound("device_sound"); deviceSound.start(); 6 Seleccione Control > Probar película para iniciar el emulador de Adobe Device Central y probar el archivo SWF. Creación de un paquete de sonido Flash Lite permite encapsular varios sonidos de dispositivo de formatos distintos en un solo paquete de sonido. Por ejemplo, una sola aplicación Flash puede contener el mismo sonido representado en formato MIDI y MFi. Cuando se reproduce la aplicación en un dispositivo compatible con audio MIDI, Flash Lite selecciona los datos de sonido MIDI del paquete de sonido y los transfiere al dispositivo para su reproducción. De forma análoga, cuando la aplicación se reproduce en un dispositivo que sólo admite MFi, Flash Lite transfiere los datos de sonido MFi al dispositivo. Tiene a su disposición una utilidad denominada Flash Lite Sound Bundler para poder crear archivos de sonido empaquetados (FLS). Seguidamente, vincule el archivo FLS a un sonido proxy en el documento de Flash Lite, del mismo modo que lo haría con un sonido de dispositivo sencillo. Para más información sobre cómo añadir sonidos de dispositivo a las aplicaciones de Flash Lite, consulte “Uso de sonido de dispositivo empaquetado” en la página 67. Nota: en el momento de publicación de este manual, la utilidad Sound Bundler sólo se puede utilizar en sistemas Windows. 1 Busque y descargue la aplicación Flash Lite Sound Bundler (FlashLiteBundler.exe) en www.adobe.com/go/developer_flashlite_es. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 72 Trabajo con sonido 2 La utilidad Sound Bundler aparece como una ventana flotante. 3 Desde el escritorio, arrastre a la ventana Sound Bundler el primer archivo de sonido que va a agrupar. Aparecerá otra ventana con el contenido del paquete de sonido. La parte inferior contiene información sobre los sonidos del paquete, como el formato de sonido, el tamaño de los datos de sonido y el nombre de archivo. A. Información acerca de los archivos del paquete de sonido B. Lista de archivos del paquete de sonido 4 Arrastre los demás archivos de sonido que desea agrupar a la ventana. No puede agrupar más de un archivo de un formato de audio determinado. Por ejemplo, no puede agrupar dos archivos MIDI en el mismo archivo FLS. 5 Para eliminar un archivo del paquete de sonido, selecciónelo en la lista y haga clic en Eliminar. Para eliminar todos los archivos, haga clic en Eliminar todos. 6 Para guardar el paquete de sonido, haga clic en Guardar paquete y elija un nombre y la ubicación del archivo FLS. 7 Para salir de la utilidad Sound Bundler, haga clic en el botón de cierre (X) de la ventana Sound Bundler. El siguiente paso es añadir el archivo de paquete de sonido (FLS) al documento de Flash. El proceso es el mismo que se sigue para añadir sonidos de dispositivo estándar a documentos de Flash, con la excepción de que en lugar de especificar un solo archivo de sonido de dispositivo para reemplazar el sonido proxy, se especifica el archivo FLS creado. Para más información, consulte “Sonido de dispositivo” en la página 67. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 73 Trabajo con sonido Reproducción de sonidos de dispositivo externos Además de poder reproducir sonidos de dispositivo empaquetados en el archivo SWF publicado (consulte “Uso de sonido de dispositivo empaquetado” en la página 67), también se pueden cargar y reproducir archivos de sonido externos. Para reproducir sonidos de dispositivo externos, utilice el método loadSound() del objeto Sound. Al igual que ocurre con el sonido de dispositivo empaquetado, el reproductor Flash Lite transfiere el audio cargado externamente al dispositivo para decodificarlo y reproducirlo. Es importante recordar la siguiente información sobre la reproducción de sonido de dispositivo externo en Flash Lite: • Al contrario de lo que ocurre en la versión de Flash Player para escritorio, los sonidos cargados externamente en Flash Lite siempre se tratan como sonidos de eventos. Esto significa que los sonidos de dispositivo externos no se reproducen como secuencia de datos de sonido, es decir, no se reproducen mientras se descargan. Los datos de sonido deben descargarse completamente para poder reproducirlos. Por este mismo motivo, debe llamar al método start() del objeto Sound para reproducir el sonido una vez que esté completamente cargado (consulte el siguiente ejemplo de código). • La implementación en Flash Lite del método loadSound() no admite el segundo parámetro del método (isStreaming). Flash Lite omite este parámetro en caso de detectarlo. • Flash Lite no reproduce de forma nativa archivos MP3 cargados externamente. Si la aplicación carga un archivo MP3 externo, Flash Lite transfiere los datos de sonido al dispositivo para decodificarlos y reproducirlos, del mismo modo que lo hace cualquier archivo de sonido cargado externamente. El siguiente código muestra cómo cargar y reproducir un archivo de sonido externo: // Create the sound object. var mySound:Sound = new Sound(); // Define onLoad handler for sound, // which starts the sound once it has fully loaded. mySound.onLoad = function(success){ if(success == true) { mySound.start(); } } // Load the sound. mySound.loadSound("http://www.adobe.com/audio.midi"); Sincronización de sonidos de dispositivo con animación Los sonidos de dispositivo de Flash Lite siempre se tratan como sonidos de eventos. Esto quiere decir que no se pueden sincronizar sonidos de dispositivo con animaciones en la línea de tiempo del mismo modo que se hace con sonidos nativos de Flash. Sin embargo, sí es posible utilizar sonidos de dispositivo para aproximarse a un sonido sincronizado real estableciendo la propiedad _forceframerate del reproductor Flash Lite en true. Cuando esta propiedad se establece en true, Flash Lite omite los fotogramas de la animación para conservar la velocidad de fotogramas especificada en el archivo SWF. Si se consigue que los datos de sonido de dispositivo estén editados con la duración correcta y que el dispositivo pueda reproducir datos de sonido a la velocidad esperada, la animación y el sonido estarán prácticamente sincronizados. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 74 Trabajo con sonido Por ejemplo, suponga que tiene un sonido de dispositivo de 5 segundos de duración. Durante la reproducción, le gustaría que este sonido se reprodujera en sincronización con una animación de la línea de tiempo. Asuma también que la velocidad de fotogramas de la aplicación es de 15 FPS. Al iniciar el sonido, bien asociándolo a un fotograma de la línea de tiempo o llamando al método Sound.start(), establecerá simultáneamente _forceframerate = "true". Por lo tanto, cada segundo de reproducción del audio del dispositivo, Flash Lite garantizará que la cabeza lectora avance 15 fotogramas en la línea de tiempo. Si, por algún motivo, el reproductor no puede representar cada fotograma de la animación durante este tiempo, descartará algunos fotogramas para mantener la velocidad de fotogramas especificada. Para obtener más información sobre la propiedad _forceframerate, consulte la propiedad _forceframerate en la Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Determinación de los formatos de sonido de dispositivo admitidos La propiedad System.capabilities.audioMIMETypes contiene un conjunto de tipos MIME de audio compatibles con el dispositivo. Puede utilizar esta información para determinar qué tipos de audio de dispositivo puede reproducir con su aplicación. Los índices del conjunto coinciden con los tipos MIME admitidos, por lo que se puede comprobar fácilmente si un dispositivo admite un tipo específico de audio. Por ejemplo, el siguiente código primero comprueba si el dispositivo admite la reproducción de audio MIDI antes de cargar un archivo MIDI externo: if (System.capabilities.audioMIMETypes["audio/midi"]) { my_sound.loadSound("soundtrack.mid"); } Sonido nativo Sonidos nativos de Flash Además de admitir sonido de dispositivo, Flash Lite también admite sonidos de Flash estándar o nativos. Básicamente, un sonido nativo es un sonido en cualquier formato reconocible por la herramienta de edición de Flash. El sonido nativo de Flash Lite se puede reproducir como sonido de evento o como sonido sincronizado (consulte “Sonido de dispositivo” en la página 67). El flujo de trabajo general para utilizar sonidos nativos en aplicaciones de Flash Lite 1.1 es el mismo que en las aplicaciones de escritorio Flash, con las siguientes excepciones: • Flash Lite no admite la reproducción nativa de archivos MP3 externos. Sin embargo, si el dispositivo puede reproducir audio MP3, podrá cargar archivos MP3 externos en su aplicación. Para más información, consulte “Reproducción de sonidos de dispositivo externos” en la página 73. • Flash Lite no admite la opción de compresión de audio Voz. Para más información sobre el uso de sonido nativo en Flash, consulte el tema “Trabajo con sonido” en Uso de Flash. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 75 Trabajo con sonido Uso de la función de frecuencia de muestreo de 8 kHz De forma predeterminada, la herramienta de edición de Flash exporta audio nativo a velocidades de muestreo de 5, 11, 22 o 44 kilohertzios (kHz). Sin embargo, muchos dispositivos no admiten la reproducción de datos de audio a estas velocidades de muestreo. Por ejemplo, los dispositivos Nokia Serie 60 admiten únicamente velocidades de 8 y 16 kHz. En versiones anteriores de Flash Lite, el reproductor volvía a muestrear el audio en tiempo de ejecución a 8 kHz antes de llamar a las interfaces de programación de aplicaciones (API) del sonido nativo del dispositivo para reproducir el sonido. Este proceso requería tiempo de procesado adicional e implicaba un consumo de memoria. En Adobe Flash CS4 Professional, puede elegir que la herramienta de edición vuelva a realizar el muestreo del audio nativo de la aplicación a 8 kHz durante el proceso de publicación del archivo SWF. Puede aplicar esta configuración a toda la secuencia de datos de sonido y a los sonidos de eventos de la aplicación, o sólo a ciertos sonidos concretos del panel Biblioteca de los documentos. En el primer procedimiento se describe cómo activar la opción de frecuencia de muestreo de 8 kHz para sonidos individuales en el cuadro de diálogo Propiedades de sonido; en el segundo procedimiento se explica cómo utilizar el cuadro de diálogo Configuración de publicación para definir esta opción globalmente en todos los sonidos de eventos y secuencias de datos. Nota: en el caso de las secuencias de datos de sonido, Flash siempre aplica las opciones de compresión de sonido globales especificadas en el cuadro de diálogo Configuración de publicación. Las opciones de compresión por sonido especificadas en el cuadro de diálogo Propiedades de sonido se aplican únicamente a los sonidos de eventos. Activación de la función de frecuencia de muestreo de 8 kHz para un sonido individual 1 En Flash, haga clic con el botón derecho del ratón (Windows) o con la tecla Control presionada (Macintosh) en un símbolo de sonido del panel Biblioteca y seleccione Propiedades en el menú contextual. 2 En el cuadro de diálogo Propiedades de sonido, seleccione MP3 en el menú emergente Compresión. la función de muestreo de 8 kHz sólo está disponible para audio comprimido MP3. 3 Si la opción Utilizar calidad de MP3 importado está activada, anule su selección. 4 Seleccione la opción Usar frecuencia de muestreo de 8kHz. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 76 Trabajo con sonido A. Uso de la opción de frecuencia de muestreo de 8 kHz 5 Haga clic en Aceptar. Activación de la función de frecuencia de muestreo de 8 kHz globalmente para todos los sonidos nativos 1 En Flash, seleccione Archivo > Configuración de publicación. 2 En el cuadro de diálogo Configuración de publicación, haga clic en la ficha Flash. 3 Para activar la frecuencia de muestreo de 8 kHz para todas las secuencias de datos de sonido de la aplicación, haga lo siguiente: a Haga clic en el botón Establecer para definir las opciones de las secuencias de datos de sonido. b En el cuadro de diálogo Propiedades de sonido, seleccione MP3 en el menú emergente Compresión. La función de muestreo de 8 kHz sólo está disponible para audio comprimido MP3. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 77 Trabajo con sonido c Seleccione la opción Usar frecuencia de muestreo de 8kHz. d Haga clic en Aceptar para cerrar el cuadro de diálogo Configuración de publicación. 4 Para activar la frecuencia de muestreo de 8 kHz para todos sonidos de eventos de la aplicación, haga lo siguiente: a Haga clic en el botón Establecer para definir las opciones de evento de audio. b En el cuadro de diálogo Propiedades de sonido, seleccione MP3 en el menú emergente Compresión. Nota: La función de muestreo de 8 kHz sólo está disponible para audio comprimido MP3. c Seleccione la opción Usar frecuencia de muestreo de 8kHz. d Haga clic en Aceptar. 5 Haga clic en Aceptar para cerrar el cuadro de diálogo Configuración de publicación. Última modificación 1/5/2010 Capítulo 7: Uso de vídeo Puede incorporar vídeo en las aplicaciones de Flash Lite 2.x y Flash Lite 3.x. En las aplicaciones de Flash Lite 2.x, el dispositivo móvil decodifica y representa el vídeo. Este tipo de vídeo se denomina vídeo de dispositivo. Flash Lite 3.x admite dos tipos de vídeo: vídeo de dispositivo y archivos FLV (Flash Video). Cuando se reproduce un archivo FLV en una aplicación, Flash Lite 3.x decodifica y representa el vídeo. Trabajo con archivos FLV Compatibilidad de archivos FLV en Flash Lite 3.0 y posterior Flash Lite 3.0 añadió compatibilidad con los archivos FLV (Flash Video) utilizando las versiones de los códecs On2 y Sorenson, optimizados para dispositivos móviles. Flash Lite 3.x, no el dispositivo, representa los archivos FLV. Si un dispositivo admite Flash Lite 3.x, puede añadir archivos FLV a su aplicación. Nota: los fabricantes de algunos dispositivos pueden seguir admitiendo archivos FLV si ya han implementado un mecanismo de reproducción de vídeo eficiente. En este caso, use vídeo de dispositivo en sus aplicaciones. Compruebe la ficha Perfiles de dispositivos de Adobe Device Central para ver si se admiten los archivos FLV (Flash Video) en un dispositivo determinado. Puede incluir archivos FLV en una aplicación de cualquiera de las siguientes maneras: • Incorporación de archivos FLV en la aplicación. • Reproducción de archivos FLV externos desde una unidad de disco duro local o un servidor web a través de HTTP. • Reproducción de archivos FLV externos desde Flash Media Server a través de RTMP. Para convertir vídeo (como los archivos de vídeo de QuickTime o Windows Media) en archivos FLV, realice cualquiera de las siguientes acciones: • Use un codificador (como Adobe Flash Video Encoder o Sorenson™ Squeeze). • Importe el archivo en la herramienta de edición de Flash y expórtelo como archivo FLV. • Use el plug-in FLV Export para exportar archivos FLV desde aplicaciones de edición de vídeo admitidas. Las siguientes funciones de vídeo no están disponibles en Flash Lite 3.x: • La clase Camera o la grabación de vídeo. • conexiones RTMPT y RTMPS. Estos intentos de conexión utilizarán de forma predeterminada una conexión RTMP. • Comunicación bidireccional entre clientes. No se admiten los objetos remotos compartidos. Los clientes no pueden compartir datos de objeto compartidos. • Vídeo de canal alfa. • El componente FLVPlayback. Consulte “Acerca de los componentes de Flash Lite” en la página 1 para obtener más información sobre los componentes. 78 Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 79 Uso de vídeo Más temas de ayuda “Incorporación de archivos FLV en una aplicación” en la página 79 “Reproducción de archivos FLV externos en una aplicación” en la página 79 Incorporación de archivos FLV en una aplicación Para incorporar un archivo FLV, impórtelo a la biblioteca de un documento. Al publicar la aplicación, la herramienta de edición incorpora el archivo FLV en el archivo SWF publicado. Los archivos FLV incorporados están asociados a la línea de tiempo. Por ejemplo, si un documento de Flash se configura para reproducirse a 10 fotogramas por segundo, un archivo FLV de 10 segundos rellenará la línea de tiempo con fotogramas del 1 al 100. Para controlar la reproducción de un archivo FLV incorporado, use ActionScript de Adobe para reproducir, detener y mover la cabeza lectora por la línea de tiempo. También puede asignar al objeto de vídeo incorporado un nombre de instancia y controlarlo con las propiedades del objeto Video de ActionScript. Al incorporar archivos FLV, puede sincronizarlos con otros elementos del documento. Por ejemplo, puede añadir elementos interactivos a determinados fotogramas que vinculen a otros documentos. Se recomienda incorporar archivos FLV si los archivos son pequeños y no incluyen ninguna pista de sonido. La incorporación de archivos FLV puede incrementar de manera significativa el tamaño del archivo SWF publicado. Nota: en las aplicaciones de Adobe Flash Lite 2.0, puede incorporar vídeo de dispositivo a una aplicación. Esta práctica se conoce como “empaquetar vídeo.” Consulte “Importación de vídeo de dispositivo a una aplicación” en la página 82. 1 En Flash, seleccione Archivo > Importar > Importar vídeo. Aparecerá el asistente Importar vídeo. 2 Seleccione la opción para importar un archivo en el equipo y haga clic en Examinar. 3 Acceda a la carpeta que contiene el archivo FLV y selecciónelo. Si no ve el archivo de vídeo en la lista (o bien, lo ve pero no lo puede seleccionar), seleccione Todos los archivos (*.*) en el menú desplegable Tipo de archivo (Windows) o seleccione Todos los archivos en el menú emergente Activar (Macintosh). 4 Haga clic en Abrir. En el asistente Importar vídeo, haga clic en Siguiente. 5 En la pantalla Implementación, elija Incorporar vídeo en SWF y reproducir, y haga clic en Siguiente. 6 En la pantalla Incorporación, seleccione vídeo incorporado como tipo de símbolo. 7 Haga clic en Siguiente para ir a la pantalla Finalizar importación de vídeo del asistente y haga clic en Finalizar para importar el vídeo. Aparecerá un nuevo símbolo de vídeo vinculado al archivo FLV en el panel Biblioteca y en el escenario. 8 Seleccione el objeto Video del escenario e introduzca un nombre de instancia para el objeto Video del inspector de propiedades. Puede utilizar el nombre de instancia para controlar el objeto Video con las propiedades de la clase Video de ActionScript. Reproducción de archivos FLV externos en una aplicación Un archivo FLV externo no se incorpora a un archivo SWF. Un archivo FLV externo reside en la tarjeta de memoria de un dispositivo, en un servidor web remoto o en Adobe Flash Media Server. Puede utilizar ActionScript para reproducir y controlar archivos FLV externos en Flash Lite 3.x en tiempo de ejecución. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 80 Uso de vídeo La reproducción de archivos FLV externos aporta varias ventajas con respecto a la incorporación de vídeo en un documento de Flash. Puede usar clips de vídeo largos sin ralentizar la reproducción, ya que los archivos FLV externos necesitan menos cantidad de memoria que los archivos de vídeo incorporados. Los archivos FLV externos pueden tener velocidades de fotogramas distintas a las del documento de Flash en el que se reproduzcan. Por ejemplo, puede establecer la velocidad de fotogramas del documento de Flash en 30 fotogramas por segundo (fps) y la velocidad de fotogramas del vídeo en 21 fps. Este control garantiza una reproducción del vídeo suave. Este control también le permite reproducir archivos FLV a velocidades de fotogramas diferentes sin tener que modificar contenido multimedia enriquecido existente. Los archivos FLV externos se muestran en los objetos Video. Puede manipular objetos Video al igual que puede manipular objetos MovieClip. Puede rotar y escalar el vídeo. Puede configurar el valor de transparencia alfa. Puede componer y mezclar el vídeo con otro contenido multimedia enriquecido. También puede usar la clase Sound para controlar el sonido del vídeo. 1 En la biblioteca de Flash, elija Nuevo vídeo para crear un símbolo de vídeo. Asegúrese de que el tipo de vídeo es “Vídeo (controlado por ActionScript)” y haga clic en Aceptar. 2 Arrastre el símbolo de vídeo al escenario y asígnele un nombre de instancia. Este ejemplo utiliza el nombre de instancia vo. 3 En la línea de tiempo, seleccione el primer fotograma y abra el panel Acciones. 4 Introduzca el código siguiente : // Create a NetConnection object var nc:NetConnection = new NetConnection(); // Declare a NetStream object var ns:NetStream; /* When a change in connection status occurs, the onStatus handler is called and passed an infomation object with information about the change. Use the information object to run code when connection events occur. */ nc.onStatus = function(info) { // Output all connection status information trace(info.code); // Run the following code if the connection is successful. if(info.code == "NetConnection.Connect.Success"){ // Create a NetStream object and pass it the NetConnection object ns = new NetStream(nc); // Attach the NetStream object to the video object on Stage. vo.attachVideo(ns); // Play the file "sample.flv". Do not include ".flv" when // playing the file on Flash Media Server. ns.play("sample"); } } /* Call NetConnection.connect() to create a connection. To connect to a local file or to a file on a web server, pass null. To connect to Flash Media Server, pass the address to an application on the server. */ nc.connect("rtmp://fmsexamples.adobe.com/vod"); Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 81 Uso de vídeo Nota: para cargar archivos FLV desde un servidor web, registre la extensión de nombre de archivo y el tipo MIME con el servidor web. El tipo MIME para los archivos flv es video/x-flv. Puede que el tipo MIME ya esté registrado con el servidor web. Para obtener más información, consulte la documentación del servidor web. Control de los archivos FLV con ActionScript Use ActionScript para conectarse a, ver y controlar archivos FLV externos. Use la clase NetConnection para establecer una conexión. Utilice la clase Video para ver el vídeo. Use la clase NetStream para controlar la reproducción. Para controlar los archivos FLV, llame a los métodos de la clase NetStream; por ejemplo, el método NetStream.pause(). Para controlar el vídeo de dispositivo, llame a los métodos de la clase Video. Por ejemplo, para detener un vídeo de dispositivo, llame al método Video.pause(). Consulte Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x para obtener descripciones detalladas de estas clases, junto con ejemplos de códigos que ilustran su utilización. Además, Flash Lite 3.x admite todos los métodos, propiedades y eventos documentados en la Referencia del lenguaje de ActionScript 2.0, a excepción de la propiedad MovieClipLoader.checkPolicyFile. Uso de vídeo de dispositivo Vídeo de dispositivo A partir de la versión 2.0, Flash Lite puede reproducir vídeo de dispositivo, es decir, cualquier formato o codificación de vídeo compatible en el dispositivo de destino. Los dispositivos admiten distintos códecs y formatos de vídeo. Algunos de los formatos de vídeo de dispositivo más habituales son 3GP, 3G2 (o 3GPP2) y MPEG-4. Flash Lite puede reproducir cualquier formato de vídeo que admita el dispositivo de destino. Flash Lite 0 no decodifica ni representa el vídeo de dispositivo. En lugar de eso, Flash Lite deja que el dispositivo decodifique y represente el vídeo de dispositivo en la pantalla del dispositivo. Por este motivo, el vídeo de dispositivo tiene las siguientes limitaciones: • No se puede girar ni sesgar el vídeo de dispositivo. Algunos dispositivos admiten el cambio de escala. • No se puede sincronizar vídeo de dispositivo con la línea de tiempo. • No se puede componer ni mezclar vídeo de dispositivo con otro contenido multimedia. El dispositivo representa el vídeo por encima de cualquier otro contenido multimedia enriquecido. • No se puede controlar el volumen del sonido de un clip de vídeo. Para implementar vídeo de dispositivo, puede empaquetarlo en una aplicación o cargarlo desde un archivo externo en el dispositivo o desde una ubicación de red. Más temas de ayuda “Determinación de los formatos de vídeo de dispositivo admitidos” en la página 82 “Importación de vídeo de dispositivo a una aplicación” en la página 82 “Reproducción de vídeo de dispositivo externo en una aplicación” en la página 90 Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 82 Uso de vídeo Determinación de los formatos de vídeo de dispositivo admitidos Cada dispositivo admite distintos formatos de vídeo y codificaciones. Para determinar los formatos que admite un dispositivo, siga uno de estos procedimientos: • Utilice la ficha Perfiles de dispositivos de Adobe Device Central. Para obtener más información, consulte la ayuda de Device Central. • Consulte las especificaciones proporcionadas del fabricante del dispositivo. • Use la propiedad System.capabilities.videoMIMETypes de ActionScript. La propiedad System.capabilities.audioMIMETypes contiene un conjunto de tipos MIME de vídeo compatibles con el dispositivo. Cada elemento del conjunto tiene el formato video/video-type. Por ejemplo, el siguiente código muestra todos los tipos MIME de vídeo compatibles con el dispositivo en la ventana Salida: var mimeTypes = System.capabilities.videoMIMETypes; trace(mimeTypes.toString()); Nota: para ver la ventana Salida en Adobe Device Central, elija Ver > Salida Flash > Mostrar. Por ejemplo, el código siguiente comprueba si el dispositivo admite vídeo 3GPP antes de reproducir un archivo de vídeo de ese tipo: if (System.capabilities.videoMIMETypes["video/3gpp"]) { my_video.play("movie.3gp"); } Importación de vídeo de dispositivo a una aplicación Para empaquetar vídeo de dispositivo, impórtelo a la biblioteca de un documento de Flash. Al publicar la aplicación, la herramienta de creación Flash incorpora el archivo FLV en el archivo SWF publicado. Para importar un archivo de vídeo en un documento de Flash, use el asistente Importar vídeo o el panel Biblioteca. Ambos métodos añaden un símbolo de vídeo a la biblioteca del documento. Uso del asistente Importar vídeo 1 En Flash, seleccione Archivo > Importar > Importar vídeo. 2 Seleccione la opción para importar un archivo en el equipo y haga clic en Examinar. 3 Acceda a la carpeta que contiene el archivo de vídeo de dispositivo y selecciónelo. Si no ve el archivo de vídeo deseado (o si lo ver pero no puede seleccionarlo), seleccione Todos los archivos (*.*) en el menú desplegable Tipo de archivo (Windows) o seleccione Todos los archivos en el menú emergente Activar (Macintosh). 4 Haga clic en Abrir. 5 En el asistente Importar vídeo, haga clic en Siguiente. 6 En las aplicaciones de Flash Lite 2.0, la única opción de implementación es As mobile device video bundled in SWF (Como vídeo de dispositivo móvil empaquetado en SWF). Haga clic en Finalizar. Aparecerá un nuevo símbolo de vídeo en el panel Biblioteca. Este símbolo estará asociado al archivo de vídeo de dispositivo. 7 Arrastre el objeto de vídeo de la biblioteca al escenario y asígnele un nombre de instancia en el inspector de propiedades. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 83 Uso de vídeo Uso del panel Biblioteca para importar vídeo de dispositivo 1 En Flash, abra el panel Biblioteca (Ventana > Biblioteca). 2 Abra el menú Opciones de biblioteca y seleccione Nuevo vídeo. Aparecerá el cuadro de diálogo Propiedades de vídeo. 3 En el cuadro de diálogo, seleccione la opción para empaquetar el vídeo original en el archivo SWF y haga clic en Importar. 4 Acceda a la carpeta que contiene el archivo de vídeo de dispositivo y selecciónelo. Si no ve el archivo de vídeo deseado (o si lo ver pero no puede seleccionarlo), seleccione Todos los archivos (*.*) en el menú desplegable Tipo de archivo (Windows) o seleccione Todos los archivos en el menú emergente Activar (Macintosh). 5 Haga clic en Abrir. 6 En el cuadro de diálogo Propiedades de vídeo, seleccione la opción Exportar para ActionScript y escriba una cadena en el cuadro de texto Identificador. 7 Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de vídeo. Aparecerá un nuevo símbolo de vídeo en el panel Biblioteca. Este símbolo estará asociado al archivo de vídeo de dispositivo. Reproducción de vídeo de dispositivo empaquetado en una aplicación Para crear esta aplicación, arrastre un vídeo al escenario y añada código ActionScript a los botones para reproducir y detener el vídeo. 1 En Flash, elija Archivo > Nuevo > Archivo Flash (móvil) y haga clic en Aceptar. 2 En Adobe Device Central, haga clic en Crear. 3 En Flash, elija Archivo > Guardar y guarde el archivo como bundled_video.fla. 4 Importe el vídeo de dispositivo ocean.3gp de la carpeta Flash_Lite_2x\Samples\Video\. Para obtener más información sobre la importación de un vídeo de dispositivo, consulte “Importación de vídeo de dispositivo a una aplicación” en la página 82. Nota: en la página de tutoriales y ejemplos http://www.adobe.com/go/learn_flt_samples_and_tutorials_es, busque, descargue y descomprima el archivo ZIP de su versión de Flash Lite. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 84 Uso de vídeo Aparecerá un nuevo símbolo de vídeo en el panel Biblioteca. 5 Arrastre una instancia del símbolo de vídeo al escenario. 6 Seleccione el objeto de vídeo del escenario y, en el inspector de propiedades, escriba myVideo en el cuadro de texto Nombre de instancia. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 85 Uso de vídeo Use este nombre para referirse al objeto de vídeo en el código ActionScript. 7 En el inspector de propiedades, establezca la anchura en 176 y, la altura, en 144. Estas dimensiones coinciden con las del vídeo original. Según el dispositivo, no todos los vídeos de dispositivo de Flash Lite cambian de escala para ajustarse al tamaño del recuadro de delimitación. 8 Para añadir botones de control del vídeo, abra la biblioteca de botones creados previamente (Ventana > Bibliotecas comunes > Botones). 9 En el panel Botones, haga doble clic en la carpeta Circle Buttons para abrirla. 10 Arrastre una instancia del símbolo de botón Play al escenario. 11 Arrastre una instancia del símbolo de botón Stop al escenario. 12 Seleccione el botón Play en el escenario e introduzca (o copie y pegue) el siguiente código en el panel Acciones: on(press) { myVideo.play(); } 13 Seleccione el botón Stop en el escenario e introduzca el código siguiente en el panel Acciones: on(press) { myVideo.stop(); } 14 Seleccione Control > Probar película para probar la aplicación con Device Central. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 86 Uso de vídeo Reproducción de vídeo de dispositivo empaquetado en una aplicación en tiempo de ejecución Para crear esta aplicación, arrastre un marcador de posición de vídeo al escenario. Añada código ActionScript para reproducir y detener el vídeo. El botón Play arrastra el vídeo dinámicamente desde el panel Biblioteca en tiempo de ejecución. Esta aplicación sólo utiliza un vídeo. Una aplicación puede tener varios archivos de vídeo en el panel Biblioteca y arrastrarlos hasta el marcador de posición de vídeo en tiempo de ejecución. 1 En Flash, elija Archivo > Nuevo > Archivo Flash (móvil) y haga clic en Aceptar. 2 En Adobe Device Central, haga clic en Crear. 3 En Flash, elija Archivo > Guardar y guarde el archivo como bundled_video2.fla. 4 Importe el vídeo de dispositivo ocean.3gp de la carpeta Flash_Lite_2x\Samples\Video\. Para obtener más información sobre la importación de un vídeo de dispositivo, consulte “Importación de vídeo de dispositivo a una aplicación” en la página 82. Nota: en la página de tutoriales y ejemplos http://www.adobe.com/go/learn_flt_samples_and_tutorials_es, busque, descargue y descomprima el archivo ZIP de su versión de Flash Lite. Aparecerá un nuevo símbolo de vídeo en el panel Biblioteca. 5 Haga clic con el botón derecho del ratón (Windows) o con la tecla Control pulsada (Macintosh) en el símbolo ocean.3gp de la biblioteca y seleccione Propiedades en el menú contextual. Aparecerá el cuadro de diálogo Propiedades de vídeo. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 87 Uso de vídeo 6 En el cuadro de diálogo Propiedades de vídeo, seleccione Exportar para ActionScript y escriba ocean_video en el cuadro Identificador, tal como se muestra en la siguiente imagen: 7 Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de vídeo. 8 Para crear un clip de vídeo de marcador de posición, haga lo siguiente: a En el panel Biblioteca, haga clic en el botón de opciones de menú de la barra de título y seleccione Nuevo vídeo. Aparecerá el cuadro de diálogo Propiedades de vídeo. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 88 Uso de vídeo b En el cuadro Símbolo, escriba videoHolder. c Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de vídeo. 9 Arrastre una instancia del símbolo de vídeo al escenario. 10 Seleccione el objeto de vídeo del escenario y, en el inspector de propiedades, escriba myVideo en el cuadro de texto Nombre de instancia. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 89 Uso de vídeo Use este nombre para referirse al objeto de vídeo en el código ActionScript. 11 En el inspector de propiedades, establezca la anchura en 176 y, la altura, en 144. Estas dimensiones coinciden con las del vídeo original. Según el dispositivo, no todos los vídeos de dispositivo de Flash Lite cambian de escala para ajustarse al tamaño del recuadro de delimitación. 12 Para añadir botones de control del vídeo, abra la biblioteca de botones creados previamente (Ventana > Bibliotecas comunes > Botones). 13 En el panel Botones, haga doble clic en la carpeta Circle Buttons para abrirla. 14 Arrastre una instancia del símbolo de botón Play al escenario. 15 Arrastre una instancia del símbolo de botón Stop al escenario. 16 Seleccione el botón Play en el escenario e introduzca (o copie y pegue) el siguiente código en el panel Acciones: on(press) { myVideo.play("symbol://ocean_video"); } 17 Seleccione el botón Stop en el escenario e introduzca el código siguiente en el panel Acciones: on(press) { myVideo.stop(); } 18 Seleccione Control > Probar película para probar la aplicación con Device Central. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 90 Uso de vídeo Reproducción de vídeo de dispositivo externo en una aplicación Los archivos de vídeo de dispositivo externos residen en la tarjeta de memoria de un dispositivo o en un servidor web. Al igual que ocurre con el vídeo de dispositivo, el responsable de decodificar y reproducir el vídeo de dispositivo es el propio dispositivo. 1 En Flash, elija Archivo > Nuevo > Archivo Flash (móvil) y haga clic en Aceptar. 2 En Adobe Device Central, haga clic en Crear. 3 En Flash, elija Archivo > Guardar y guarde el archivo como external_device_video.fla. 4 Guarde el archivo ocean.3gp en la misma carpeta donde está el archivo external_device_video.fla. El archivo se encuentra en la carpeta Flash_Lite_2x\Samples\Video\ del paquete de de tutoriales y ejemplos que puede descargar de www.adobe.com/go/learn_flt_samples_and_tutorials_es. 5 Para crear el símbolo de vídeo que va a mostrar el archivo externo, realice lo siguiente: a En el panel Biblioteca, haga clic en el botón de opciones de menú de la barra de título y seleccione Nuevo vídeo. Aparecerá el cuadro de diálogo Propiedades de vídeo. b En el cuadro Símbolo, introduzca Video Display. Este nombre se usa en el panel Biblioteca. c Seleccione Vídeo (controlado por ActionScript) y haga clic en Aceptar. Asegúrese de que Empaquetar original en SWF para móvil y dispositivos no está seleccionada. 6 Arrastre una instancia del símbolo de vídeo al escenario. 7 Seleccione el objeto de vídeo del escenario y, en el inspector de propiedades, escriba myVideo en el cuadro de texto Nombre de instancia. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 91 Uso de vídeo Use este nombre para referirse al objeto de vídeo en el código ActionScript. 8 En el inspector de propiedades, establezca la anchura en 176 y, la altura, en 144. Estas dimensiones coinciden con las del vídeo original. Según el dispositivo, no todos los vídeos de dispositivo de Flash Lite cambian de escala para ajustarse al tamaño del recuadro de delimitación. 9 Para añadir botones de control del vídeo, abra la biblioteca de botones creados previamente (Ventana > Bibliotecas comunes > Botones). 10 En el panel Botones, haga doble clic en la carpeta Circle Buttons para abrirla. 11 Arrastre una instancia del símbolo de botón Play al escenario. 12 Arrastre una instancia del símbolo de botón Stop al escenario. 13 Seleccione el botón Play en el escenario e introduzca (o copie y pegue) el siguiente código en el panel Acciones: on(press) { myVideo.play("ocean.3gp"); } Para reproducir un archivo de vídeo externo, transfiera la ubicación absoluta o relativa del archivo o la URL del archivo de vídeo al método Video.play(). En el siguiente ejemplo, el archivo SWF y el archivo 3GP se encuentran en la misma carpeta del dispositivo. También puede especificar una ruta de carpeta relativa al archivo SWF, tal como se indica a continuación: myVideo.play("folder1/folder2/ocean.3gp"); En función del dispositivo, también se puede utilizar el protocolo file:// para reproducir un archivo de vídeo en una ubicación concreta, tal como se indica a continuación: myVideo.play("file://c:/folder1/folder2/ocean.3gp"); Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 92 Uso de vídeo Nota: no todos los dispositivos admiten el protocolo file://. Si utiliza este dispositivo, pruebe siempre la aplicación en todos los dispositivos de destino. Algunos dispositivos admiten la carga de archivos de vídeo desde direcciones de red a través de RTSP (Real Time Streaming Protocol, Protocolo de flujo en tiempo real). No se admiten flujos basados en HTTP. El ejemplo siguiente carga y reproduce un archivo 3GPP: myVideo.play("rtsp://www.example.com/video/ocean.3gp"); 14 Seleccione el botón Stop en el escenario e introduzca el código siguiente en el panel Acciones: on(press) { myVideo.stop(); } 15 Seleccione Control > Probar película para probar la aplicación con Device Central. Visualización y edición de propiedades del símbolo de vídeo Utilice el cuadro de diálogo Propiedades de vídeo para visualizar y editar la información de los símbolos de vídeo del panel Biblioteca. Apertura del cuadro de diálogo Propiedades de vídeo Realice una de las siguientes acciones: • Haga clic con el botón derecho del ratón (Windows) o con la tecla Control presionada (Macintosh) en un símbolo de vídeo de la biblioteca y seleccione Propiedades en el menú contextual. • Seleccione un símbolo de vídeo en el panel Biblioteca y seleccione Propiedades en el menú de opciones de la barra de título. Importación de un vídeo de dispositivo en un símbolo de vídeo 1 Seleccione un símbolo de vídeo en el panel Biblioteca y abra el cuadro de diálogo Propiedades de vídeo. 2 En el cuadro de diálogo, seleccione la opción para empaquetar el vídeo original en el archivo SWF (si aún no está seleccionada). 3 Haga clic en Importar y, en el explorador de archivos, localice el archivo de vídeo de dispositivo que desea importar y selecciónelo. Si no ve el archivo de vídeo deseado (o si lo ver pero no puede seleccionarlo), seleccione Todos los archivos (*.*) en el menú desplegable Tipo de archivo (Windows) o seleccione Todos los archivos en el menú emergente Activar (Macintosh). 4 Haga clic en Abrir para abrir el explorador de archivos. 5 Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de vídeo. Nota: hasta que no importe el vídeo de dispositivo o anule la selección para empaquetar el vídeo original en el archivo SWF, el botón OK aparece inactivo. Asignación de un identificador a un símbolo de vídeo 1 Seleccione el símbolo de vídeo y abra el cuadro de diálogo Propiedades de vídeo. 2 Importe un vídeo de dispositivo en el símbolo si no lo ha hecho ya. 3 Seleccione Exportar para ActionScript. 4 En el cuadro Identificador, introduzca un identificador para el símbolo de vídeo. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 93 Uso de vídeo Al igual que ocurre con todos los identificadores de ActionScript, el primer carácter debe ser una letra, un carácter de subrayado (_) o un símbolo de dólar ($). Los caracteres sucesivos pueden ser números, letras, caracteres de subrayado o símbolos de dólar. 5 Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de vídeo. Control del vídeo de dispositivo con ActionScript Use el objeto Video de ActionScript para controlar la reproducción de vídeo de dispositivo. Los métodos siguientes del objeto Video están disponibles solamente en Flash Lite 2.0 y versiones posteriores: • Video.play() • Video.stop() • Video.pause() • Video.resume() • Video.close() • Video.attachVideo() (Flash Lite 3.0 y posterior) Nota: estos métodos del objeto Video se corresponden de forma aproximada con los mismos métodos disponibles en el objeto NetStream de la versión de Flash Player de escritorio. Estos métodos del objeto Video no están disponibles en la versión de Flash Player de escritorio. Flash Lite 2.0 y versiones posteriores no admiten los siguientes métodos y propiedades del objeto Video: • Video.clear() • Video.deblocking • Video.height • Video.smoothing • Video.width • Video._visible Para obtener más información acerca del uso del objeto Video en Flash Lite, consulte la entrada del objeto Video en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Última modificación 1/5/2010 Capítulo 8: Desarrollo de aplicaciones de Flash Lite para BREW Puede desarrollar aplicaciones de Adobe Flash Lite 2.x que se ejecutan en dispositivos con la plataforma Binary Runtime Environment for Wireless (BREW) creada por QUALCOMM Incorporated. Si usted es un desarrollador que se siente seguro al trabajar con Flash Lite pero no está familiarizado con la plataforma BREW y sus requisitos para producir aplicaciones para dispositivos BREW, debería leer este capítulo. También debería ser de utilidad para usuarios con experiencia en otras tecnologías de desarrollo de aplicaciones que quieran explorar el uso de Flash Lite para desarrollar aplicaciones BREW. Conceptos básicos de BREW BREW La plataforma de dispositivo móvil QUALCOMM BREW está instalada en una amplia gama de dispositivos compatibles diseñados por diferentes fabricantes de todo el mundo. Adobe Flash CS4 Professional incluye herramientas y recursos que los desarrolladores utilizan para crear aplicaciones basadas en Flash Lite y contenido que los usuarios pueden descargar y utilizar en dispositivos BREW. Los desarrolladores utilizan la herramienta de edición Flash para crear contenido y aplicaciones de Flash Lite para dispositivos activados por BREW. A continuación, los desarrolladores envían sus aplicaciones a los NSTL (National Software Testing Laboratories, Laboratorios nacionales de pruebas de software) para llevar a cabo el proceso TBT (True BREW Testing, Evaluaciones True BREW). Cuando las aplicaciones superan el proceso TBT, se cargan en el BDS (BREW Delivery System, Sistema de envío BREW) y, si un portador decide distribuirlas, se ponen a disposición en el servidor de descarga de aplicaciones (ADS) del portador. Los usuarios de los dispositivos pueden descargar y adquirir estas aplicaciones para aprovechar las ventajas de las funciones principales de la plataforma BREW, obtener distribución mediante la tecnología Over-The-Air y facturar a través del sistema BDS. Los desarrolladores que deseen experimentar con la tecnología BREW sin tener que asumir los gastos asociados a su desarrollo a gran escala, pueden optar por no registrarse como desarrolladores autenticados de BREW y descargar únicamente los componentes SDK (kit de desarrollo de software) gratuitos. De este modo, podrán generar y probar una aplicación con BREW Simulator, pero no cargar ni probar las aplicaciones en un dispositivo ni simular las características concretas del dispositivo con paquetes de dispositivos personalizados. BREW está pensado para funcionar como un “ecosistema” de soporte para el desarrollo y el envío de contenido en dispositivos inalámbricos. Su objetivo es facilitar a los desarrolladores la creación, distribución y obtención de beneficios de las aplicaciones inalámbricas. Este ecosistema está formado por los siguientes grupos principales de participantes: Los desarrolladores utilizan las herramientas disponibles en el kit BREW SDK para desarrollar contenido con lenguaje C++ combinado con API, o bien con una extensión compatible con BREW. El kit BREW SDK se puede descargar de forma gratuita, pero es necesario registrarse en QUALCOMM para obtener acceso al paquete de herramientas "BREW Tools Suite" y las herramientas SDK. Los laboratorios nacionales de pruebas de software (NSTL) prueban las aplicaciones enviadas por los desarrolladores y, si los resultados son satisfactorios, se puede solicitar su inclusión en el sistema BDS. Si los resultados no son positivos, los desarrolladores pueden corregir los fallos y volver a enviar sus aplicaciones. 94 Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 95 Desarrollo de aplicaciones de Flash Lite para BREW QUALCOMM se encarga de mantener el sistema de envío BREW (BDS). Se trata de un sistema web que proporciona contenido registrado en el catálogo de QUALCOMM, junto con la información de tarifas y de facturación correspondiente. Las tarifas pueden aplicarse a varios modelos, incluida la subasta del operador. Los operadores (portadores) utilizan el servidor de descarga de aplicaciones (ADS) para ofrecer el contenido seleccionado a precio de venta minorista para que los clientes puedan adquirirlo mediante un mecanismo de envío Over-The-Air (OTA). Los fabricantes de dispositivos, por su parte, utilizan el cliente BREW, que proporciona un conjunto fijo de interfaces de programación de aplicaciones (API) para el desarrollo normalizado de aplicaciones inalámbricas. El cliente también contiene un administrador de aplicaciones a disposición de los usuarios para utilizar y administrar las aplicaciones BREW. Herramientas de desarrollo de Flash Lite y BREW Para desarrollar y probar aplicaciones de Flash Lite en el entorno BREW, es necesario adquirir e instalar herramientas específicas de hardware y software. Hardware Equipo Windows Para obtener más información sobre los requisitos del sistema del kit BREW SDK y el paquete de herramientas "BREW Tools Suite", consulte el apartado “System Requirements” (Requisitos del sistema) del manual Starting with BREW (disponible en inglés en el sitio web de BREW). Para obtener más información sobre los requisitos del sistema del software de Adobe, consulte www.adobe.com/go/sysreqs_es. Dispositivos compatibles con BREW con bit de pruebas definido Para obtener más información sobre cómo adquirir, activar y probar dispositivos compatibles con BREW, consulte el apartado “Handset Acquisition and Readiness” (Adquisición y preparación del terminal) del manual Getting Started with BREW (disponible en inglés en el sitio web de BREW). Tenga en cuenta que los dispositivos compatibles con BREW 2.x deben enviarse a QUALCOMM para archivos para pruebas; los dispositivos BREW 3.x ya se distribuyen previamente activados. Cables de datos Los cables de datos son necesarios para cargar aplicaciones Flash en los dispositivos BREW que se pretende utilizar. La mayoría de los dispositivos se distribuyen con cables de datos, pero en caso de no disponer de un cable, consulte el apartado “Acquire BREW Handsets and Data Cables” (Adquisición de terminales y cables de datos BREW) del manual Getting started with BREW (disponible en inglés en el sitio web de BREW). Software BREW SDK y paquete de herramientas "BREW Tools Suite" Para obtener más información sobre la instalación del kit BREW SDK y las herramientas, consulte el capítulo 2, “Installing the BREW SDK” (Instalación del kit BREW SDK) del manual Getting Started with BREW (disponible en inglés en el sitio web de BREW). Debe estar registrado como desarrollador BREW para poder descargar e instalar el paquete de herramientas "BREW Tools Suite", pero no es necesario estarlo para descargar el kit SDK. Para obtener más información sobre el registro, visite el sitio web de BREW. Controladores USB para dispositivos de destino Obtenga e instale los controladores USB para los dispositivos que pretende utilizar. Para más información sobre la adquisición de los controladores, póngase en contacto con el fabricante. Extensión de Flash Lite para dispositivos compatibles con BREW Estos dispositivos están disponibles en el sitio web de BREW sólo con fines de prueba. La extensión se descarga automáticamente en los dispositivos de los usuarios cuando seleccionan y descargan una aplicación Flash Lite para BREW. Estos componentes se describen de forma más detallada en el apartado “Configuración del sistema para BREW” en la página 98. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 96 Última modificación 1/5/2010 Desarrollo de aplicaciones de Flash Lite para BREW Funciones de Flash Lite admitidas en BREW Flash Lite para BREW admite un subconjunto de las funciones disponibles tanto en Flash Lite 2.0 como en Flash Lite 2.1. Las funciones admitidas en Flash Lite para BREW se detallan a continuación. Para obtener más información sobre estas funciones, consulte el apartado “Funciones de Flash Lite 3.0” en la página 7. • Basado en Macromedia Flash Player 7 de Adobe, admite Adobe ActionScript 2.0 • Gestión de datos XML. • Gestión de datos persistentes. • Fuentes de dispositivo y vectoriales. • Sonido de dispositivo para eventos. • Vídeo en línea (limitado a formatos de vídeo admitidos en el dispositivo). • Flujo de vídeo. • Sockets XML. • Acceso a la red y flujo HTTP. • Compatibilidad con texto en línea (limitado a 64.000 caracteres, con más limitaciones impuestas por las características de cada dispositivo. Algunos dispositivos admiten sólo 1000 caracteres). • Archivos multimedia dinámicos. • Compatibilidad con teclados. Funciones de Flash Lite no admitidas en BREW Los fabricantes de dispositivos BREW pueden limitar el uso de determinadas funciones de Flash Lite, lo que significa que estas funciones no se pueden utilizar en el dispositivo. Puede encontrar información sobre dispositivos concretos en la página de recursos de desarrolladores del sitio web de BREW. Además de las funciones no admitidas en determinados dispositivos, la lista siguiente describe las funcionalidades no admitidas en la implementación de BREW actual en Flash Lite (y que, por tanto, no están disponibles en ningún dispositivo): Decodificación de sonido de Flash Lite Todos los formatos de sonido se transfieren al dispositivo para su reproducción sin modificación alguna. Por ejemplo, si el sonido está en formato mp3 y el dispositivo admite mp3, se reproducirá. Flash Lite no decodifica ningún sonido de forma interna en BREW, como sí hace en otras plataformas. Flujo de sonido Todo el sonido debe estar totalmente cargado para poder reproducirse. La implementación actual de BREW no admite la reproducción progresiva de sonido, ya que se carga a través de una red. Comandos de ActionScript Las siguientes funciones fscommand2() de ActionScript no están disponibles en ningún dispositivo BREW: ExtendBacklightDuration() GetNetworkConnectStatus() GetBatteryLevel() GetNetworkName() GetMaxBatteryLevel() GetNetworkRequestStatus GetMaxSignalLevel() GetPowerSource() GetNetworkConnectionName() GetSignalLevel() La siguiente función fscommand() de ActionScript no se encuentra disponible en ningún dispositivo BREW: DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 97 Última modificación 1/5/2010 Desarrollo de aplicaciones de Flash Lite para BREW fscommand(Launch) getURL(), compatibilidad Algunos terminales BREW admitenalgunas funciones getURL(), según la implementación. Por regla general, no se admiten ni MMS (servicio de mensajería multimedia) ni HTTP (no existe ninguna API para permitir que Flash Lite inicie un navegador). Nota: las peticiones mailto no son compatibles de forma directa. Como alternativa, puede utilizar el protocolo SMS (Servicio de mensajes cortos), que limita el tamaño máximo del mensaje a 160 caracteres. Contenido de fondo de pantalla El contenido de fondo de pantalla de Flash Lite no se admite en la implementación de Flash Lite para BREW. Tonos de llamada animados Los tonos de llamada animados no se admiten en la implementación de Flash Lite para BREW. Versiones de BREW SDK admitidas En la actualidad, Flash Lite 2.1 para dispositivos BREW admite versiones de BREW 2.1.3 y posteriores. Para saber qué versión de BREW se está ejecutando en un dispositivo concreto, se puede consultar la lista de especificaciones del dispositivo en el sitio web de BREW. Los dos dispositivos que admiten actualmente Flash Lite para BREW (los modelos Samsung SCH-A950 y LG VX9800), admiten distintas versiones de BREW (2.x y 3.x, respectivamente). Como los kits BREW SDK son compatibles con versiones anteriores, es posible descargar el kit SDK y las herramientas para la versión más reciente (3.x en el momento de redactar este manual) en vez de la versión admitida por el dispositivo para el que desea desarrollar la aplicación. Por ejemplo, si su dispositivo de destino es el terminal Samsung SCH-A950 (dispositivo con la versión 2.x), podrá descargar y utilizar la versión 3.x del kit BREW SDK y del paquete de herramientas "BREW Tools Suite". Las diferencias entre las versiones BREW 2.x y 3.x son mínimas en lo que a la interfaz de usuario se refiere y el comportamiento de Flash Lite es el mismo en las dos plataformas. Las diferencias más significativas están relacionadas con el modo en que se almacenan los archivos en el dispositivo y cómo se cargan las aplicaciones en el paquete de herramientas "BREW Tools Suite". Para obtener más información acerca de la estructura del sistema de archivos, consulte “Estructuras de archivos de los dispositivos para distintas versiones de BREW” en la página 105. Dispositivos admitidos Los dispositivos admitidos actualmente en la plataforma BREW son: Dispositivo Versión admitida Samsung SCH-A950 BREW - versión 2.1.3 LG VX9800 BREW - versión 3.1.2 El equipo de asistencia al cliente de Adobe certificará más dispositivos a medida que se pongan a disposición del público. Para obtener una lista actualizada de dispositivos compatibles, consulte www.adobe.com/go/mobile_supported_devices_es/. Recursos adicionales Para obtener más información sobre BREW, visite el sitio web de BREW. La página inicial de desarrolladores del sitio contiene información relacionada con el kit BREW SDK, las herramientas y utilidades de BREW y las características de los dispositivos específicos que admiten BREW. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 98 Desarrollo de aplicaciones de Flash Lite para BREW Nota: para poder descargar y utilizar el paquete de herramientas "BREW Tools Suite", y para poder habilitar los dispositivos con el fin de realizar pruebas de BREW, es preciso que se registre como desarrollador BREW. En el sitio web encontrará toda la información necesaria sobre el registro. Configuración del sistema para BREW Flujo de trabajo para la configuración del sistema para BREW Para configurar el sistema y producir archivos Flash Lite para BREW, es necesario localizar e instalar el software adecuado de distintas fuentes. También es necesario adquirir el hardware adecuado (dispositivos compatibles con BREW, cables de datos, etc.). Gran parte de la información específica necesaria para instalar y configurar estos componentes se encuentra en otros documentos de Flash Lite o de BREW. Para configurar el sistema para que admita la edición de Flash Lite para BREW, debe realizar las tareas siguientes: 1 Registrarse como desarrollador BREW. 2 Instalar el kit BREW SDK y el paquete de herramientas. 3 Instalar Adobe Flash Lite 2.1 para BREW. 4 Instalar los controladores USB para dispositivos de destino. Registrarse como desarrollador BREW Para registrarse como desarrollador BREW, acceda al sitio web principal de BREW de QUALCOMM y siga los vínculos de la página inicial de desarrolladores para convertirse en un desarrollador BREW autenticado. Instalación del kit BREW SDK y las herramientas Las instrucciones siguientes describen cómo instalar el kit BREW SDK en el equipo. Se da por hecho que ya es un desarrollador BREW registrado. Para más información detallada sobre la instalación del kit BREW SDK o las herramientas, consulte el capítulo “Installing the BREW SDK” (Instalación del kit BREW SDK) de la guía Starting with BREW. Vaya al sitio web de BREW y, a continuación, seleccione Developer Home > BREW Documentation > Application Development Documentation. 1 Desde la página inicial para desarrolladores BREW del sitio web, haga clic en Download BREW Tools para acceder a la página BREW Development and Commercialization Tools. 2 Baje hasta el área BREW Development y haga clic en el vínculo correspondiente a la versión más reciente del kit BREW SDK (en el momento de redactar este manual, BREW SDK 3.1). Siga las instrucciones que aparezcan en pantalla para realizar la descarga e instale el kit SDK. 3 Una vez instalado, proceda a instalar las herramientas. Acceda al área BREW Commercialization de la página BREW Development and Commercialization Tools y haga clic en el vínculo BREW Testing and Commercialization Utilities. Siga las instrucciones que aparezcan en pantalla para instalar el paquete de herramientas "BREW Tools Suite" en el equipo. El menú Inicio de su equipo debería mostrar ahora menús para el kit BREW SDK y el paquete de herramientas "BREW Tools Suite". Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 99 Desarrollo de aplicaciones de Flash Lite para BREW Instalación de Adobe Flash Lite 2.1 para dispositivos BREW Flash Lite 2.1 para dispositivos BREW contiene tres componentes: • Flash Lite Publisher para BREW (disponible en www.adobe.com/go/support_flashlite_es) • Flash Lite 2.1 para BREW Simulator (disponible en www.adobe.com/go/support_flashlite_es) • Extensión de Flash Lite para dispositivos compatibles con BREW (disponible en el sitio web de BREW sólo con fines de prueba. La extensión se descarga automáticamente en los dispositivos de los usuarios cuando seleccionan y descargan una aplicación Flash Lite para BREW). Instalación de los controladores USB para dispositivos Cada dispositivo en el que pretenda implementar la tecnología BREW incluye su propio grupo de controladores USB, que deben estar instalados en el equipo. Los nuevos dispositivos deben incluir un CD-ROM que contenga dichos controladores. Utilice dichas versiones siempre que sea posible. Para instalar los controladores USB para un dispositivo, siga el procedimiento habitual de instalación de controladores de dispositivos de Windows. Recursos adicionales Para más información sobre el desarrollo y las pruebas de aplicaciones de Flash Lite, consulte el resto de las secciones de este documento. En ellas encontrará información exhaustiva sobre el desarrollo y las pruebas de aplicaciones de Flash Lite. La ayuda en línea de Flash CS4 Professional también recoge información pormenorizada sobre el desarrollo de Flash Lite. Para más información acerca de BREW, la mejor fuente de información es el sitio web BREW de QUALCOMM. También puede consultar los archivos de ayuda incluidos en el kit SDK para obtener más información sobre las herramientas y procesos de desarrollo BREW. En el momento de redactar este manual, la documentación relativa a BREW contiene dos documentos con nombre parecido: ambos son muy útiles para aprender los conceptos básicos de BREW. Nos referimos a: • Getting started with BREW (un resumen de dos páginas sobre el hardware y el software necesarios para desarrollar aplicaciones BREW). • Starting with BREW (un manual más detallado que contiene toda la información necesaria para comenzar a desarrollar aplicaciones BREW). Edición de archivos Flash Lite para BREW Flujo de trabajo para la edición de archivos Flash Lite para BREW En términos generales, la edición en BREW es similar a la edición en Flash Lite. La diferencia reside en la personalización de las aplicaciones según las características del terminal compatible con BREW específico para el que se realiza el diseño. En esta sección se describe cómo utilizar Flash para editar contenido de Flash Lite y publicarlo posteriormente para BREW mediante el componente Flash Lite Publisher para BREW (descrito en el apartado “Publicación de archivos Flash Lite para BREW” en la página 102). La creación de contenido de Flash Lite para la plataforma BREW es un proceso iterativo y requiere llevar a cabo los pasos siguientes: Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 100 Desarrollo de aplicaciones de Flash Lite para BREW Identificación del dispositivo de destino y el tipo de contenido de Flash Lite En el momento de redactar este manual, los dos dispositivos siguientes admiten BREW: el modelo Samsung SCHA950, que contiene la plataforma de la versión de BREW 2.1.3; y el modelo LG VX9800, que contiene la plataforma de la versión de BREW 3.1.2. Estos dispositivos tienen características bien distintas (por ejemplo, el modelo LG tiene teclado QWERTY y el modelo Samsung, no), por lo que es importante adaptar la planificación del desarrollo de la aplicación teniendo en cuenta las capacidades exclusivas de cada dispositivo. Asimismo, es posible crear dos tipos de contenido distintos (aplicaciones y protectores de pantalla), cada uno de los cuales requiere más atención en distintos problemas de diseño. Para más información acerca de las diferencias entre los protectores de pantalla y las aplicaciones, consulte el sitio web de BREW y acceda a la página Developer FAQs de desarrolladores > BREW Tools -> MIF Settings -> Screensaver. Nota: actualmente, sólo el modelo Samsung SCH-A950 admite tipos de contenido de protector de pantalla. Creación y prueba de la aplicación en Flash Adobe Flash CS4 Professional incluye un emulador en Adobe Device Central CS4 que permite probar la aplicación sin tener que transferirla a un dispositivo. El emulador de Device Central se utiliza para depurar el diseño general de la aplicación y solucionar los posibles problemas antes de probarla en un dispositivo móvil. Nota: las pruebas realizadas en Flash con el emulador son distintas a las que se llevan a cabo con el simulador incluido en el kit BREW SDK. Las pruebas del emulador de Flash se describen en esta sección y las pruebas correspondientes de BREW Simulator se describen en el apartado “Publicación de archivos Flash Lite para BREW” en la página 102. Como el emulador de Device Central no proporciona actualmente paquetes de dispositivos para dispositivos BREW, el emulador de Device Central solamente se puede utilizar para comprobar la funcionalidad básica. Utilice BREW Simulator para probar la funcionalidad de la aplicación en el entorno BREW. Identificación del dispositivo de destino y del tipo de contenido La página inicial de desarrolladores de QUALCOMM contiene información sobre las características concretas de todos los dispositivos que admiten actualmente una versión de BREW. También contiene información acerca de dispositivos precomerciales que aún no están disponibles en el mercado. Puede utilizar esta información para determinar qué dispositivos de destino piensa utilizar para la aplicación BREW. También se incluyen con el kit BREW SDK diversas aplicaciones de muestra con diferentes paquetes de dispositivos. Puede utilizar estas aplicaciones de muestra para saber más acerca de cómo funcionan dispositivos específicos. Creación de la aplicación en Flash El proceso de creación de aplicaciones de Flash Lite para BREW comparte similitudes con la creación de una aplicación Flash Lite genérica. Dejando a un lado las funciones no admitidas en dispositivos BREW (enumeradas en el apartado “Funciones de Flash Lite no admitidas en BREW” en la página 96) y las notas de edición específicas de BREW (a continuación), el desarrollo de aplicaciones para dispositivos BREW se puede llevar a cabo siguiendo los pasos de desarrollo que se detallan en el resto de la documentación de Flash. En los temas siguientes se facilita información relativa solamente a la edición de Flash Lite para BREW. Inicio de un navegador Los terminales de destino de BREW utilizan el navegador OpenWave. Éste no contiene la funcionalidad necesaria para que la aplicación BREW pueda invocar el navegador. Por lo tanto, si se especifica una URL HTTP en las funciones getURL(), loadVars(send) o XML.send(), no se iniciará ningún navegador. Para enviar la información a un servidor y seguir reproduciendo el archivo SWF sin abrir una ventana nueva ni reemplazar el contenido de una ventana o un marco existente, utilice la función loadVars.sendAndLoad(). DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 101 Última modificación 1/5/2010 Desarrollo de aplicaciones de Flash Lite para BREW Comportamiento predeterminado de las teclas programables Para obtener más información y ejemplos en los que se describe cómo programar el comportamiento de las teclas programables de Flash Lite, consulte el apartado “Uso de las teclas programables” en la página 50. En la siguiente tabla se describe el comportamiento predeterminado de las teclas programables de Flash Lite 2.1 para BREW. Acción de contenido Modo de pantalla Acción de tecla de flecha izquierda Acción de tecla de flecha derecha Predeterminado (el contenido no llama al comando SetSoftKeys) Modo de pantalla completa Muestra el menú de opciones Cierra el reproductor Modo de pantalla no completa (el contenido no llama a SetSoftKeys) Modo de pantalla no completa Muestra el menú de opciones Cierra el reproductor El contenido desactiva las teclas programables No disponible Ninguno Ninguno El contenido anula una o ambas teclas programables (llama a SetSoftKeys) No disponible Muestra el menú de opciones si no hay anulación. Cierra el reproductor si no hay anulación. Si hay anulación, el contenido especifica el comportamiento. Si hay anulación, el contenido especifica el comportamiento. Prueba de la aplicación en Flash Al igual que con la creación de la aplicación, el uso del emulador de Adobe Device Central para probar la aplicación BREW es parecido al proceso de prueba de una aplicación Flash Lite genérica. Recuerde que las pruebas realizadas en Flash (con el emulador de Device Central) son distintas de las que se llevan a cabo con el simulador incluido en el kit BREW SDK. Las pruebas del emulador de Device Central se describen en esta sección y las pruebas correspondientes de BREW Simulator se describen en el apartado “Publicación de archivos Flash Lite para BREW” en la página 102. Como el emulador de Device Central no proporciona actualmente paquetes de dispositivos para dispositivos BREW, el emulador de Device Central solamente se puede utilizar para comprobar la funcionalidad básica. Utilice BREW Simulator para probar la funcionalidad de la aplicación en el entorno BREW. 1 Abra la aplicación en Flash 2 Seleccione Archivo > Configuración de publicación. En la ficha Flash, seleccione Flash Lite 2.1 de la lista de versiones y, después, seleccione ActionScript 2.0 de la lista de versiones de ActionScript. Haga clic en Aceptar para guardar su configuración. 3 Abra el emulador de Adobe Device Central (Control > Probar película) y haga clic en la ficha Perfiles de dispositivos. 4 En el panel Biblioteca, realice una de las siguientes acciones: a Si no ha descargado un paquete de dispositivos para su dispositivo destino, seleccione Genérico > Flash Lite 2.0 > Teléfono genérico. b Si ha descargado un paquete de dispositivos para su dispositivo de destino (disponible en www.adobe.com/products/flash/download/device_profiles), haga clic en el nombre del dispositivo para expandirlo, seleccione el tamaño de dispositivo adecuado y arrastre el nombre de su dispositivo de destino del panel Dispositivos disponibles al panel Conjuntos de dispositivos. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 102 Última modificación 1/5/2010 Desarrollo de aplicaciones de Flash Lite para BREW 5 Seleccione Archivo > Volver a Flash y, a continuación, seleccione Control > Probar película en el menú Flash. Si aparece el asistente de BREW Publisher, haga clic en Cancelar para cerrar el cuadro de diálogo. Flash exporta su aplicación a Device Central y la abre en el emulador. 6 Utilice el emulador para probar la aplicación. Para obtener más información sobre el uso del emulador, consulte el apartado “Uso del emulador” en la página 117. Cuando haya terminado de probar la aplicación en el emulador, guarde los archivos y vaya al apartado “Publicación de archivos Flash Lite para BREW” en la página 102 para obtener instrucciones sobre cómo publicar la aplicación para la plataforma BREW. Recursos adicionales Para obtener más información sobre el desarrollo y las pruebas de aplicaciones de Flash Lite, consulte las siguientes fuentes (podrá encontrarlas en la ayuda de Flash): • Introducción a Flash Lite 2.x y 3.0 (PDF) • Pruebas del contenido de Flash Lite (temas de la ayuda) Publicación de archivos Flash Lite para BREW Publicación de archivos Flash Lite para BREW Para poder ejecutarlas en dispositivos BREW, las aplicaciones de Flash Lite deben ajustarse a la norma BREW. El asistente de Flash Lite Publisher para BREW automatiza algunos de los pasos necesarios, para facilitar a los desarrolladores la creación de aplicaciones que cumplen dicha norma. Además de generar los archivos para la aplicación en sí, el asistente utiliza la herramienta del simulador del kit BREW SDK para generar archivos que se puedan utilizar para probar la aplicación BREW. Antes de comenzar a utilizar el asistente de BREW Publisher, le resultará útil comprender determinados conceptos básicos sobre los tipos de archivos de las aplicaciones BREW, la estructura de archivos y los requisitos. Tipos de archivo La finalidad principal de Flash Lite Publisher para BREW es publicar un archivo SWF estándar y, posteriormente, utilizar un post-procesador para empaquetar el archivo SWF de modo que pueda ejecutarse en un dispositivo BREW. La siguiente tabla muestra una lista de los archivos necesarios para utilizar contenido de Flash Lite en un dispositivo BREW: Archivo Contenido del archivo Archivo MIF Información de configuración Archivo MOD Archivo de aplicación para dispositivo BREW Archivo SIG Archivo específico del dispositivo de QUALCOMM Los archivos necesarios para utilizar contenido de Flash Lite con BREW Simulator son: DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 103 Última modificación 1/5/2010 Desarrollo de aplicaciones de Flash Lite para BREW Archivo Contenido del archivo Archivo MIF Información de configuración Archivo DLL Archivo de aplicación para BREW Simulator Todos los archivos anteriores deben tener el mismo nombre de archivo (con la extensión de archivo correspondiente: .mif, .mod, .sig o .dll) y éste debe coincidir con el nombre de la carpeta de la aplicación. Los archivos también deben estar ubicados en las carpetas adecuadas del dispositivo para que funcionen correctamente. La estructura de carpetas varía según la versión de BREW que utilice el dispositivo. Para obtener más información, consulte el apartado “Estructuras de archivos de los dispositivos para distintas versiones de BREW” en la página 105. Archivos MIF Los archivos MIF son archivos de configuración que proporcionan la información necesaria para los applets BREW. El asistente de BREW Publisher genera archivos MIF para el usuario dentro del proceso de publicación. Sin embargo, es responsabilidad de cada desarrollador de contenido comprender el formato MIF y sus requisitos, así como verificar si la configuración del archivo MIF es la correcta antes de enviar las aplicaciones al proceso de evaluaciones True BREW. El siguiente código muestra los valores predeterminados MIF que genera el asistente BREW Publisher, para aplicaciones y protectores de pantalla, respectivamente. Si alguno de estos valores no es correcto en su aplicación, descargue el Editor MIF del sitio web de BREW y edite los archivos antes de enviar las aplicaciones para su prueba. <Applet> - List of Applets defined in this Module: [Class ID in post processor] - Applet Information: * Name: [Applet Name in post processor] * Class ID: [Class ID in post processor] * Applet Type: [blank] - Graphics * Large: [Large Icon in post processor] * Medium: [Medium Icon in post processor] * Small: [Small Icon in post processor] <Extension> - Exported Classes: [blank] - Exported MIME Types: [blank] <Dependencies> - External Classes Used by this Module: [blank] - External Classes Directory (Checkbox): [checked] - Used: [Class IDs generated by post processor] <Privileges> File [checked] Network [checked] Web Access [checked] TAPI [checked] <Access Control> - ACL type [blank] - Rights [blank] - Groups [blank] <License> No License (Checkbox): [checked] <General> - Author Name: [Author in post processor] - Copyright String: [Copyright in post processor] - Module Version: [Version in post processor] Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 104 Desarrollo de aplicaciones de Flash Lite para BREW - EFS Restrictions * Max Files: [blank] * Max Space: (bytes) [blank] - String Encoding Format: [ISOLATIN1] Default MIF output for Screensavers <Applet> - List of Applets defined in this Module: [Class ID in post processor] - Applet Information: * Name: [Applet Name in post processor] * Class ID: [Class ID in post processor] * Applet Type: [blank] - Graphics * Large: [Large Icon in post processor] * Medium: [Medium Icon in post processor] * Small: [Small Icon in post processor] - Notifications, Flags, Settings… * Flags: Screensaver [checked] <Extension> - Exported Classes: [blank] - Exported MIME Types: [brew/ssaver Class ID] <Dependencies> - External Classes Used by this Module: [blank] - External Classes Directory (Checkbox): [checked] - Used: [Class IDs generated by post processor] <Privileges> All unchecked <Access Control> - ACL type [blank] - Rights [blank] - Groups [blank] <License> No License (Checkbox): [checked] <General> - Author Name: [Author in post processor] - Copyright String: [Copyright in post processor] - Module Version: [Version in post processor] - EFS Restrictions * Max Files: [blank] * Max Space: (bytes) [blank] - String Encoding Format: [ISOLATIN1] Archivos SIG Los archivos SIG son archivos de firma específicos del dispositivo que se requieren para cada dispositivo para el que desea desarrollar la aplicación. Estos archivos se obtienen de QUALCOMM y son válidos durante 90 días. Transcurridos estos 90 días, el archivo de firma caduca y QUALCOMM debe emitir uno nuevo. Sólo se requiere un archivo SIG por dispositivo. No obstante, como cada aplicación necesita su propio archivo SIG correspondiente, se debe hacer una copia del archivo SIG original y cambiarle el nombre para que coincida con el de la aplicación creada. Recuerde que el archivo SIG debe estar en la misma carpeta que el archivo MOD, el archivo de aplicación para el dispositivo BREW. Debe ser un desarrollador BREW autenticado para poder acceder a la utilidad de generación de firmas del sitio web de BREW. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 105 Desarrollo de aplicaciones de Flash Lite para BREW Nota: los archivos SIG son necesarios para probar las aplicaciones en dispositivos, pero no se requieren para realizar pruebas en BREW Simulator. Obtener un archivo SIG 1 Vaya al sitio web de BREW y acceda a la página que contiene el vínculo al generador de firmas de pruebas basado en la web de QUALCOMM. 2 Seleccione el generador de pruebas BREW Testing. 3 Escriba su nombre de usuario y contraseña de desarrollador BREW. 4 En el campo ESN, escriba 0x<número de ESN> , donde el número de ESN representa el número que se encuentra debajo de la batería del dispositivo al levantarla. 5 Haga clic en Generate (Generar) y espere a que aparezca el vínculo de descarga de la firma. 6 Descargue la firma y guarde el archivo: lo necesitará para realizar todas las pruebas en el dispositivo. Archivos BAR Es posible agregar, eliminar y mover archivos en un dispositivo compatible con BREW mediante un cable de datos y una aplicación de Windows denominada AppLoader (QUALCOMM la proporciona dentro de su paquete de herramientas "BREW Tools Suite"). Sin embargo, no es posible copiar desde el dispositivo BREW archivos con las extensiones .mod, .mif o .bar en cualquier otro dispositivo o medio de almacenamiento. Esta limitación está impuesta por QUALCOMM para garantizar que los archivos adquiridos a través del sistema de envío de BREW (BDS) no se puedan distribuir a usuarios no autorizados. Para que los desarrolladores de contenido de Flash puedan aprovechar esta función de seguridad, el reproductor de Flash Lite que se ejecuta en dispositivos BREW busca archivos BAR al intentar hacer referencia a un archivo del dispositivo local. Esta restricción se aplica a cualquier función de ActionScript o de las bibliotecas compartidas que utilice una ruta de acceso para hacer referencia a un archivo, por ejemplo: loadMovie(), loadSound(), loadVariables(), XML.load(), etc. Para utilizar esta función, los desarrolladores pueden añadir la extensión .bar a todos los archivos que creen y el reproductor podrá seguir ubicándolos y mostrándolos, pero nadie puede copiarlos desde el dispositivo BREW donde se cargaron inicialmente. Flash Lite Player comienza buscando el archivo mediante la ruta de acceso local suministrada (por ejemplo, loadMovie(ejemplo.swf)). Si no se encuentra el archivo en esta ubicación, busca en la misma ruta de acceso con la extensión .bar añadida (por ejemplo, loadMovie(ejemplo.swf.bar)). Entonces, se carga el archivo. Estructuras de archivos de los dispositivos para distintas versiones de BREW Los dispositivos que admiten BREW 2.x y BREW 3.x tienen distintas estructuras de archivos. Es importante comprender estas diferencias antes de utilizar el asistente de BREW Publisher para especificar la estructura de archivos de la aplicación BREW. El sistema de archivos de dispositivos BREW 2.x tiene la siguiente estructura: • Todas las carpetas de la aplicación se guardan en la carpeta raíz, denominada brew/. • Los archivos de la aplicación (incluidos los archivos SIG) se guardan en la carpeta de la aplicación (no se permiten subcarpetas). • Los archivos MIF se guardan en la carpeta raíz, brew/. • Los medios compartidos, como las imágenes y los archivos BAR, se guardan en la carpeta brew/shared. También se pueden guardar medios compartidos en la carpeta que contiene los archivos de la aplicación principal. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 106 Desarrollo de aplicaciones de Flash Lite para BREW Ejemplo: brew/nombre_de_la_aplicación/nombre_de_la_aplicación.mod brew/nombre_de_la_aplicación/nombre_de_la_aplicación.sig brew/nombre_de_la_aplicación.mif brew/shared/media.xxx, donde xxx es la extensión de los archivos de recursos, incluidos los gráficos, vídeo, sonido y los archivos BAR o brew/nombre_de_la_aplicación/media.xxx, donde xxx es la extensión de los archivos de recursos, incluidos los gráficos, vídeo, sonido y los archivos BAR. El sistema de archivos de dispositivos BREW 3.x tiene la siguiente estructura: • Todos los directorios de la aplicación se guardan en la carpeta brew/mod. • Los archivos de la aplicación (incluidos los archivos SIG) se guardan en la carpeta de la aplicación (no se permiten subcarpetas). • Los archivos MIF se guardan en la carpeta brew/mif. • Puede guardar medios compartidos, como imágenes o archivos BAR, en la carpeta brew/shared. También se pueden guardar medios compartidos en la carpeta que contiene los archivos de la aplicación principal. Ejemplo: brew/mod/nombre_de_la_aplicación/nombre_de_la_aplicación.mod brew/mod/nombre_de_la_aplicación/nombre_de_la_aplicación.sig brew/mif/nombre_de_la_aplicación.mif brew/shared/media.xxx, donde xxx es la extensión de los archivos de recursos, incluidos los gráficos, vídeo, sonido y los archivos BAR. o brew/mod/nombre_de_la_aplicación/media.xxx, donde xxx es la extensión de los archivos de recursos, incluidos los gráficos, vídeo, sonido y los archivos BAR. Flujo de trabajo para la publicación y pruebas de archivos Flash Lite para BREW El flujo de trabajo para la publicación y las pruebas de archivos Flash Lite para BREW es el siguiente: • En Flash, inicie el asistente de BREW Publisher y siga las instrucciones que aparezcan en pantalla para especificar la configuración adecuada para la aplicación BREW y publicar los archivos. • En el kit BREW SDK, utilice BREW Simulator para probar la aplicación. Uso del asistente de BREW Publisher para publicar archivos de la aplicación 1 En Flash, seleccione Archivo > Configuración de publicación. Aparecerá el cuadro de diálogo Configuración de publicación. 2 En la ficha Formatos, seleccione Flash (.swf) si no está seleccionado ya. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 107 Desarrollo de aplicaciones de Flash Lite para BREW Puede anular la selección del resto de tipos de archivo, ya que sólo se necesita el archivo SWF para generar el applet BREW. 3 En la ficha Flash, en la lista Versión, seleccione una versión admitida del reproductor (Flash Player 7 o una versión anterior, o cualquier versión de Flash Lite) y, a continuación, seleccione cualquiera de las versiones de la lista de versiones de ActionScript (se admiten todas las versiones de ActionScript). 4 En la lista de post-procesadores situada en la parte inferior de la ficha Flash, seleccione Flash Lite para BREW. Nota: si no aparece la lista de post-procesadores en la ficha Flash, consulte las instrucciones del apartado “Configuración del sistema para BREW” en la página 98 para verificar si ha instalado correctamente Flash Lite 2.1 para BREW. La lista de post-procesadores sólo aparece cuando el software está instalado. 1 Haga clic en Configuración, a la derecha de la lista de post-procesadores, para acceder al asistente de BREW Publisher. 2 (Requerido) Utilice los campos de entrada de la pantalla de identificación de applet para especificar un ID de clase y un nombre exclusivos para el applet BREW. La siguiente tabla proporciona una lista de información detallada acerca de estos campos. Cuando haya terminado de especificar el ID de clase y el nombre del applet, haga clic en Siguiente para continuar. Nombre del campo Contenido del campo Class ID (ID de clase) Este campo se rellena previamente con un valor generado al azar de forma predeterminada. Reemplace este valor con su ID de clase certificado, si dispone de uno. Un ID de clase es un código de identificación exclusivo de 32 bits (valor hexadecimal de 8 dígitos), que utiliza el mecanismo de creación de la interfaz BREW. Para realizar pruebas en un sistema local, puede utilizar el valor predeterminado generado aleatoriamente (siempre y cuando sea exclusivo), aunque QUALCOMM debe emitir un ID único para las aplicaciones que vayan a distribuirse. Para más información sobre la obtención de archivos de ID de clase, visite el sitio web de BREW. Applet Name (Nombre del applet) Este campo se rellena previamente con la raíz del nombre del archivo FLA activo actualmente. Por ejemplo, si el archivo FLA activo se llama BREW.fla, el nombre del applet será BREW. El nombre especificado en este campo se muestra en la aplicación BREW Application Manager del dispositivo de destino. Tenga en cuenta las pautas siguientes para los nombres de applet: • Los nombres de applet deben escribirse en minúsculas y comenzar con un carácter alfanumérico. • Se permite utilizar números, pero nunca como primer carácter. • El carácter de subrayado es el único carácter especial permitido y tampoco puede ser el primer carácter del nombre. • La longitud máxima del nombre varía según el dispositivo. Para obtener más información, consulte las especificaciones del dispositivo en el sitio web de BREW. 3 (Opcional) Utilice la pantalla de inclusión de información de applet para especificar la información que desee publicar con el applet BREW. La información que introduzca aquí se guardará en el archivo MIF del applet. La siguiente tabla proporciona una lista de información detallada acerca de cada campo. Cuando haya terminado de especificar la información, haga clic en Siguiente para continuar. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 108 Desarrollo de aplicaciones de Flash Lite para BREW Nombre del campo Contenido del campo Author (Autor) Indique el nombre del autor del applet (longitud máxima: 23 caracteres). Version (Versión) Indique la versión del applet (23 caracteres como máximo). Copyright Indique la información de copyright (23 caracteres como máximo). Domain URL (URL de dominio) Escriba el dominio completo del applet con una barra final (por ejemplo: http://www.ejemplo.com/). El dominio del applet controla a qué información tiene acceso applet en tiempo de ejecución. En versiones anteriores de Flash Player, los archivos SWF de dominios similares (por ejemplo, www.aplicacionesdemuestra.com y www.juegosdemuestra.com) podían comunicarse libremente entre sí y con el resto de los documentos.En Flash Player 7 y versiones posteriores, para que dos dominios puedan comunicarse es necesario que el dominio de los datos a los que se va a acceder coincida exactamente con el dominio del proveedor de los datos. Para más información sobre los dominios y la seguridad, consulte los siguientes temas de la documentación de Flash: seguridad, seguridad entre dominios y acceso a datos entre archivos SWF de distintos dominios. Application Type (aplicación o protector de pantalla) Indica si el applet BREW que está creando es una aplicación o un protector de pantalla.Para más información acerca de las diferencias entre los protectores de pantalla y las aplicaciones, consulte el sitio web de BREW y acceda a la página Developer FAQs de desarrolladores > BREW Tools -> MIF Settings -> Screensaver. 4 (Opcional para probar su aplicación, pero obligatorio para aplicaciones que deben aprobar True BREW Testing) Utilice la pantalla de Iconos de applet para acceder o examinar el nombre y la ubicación de uno o más iconos para su applet. Los tipos de archivo admitidos son: JPEG, BMP, PNG y BCI (BREW Compressed Image, Imagen comprimida BREW). Los iconos se muestran junto al nombre del applet en el administrador de aplicaciones BREW del dispositivo de destino. Cuando haya terminado de especificar los iconos, haga clic en Siguiente para continuar. Nombre del campo Contenido del campo Small Icon (Icono pequeño) Archivo de imagen para icono pequeño (se muestra en el dispositivo). Tamaño máximo: 16 x 16. Medium Icon (Icono medio) Archivo de imagen para icono medio (se muestra en el dispositivo). Tamaño máximo: 26 x 26. Large Icon (Icono grande) Archivo de imagen para icono grande (se muestra en el servidor de distribución y en determinados dispositivos). Tamaño máximo: 65 x 42. 5 Utilice la pantalla de definición de configuración de salida para especificar la ubicación en la que desea publicar archivos para BREW Simulator y el dispositivo de destino. Estos campos se rellenan con valores predeterminados procedentes de la ubicación del archivo SWF y combinados con el nombre del applet y los nombres de las carpetas (simulador y dispositivo) que indican qué archivos se deben utilizar para las pruebas y cuáles se deben utilizar para cargar en el dispositivo. Puede aceptar los valores predeterminados o especificar ubicaciones de salida diferentes. Cuando haya terminado, haga clic en Siguiente para continuar. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 109 Desarrollo de aplicaciones de Flash Lite para BREW Nombre del campo Contenido del campo For Simulator (Para simulador) Contiene los archivos necesarios para probar el applet con el simulador del kit BREW SDK. Para más información sobre las ubicaciones esperadas de archivos y la estructura de carpetas, consulte la documentación de BREW Simulator disponible en el sitio web de BREW. • Carpeta MIF • Carpeta Applet For Device (Para dispositivo) Contiene los archivos cargados en el dispositivo BREW. Para obtener más información sobre las diferencias de las estructuras de carpetas según la versión de BREW admitida en el dispositivo de destino, consulte el apartado “Carga de archivos en dispositivos BREW” en la página 111. 6 Utilice la pantalla de resumen de las selecciones para revisar la configuración del applet seleccionada. Para cambiar cualquiera de estos parámetros, utilice el botón Atrás para volver a las pantallas anteriores y poder realizar los cambios necesarios. Cuando haya terminado la configuración, active o desactive la casilla situada en la parte inferior de la pantalla para indicar si desea que aparezca de nuevo el asistente cuando vuelva a publicar. A continuación, haga clic en Finalizar para guardar la configuración. Nombre del campo Contenido del campo Summary of Your Selections (Resumen de las selecciones) Muestra una lista de todos los parámetros para que pueda revisarlos. Do not show this wizard on publish (No mostrar este asistente al publicar) Controla la aparición del asistente la próxima vez que se publiquen los archivos del applet; o bien desencadena el proceso de publicación sin la aparición del asistente. Recuerde que puede acceder al asistente en cualquier momento independientemente de la configuración de esta opción: acceda al cuadro de diálogo Configuración de publicación y haga clic en el botón Configuración que aparece a la derecha de la lista de post-procesadores. 7 Haga clic en Aceptar para guardar la configuración y vuelva a seleccionar Archivo > Configuración de publicación. Aparecerá el cuadro de diálogo Configuración de publicación. Nota: este paso sólo es necesario la primera vez que se selecciona Flash Lite para BREW en la lista de post-procesadores en un archivo determinado. En sucesivas ocasiones, es posible publicar sin tener que hacer clic primero en Aceptar. 8 Haga clic en Publicar para publicar los archivos en las ubicaciones especificadas mediante el asistente. Prueba de la aplicación con BREW Simulator Antes de cargar la aplicación en el dispositivo, debe probarla con el simulador del kit BREW SDK. Para obtener más información sobre esta herramienta, consulte la documentación de BREW Simulator en el sitio web de BREW. 1 Acceda a la carpeta Simulator del applet creado con el asistente de BREW Publisher. 2 Abra la carpeta y copie su contenido íntegro en la carpeta de ejemplos del kit BREW SDK. Nota: si ha especificado la carpeta de ejemplos del kit BREW SDK como ubicación de los archivos de salida del simulador al utilizar el asistente de BREW Publisher para publicar los archivos, éstos ya se encuentran en la carpeta correcta y no es necesario copiarlos. 1 Seleccione Inicio > Programas > BREW SDK v<su versión> y elija el simulador para BREW para abrir la aplicación. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 110 Desarrollo de aplicaciones de Flash Lite para BREW 2 En el simulador, seleccione File (Archivo) > Load Device (Cargar dispositivo) y, a continuación, seleccione el paquete de dispositivos para el terminal de destino. 3 En la ficha de propiedades del simulador, seleccione la carpeta de su aplicación como el directorio del applet. 4 Utilice las funciones y las herramientas del simulador para probar la aplicación. Uso de paquetes de dispositivos Si usted es un desarrollador BREW autenticado, podrá descargar paquetes de dispositivos específicos para los dispositivos que pretenda utilizar desde la página inicial de desarrolladores del sitio web de BREW. El paquete de dispositivos para el simulador puede no coincidir exactamente con el dispositivo real. Por ejemplo, el paquete de dispositivos del modelo Samsung SCH-A950 contiene una tecla de retroceso que en el dispositivo se muestra como CLR. Asimismo, el paquete de dispositivos del modelo LG VX9800 no admite la introducción de teclas alfabéticas desde el teclado, aunque el dispositivo real sí lo permite. Póngase en contacto con QUALCOMM para obtener más información acerca de paquetes de dispositivos, actualizaciones o problemas. Si no es un desarrollador BREW autenticado, puede utilizar los paquetes de dispositivos predeterminados que se incluyen con la descarga del kit SDK. Sin embargo, dado que estos paquetes de dispositivos predeterminados disponen de menos memoria que los específicos del dispositivo, puede que sea necesario seleccionar el paquete con mayor memoria (el paquete de dispositivos 3, en el momento de redactar este manual) o bien aumentar la memoria hasta aproximadamente 10.000.000 bytes para evitar problemas y errores de rendimiento. Aumento la memoria en una sola sesión del emulador 1 Abra el simulador y seleccione la ficha Device Details (Detalles del dispositivo). 2 Avance hasta la sección Memory (Memoria). 3 Aumente el valor de Heap Size (Tamaño de memoria heap, en bytes). Tenga en cuenta que este valor recibe el nombre de Tamaño RAM en algunas versiones del simulador. Mantener el aumento de la memoria en distintas sesiones del simulador 1 Utilice un editor de texto para abrir el archivo DSD del paquete de dispositivos que quiera utilizar (paquete_de_dispositivos<x>.dsd, donde x es el número del paquete de dispositivos). 2 Ubique el parámetro adecuado y aumente el valor de Texto: <String Id="24" Name="IDS_DD_HW_RAM_SIZE"> <Text>1048576</Text> 3 Guarde y cierre el archivo. También pueden presentarse dificultades al utilizar el simulador si el espacio asignado para la carpeta de ejemplos y todas sus subcarpetas no es suficiente para que la aplicación pueda funcionar correctamente. Puede eliminar los archivos innecesarios manualmente o aumentar la cantidad de espacio requerido para estos archivos. Mantener el aumento del tamaño de los archivos de ejemplos en distintas sesiones del simulador 1 Utilice un editor de texto para abrir el archivo de configuración y poder editar el valor correspondiente: • Para el modelo Samsung SCH-A950: El archivo de configuración es SCH-A950.qsc. El valor que se debe cambiar se muestra en negrita: FS_LIMITS_PER_MODULE 65535 15204352 • Para el modelo LG9800: El archivo de configuración es LG-VX9800.dsd. El valor que se debe cambiar se muestra en negrita: DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 111 Última modificación 1/5/2010 Desarrollo de aplicaciones de Flash Lite para BREW <String Id="20" Name="IDS_DD_HW_EFS_SIZE"> <Text>47000000</Text> <Comment>50MB</Comment> </String> 2 Guarde y cierre el archivo. Recursos adicionales Para más información sobre BREW Simulator, consulte las fuentes siguientes: Nombre y tipo de documento Ubicación Starting with BREW, “About the BREW Tools Suite” (PDF) Vaya al sitio web de BREW y, a continuación, seleccione Developer Home > Application Developer Documentation. BREW Simulator (Ayuda) Abra el simulador y haga clic en Ayuda en la barra de menús para mostrar la ayuda. Carga de archivos en dispositivos BREW Carga de aplicaciones de Flash Lite para BREW Una vez creada la aplicación Flash Lite y tras utilizar el asistente de Flash Lite Publisher para BREW para generar archivos compatibles con BREW, cargue la aplicación en un dispositivo BREW admitido y pruébela. Lo ideal sería haber seleccionado ya el dispositivo de destino durante el proceso de diseño inicial y probar la aplicación con el emulador de Adobe Device Central y el BREW Simulator. Sin embargo, es muy importante probar la aplicación detenidamente en el dispositivo de destino para garantizar que funcione como se espera. Antes de cargar la aplicación, necesitará: • Un dispositivo compatible con Flash Lite para BREW (en el momento de redactar este manual, los modelos Samsung SCH-A950 o LG VX9800) • Un cable serie o un cable USB para cargar la aplicación desde el equipo al dispositivo (normalmente suministrados por el fabricante del dispositivo) • La herramienta AppLoader (descarga disponible para desarrolladores autenticados dentro del paquete de herramientas "BREW Tools Suite" desde el sitio web de BREW) • Los archivos de la aplicación en los formatos de archivo y estructura requeridos (creados con el asistente de Flash Lite Publisher para BREW) A continuación, se detallan los archivos de aplicación necesarios: • nombre_de_la_aplicación.SIG (descarga disponible para desarrolladores autenticados desde el generador de firmas de pruebas basado en la web de QUALCOMM) • nombre_de_la_aplicación.MOD (generado por el asistente de Flash Lite Publisher para BREW) • nombre_de_la_aplicación.MIF (generado por el asistente de Flash Lite Publisher para BREW) • Todos los archivos de sonido, vídeo, imagen y BAR que requiera la aplicación Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 112 Desarrollo de aplicaciones de Flash Lite para BREW Para obtener información más completa sobre los formatos de archivo y estructura requeridos en el dispositivo de destino, consulte el apartado “Estructuras de archivos de los dispositivos para distintas versiones de BREW” en la página 105 Flujo de trabajo para la carga de aplicaciones En este flujo de trabajo se da por hecho que ya ha instalado los controladores USB correspondientes para el dispositivo en el equipo. Para obtener más información, consulte el apartado “Configuración del sistema para BREW” en la página 98. Para cargar y probar aplicaciones de Flash Lite en dispositivos BREW, lleve a cabo las tareas siguientes: 1 Conecte el terminal al equipo con un cable. 2 Abra AppLoader en el equipo: a Copie los archivos de la aplicación en las ubicaciones correspondientes del dispositivo. Para obtener más información, consulte el apartado “Estructuras de archivos de los dispositivos para distintas versiones de BREW” en la página 105. b Si es necesario, copia la extensión de Flash Lite y los archivos del reproductor en el dispositivo (sólo la primera vez). c Reinicie el dispositivo. 3 Pruebe la aplicación en el dispositivo. El resto de la sección contiene información más detallada sobre cada una de estas tareas. Carga de archivos de extensión de Flash Lite en el dispositivo (sólo la primera vez) Antes de probar las aplicaciones de Flash Lite para BREW en un dispositivo determinado, se debe copiar la extensión de Flash Lite en el dispositivo. Debe hacerse sólo una vez, al adquirir por primera vez el dispositivo para las pruebas. Los usuarios finales de la aplicación recibirán estos archivos como parte de la descarga cuando descarguen la aplicación finalizada desde el BDS o el ADS, pero los desarrolladores deben copiar los archivos manualmente. Los archivos se muestran a continuación. Siga las instrucciones del resto de esta sección para cargar los archivos en el dispositivo con ayuda de la herramienta AppLoader. Tenga en cuenta que las ubicaciones en las que se copian estos archivos son diferentes en los dispositivos BREW 2.x y 3.x. Consulte el apartado “Estructuras de archivos de los dispositivos para distintas versiones de BREW” en la página 105 para obtener más información. Archivo de extensión Fuente flashlite_2_1.sig Generado por desarrolladores con ayuda de una herramienta disponible en el sitio web de BREW. flashlite_2_1.mif Se puede descargar en el sitio web de BREW. flashlite_2_1.mod Se puede descargar en el sitio web de BREW. brewsaplayer.sig Generado por desarrolladores con ayuda de una herramienta disponible en el sitio web de BREW. brewsaplayer.mif Se puede descargar en el sitio web de BREW. brewsaplayer.mod Se puede descargar en el sitio web de BREW. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 113 Desarrollo de aplicaciones de Flash Lite para BREW Sugerencias y prácticas recomendadas de AppLoader A continuación se proporciona una lista de sugerencias para utilizar la herramienta AppLoader: • Al crear una carpeta en el dispositivo, no utilice la barra inversa (\). • No ejecute ninguna aplicación en el dispositivo mientras se copian archivos. • Reinicie el dispositivo después de utilizar AppLoader para realizar cambios. • No sobrescriba archivos en AppLoader; elimine las versiones antiguas del dispositivo y sustitúyalas por nuevas copias de los archivos. • No cargue archivos o carpetas con nombres formados únicamente por números. Si lo hace, no podrá eliminar los archivos y las carpetas de algunos dispositivos. • No comience el nombre de un archivo o carpeta con los caracteres “shared”. “Shared” es una palabra reservada en BREW; si la utiliza como comienzo de nombre, no podrá cargar archivos ni carpetas. Carga de aplicaciones en un dispositivo BREW 2.x En las siguientes instrucciones se explica cómo cargar una aplicación Flash Lite para BREW en un terminal Samsung SCH-A950, que incluye la plataforma de la versión BREW 2.x. En este procedimiento se da por hecho que ya ha instalado los controladores USB correspondientes para el dispositivo en el equipo. Para obtener más información, consulte el apartado “Configuración del sistema para BREW” en la página 98. El procedimiento también da por supuesto que ya ha cargado los archivos necesarios de la extensión de Flash Lite y del reproductor Flash Lite en el dispositivo. Debe hacerse sólo una vez, al usar por primera vez el dispositivo. Para obtener más información, consulte el apartado “Carga de archivos de extensión de Flash Lite en el dispositivo (sólo la primera vez)” en la página 112. 1 Utilice el cable de datos suministrado por el fabricante del terminal para conectar el terminal a un puerto COM del equipo en el que se guarden los archivos de la aplicación BREW. 2 Acceda a la carpeta que contiene los archivos de la aplicación y verifique que la estructura de directorios es correcta para el dispositivo de destino. Para obtener más información sobre la estructura de los dispositivos BREW 2.x, consulte el apartado “Estructuras de archivos de los dispositivos para distintas versiones de BREW” en la página 105. 3 Seleccione Inicio > Programas > BREW Tools Suite <última versión> > BREW Apploader para iniciar la herramienta AppLoader. La herramienta AppLoader abrirá una ventana de conexión. 4 Seleccione el número del puerto COM al que está conectado el dispositivo (si no está seguro de qué puerto elegir, consulte la siguiente nota), seleccione 2.x como la versión BREW del dispositivo y haga clic en OK (Aceptar) para conectarse con el dispositivo. Nota: para saber a qué puerto COM está conectado el dispositivo, puede abrir el Administrador de dispositivos de Windows y buscar en las propiedades del puerto correspondiente al dispositivo instalado. Si se conecta siempre el mismo dispositivo al mismo puerto COM, el número no cambia. Dado que sólo cambia si se utiliza un modelo de dispositivo distinto, siempre debe comprobarse el número de puerto COM al conectar un nuevo modelo. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 114 Desarrollo de aplicaciones de Flash Lite para BREW Una vez conectado, la herramienta AppLoader muestra el sistema de archivos del dispositivo BREW. 1 Para cargar los archivos (MOD, SIG y archivos de recursos) de la aplicación en el terminal, lleve a cabo una de las acciones siguientes: • Seleccione File > Directory > New Directory (Archivo > Directorio > Nuevo directorio) para crear una carpeta con el mismo nombre que la aplicación y, a continuación, copie en este directorio los archivos de la aplicación. Consulte el apartado “Estructuras de archivos de los dispositivos para distintas versiones de BREW” en la página 105 para obtener más detalles. • Arrastre la carpeta de la aplicación desde el Explorador de Windows hasta la ventana de AppLoader. 2 Reinicie el dispositivo. Debe reiniciar el dispositivo antes de ejecutar la aplicación. Para reiniciar el dispositivo, siga uno de estos procedimientos: • En el menú de AppLoader BREW, seleccione Device > Reset (Dispositivo > Reiniciar). • Pulse la tecla de desconexión del terminal y manténgala presionada. 3 Navegue hasta Get it Now > Get Going (Obtener ahora > Comenzar) y seleccione el nombre de su aplicación para iniciarla en el entorno BREW. Carga de aplicaciones en un dispositivo BREW 3.x En las siguientes instrucciones se explica cómo cargar una aplicación Flash Lite para BREW en un terminal LG VX9800, que incluye la plataforma de la versión BREW 3.x. En este procedimiento se da por hecho que ya ha instalado los controladores USB correspondientes para el dispositivo en el equipo. Para obtener más información, consulte el apartado “Configuración del sistema para BREW” en la página 98. El procedimiento también da por supuesto que ya ha cargado los archivos necesarios de la extensión de Flash Lite y del reproductor Flash Lite en el dispositivo. Debe hacerse sólo una vez, al usar por primera vez el dispositivo. Para obtener más información, consulte el apartado “Carga de archivos de extensión de Flash Lite en el dispositivo (sólo la primera vez)” en la página 112. 1 Utilice el cable suministrado por el fabricante del terminal para conectar el terminal a un puerto COM del equipo en el que se guarden los archivos de la aplicación BREW. 2 Acceda a la carpeta que contiene los archivos de la aplicación y verifique que la estructura de directorios es correcta para el dispositivo de destino. Para obtener más información sobre la estructura de los dispositivos BREW 3.x, consulte el apartado “Estructuras de archivos de los dispositivos para distintas versiones de BREW” en la página 105. 3 Seleccione Inicio > Programas > BREW Tools Suite <última versión> > BREW Apploader para iniciar la herramienta AppLoader. 4 La herramienta AppLoader abrirá una ventana de conexión. Seleccione el número de puerto COM al que está conectado su dispositivo, seleccione 3.x como versión BREW para el dispositivo y haga clic en Aceptar para conectarse con el mismo. Nota: para saber a qué puerto COM está conectado el dispositivo, puede abrir el Administrador de dispositivos de Windows y buscar en las propiedades del puerto correspondiente al dispositivo instalado. Si se conecta siempre el mismo dispositivo al mismo puerto COM, el número no cambia. Dado que sólo cambia si se utiliza un modelo de dispositivo distinto, siempre debe comprobarse el número de puerto COM al conectar un nuevo modelo. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 115 Última modificación 1/5/2010 Desarrollo de aplicaciones de Flash Lite para BREW Una vez conectado, la herramienta AppLoader muestra el sistema de archivos del dispositivo BREW. 1 Para cargar los archivos (MOD, SIG y archivos de recursos) de la aplicación en el terminal, lleve a cabo una de las acciones siguientes: • Seleccione File > New > Directory > New Directory (Archivo > Nuevo > Directorio > Nuevo directorio) para crear un directorio con el mismo nombre que la aplicación y, a continuación, copie en este directorio los archivos de la aplicación. Consulte el apartado “Estructuras de archivos de los dispositivos para distintas versiones de BREW” en la página 105 para obtener más detalles. • Arrastre la carpeta de la aplicación desde el Explorador de Windows hasta la ventana de AppLoader. 2 Para reiniciar el dispositivo, siga uno de estos procedimientos: • En el menú de AppLoader BREW, seleccione Device > Reset (Dispositivo Reiniciar). • Pulse la tecla de desconexión del terminal y manténgala presionada. 3 Navegue hasta Get it Now > Get Going (Obtener ahora > Comenzar) y seleccione el nombre de su aplicación para iniciarla en el entorno BREW. En algunos dispositivos, la aplicación no se muestra en el menú estándar Get Going (Comenzar). Para mostrar la aplicación en estos dispositivos, siga estos pasos: a En la pantalla de inicio de Verizon, pulse Select/OK (Seleccionar/Aceptar) para acceder al menú. b Pulse la tecla cero (0) para acceder al menú de servicios. c Indique la contraseña predeterminada con seis ceros (000000). d Pulse la tecla nueve (9) para mostrar la opción Get it Now (Obtener ahora). e Pulse la tecla g para acceder a la pantalla en la que se muestran las aplicaciones de Flash Lite. Prueba de aplicaciones en el dispositivo Para poder iniciar y probar la aplicación en el dispositivo, debe disponer de una firma de pruebas de QUALCOMM. Los desarrolladores autenticados pueden utilizar una herramienta web llamada Testsig. Está disponible en la extranet de desarrolladores BREW para generar firmas de pruebas. Para obtener información concreta sobre cómo generar y utilizar la herramienta Testsig, consulte el sitio web de BREW. Encontrará información detallada sobre cómo probar los applets BREW para garantizar que cumplen los requisitos del sistema TBT (True BREW Testing) en la extranet de desarrolladores BREW. Recursos adicionales Para más información sobre la herramienta AppLoader, consulte las fuentes siguientes: Nombre y tipo de documento Ubicación Starting with BREW, “About the BREW Tools Suite” (PDF) Vaya al sitio web de BREW y, a continuación, seleccione Developer Home > Application Developer Documentation BREW_Apploader.chm (Ayuda) C:\Archivos de programa\BREW Tools Suite <última versión>\BREWApploader (predeterminado) Generador de pruebas BREW Testing Vaya al sitio web de BREW y acceda a la página de descarga de SDK Última modificación 1/5/2010 Capítulo 9: Prueba de contenido de Flash Lite Flash CS4 Professional de Adobe incluye un emulador de Adobe Flash Lite disponible en Adobe Device Central CS4 que permite probar la aplicación en la herramienta de edición tal y como aparecerá y funcionará en un dispositivo real. Cuando esté satisfecho con la aplicación en el emulador, puede probarla en el dispositivo real. Información general de la prueba Funciones de prueba de Flash Lite Las funciones de prueba de Flash Lite en Flash CS4 Professional son parte de Adobe Device Central, que incluye tanto una base de datos extensa de perfiles de dispositivos como un emulador de dispositivo. Device Central también funciona con muchos otros productos de Adobe, como, Adobe Creative Suite® y Adobe Dreamweaver®. El emulador de Adobe Device Central permite obtener una vista previa del contenido de Flash Lite dentro de la herramienta de edición de Flash. El emulador está configurado para ajustarse al comportamiento y al aspecto del dispositivo de destino. La interfaz Device Central se utiliza para seleccionar y gestionar los dispositivos de destino, así como para especificar el tipo de contenido de Flash Lite de destino de la aplicación, como el timbre de las llamadas, el explorador o la aplicación independiente. En Device Central, cada combinación de dispositivo de prueba y tipo de contenido de Flash Lite define una configuración de dispositivo que determina las funciones disponibles para la aplicación, como los formatos de audio admitidos o la posibilidad de realizar conexiones de red, entre otras. Para más información sobre los tipos de contenido de Flash Lite, consulte “Tipos de contenido admitidos” en la página 118. Consulte la ayuda de Device Central para obtener más información, incluidos los detalles acerca de la interacción con el emulador. Prueba de funciones no admitidas por el emulador El emulador de Adobe Device Central no admite todas las funciones disponibles en la ventana de prueba estándar (de escritorio). A continuación se muestra una lista de las funciones disponibles en la ventana de prueba de Flash de escritorio que no están disponibles en el emulador de Adobe Device Central: • Las funciones Mostrar variables (Depurar > Mostrar variables) y Mostrar objetos (Depurar > Mostrar objetos) • El Visor de anchos de banda y las funciones Reproducir indefinidamente y Avanzar/Retroceder un fotograma • El comando de menú Ver > Simular descarga • El Depurador de ActionScript • El comando de menú Ver > Mostrar regiones de redibujo • La barra de herramientas del Controlador (Ventana > Barra de herramientas > Controlador) 116 Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 117 Prueba de contenido de Flash Lite Prueba del texto en línea en Flash Lite 2.1 y posterior No se puede comprobar la funcionalidad de texto en línea en el emulador de Adobe Device Central; debe realizarse en un dispositivo. Al realizar pruebas en el emulador, el usuario debe editar el contenido de los campos de introducción de texto mediante un cuadro de diálogo de modos que aparece sobre el contenido de Flash Lite (es decir, el emulador funciona del mismo modo que en Flash Lite 1.x y Flash Lite 2.0). Para obtener información detallada sobre el funcionamiento del cuadro de diálogo de modos, consulte “Uso de campos de introducción de texto” en la página 54. Uso del emulador Invocación de Adobe Device Central Para iniciar el emulador, seleccione Control > Probar película en la herramienta de edición de Flash, tal como haría para obtener una vista previa del contenido de Flash de escritorio. (Sin embargo, Adobe Device Central cuenta con una apariencia y una funcionalidad diferentes que la de la ventana de prueba para contenido de Flash de escritorio). Tras seleccionar Control > Probar película o pulsar CTRL+Intro para iniciar Device Central, aparecerá una barra de progreso para indicar que Flash está importando su SWF a Device Central. Una vez que se haya completado la exportación, Device Central se inicia con el emulador seleccionado y carga su SWF. En Device Central, la lista Conjuntos de dispositivos muestra todos los dispositivos de destino que Flash ha guardado con su aplicación. De manera predeterminada, el primer dispositivo en el conjunto está seleccionado para emulación. El tipo de contenido seleccionado es el que se guardó con la aplicación cuando la creó (para obtener detalles acerca de los tipos de contenido de Flash Lite, consulte “Tipos de contenido admitidos” en la página 118). Puede probar la aplicación con un tipo de contenido diferente y diversos dispositivos. Al cambiar el tipo de contenido y al agregar o eliminar dispositivos del conjunto de dispositivos, se cambian automáticamente los parámetros del dispositivo en Flash. Para probar cómo aparece el contenido en un dispositivo diferente, haga doble clic en otro dispositivo, ya sea en la lista superior o inferior. Un icono que gira aparece al lado del dispositivo que está probando, y el emulador cambia para mostrar su aplicación ejecutándose en el dispositivo elegido. Definición de las opciones de depuración del emulador El emulador de Adobe Device Central puede enviar mensajes de depuración al panel de salida de Flash mientras el contenido se está ejecutando. El emulador también muestra una versión desplegable del panel de Salida con los mismos mensajes. El emulador muestra los siguientes tipos de información: Mensajes de seguimiento generados por una llamada a la función trace() desde su aplicación Flash Lite. Para obtener más información sobre el uso de trace(), consulte trace() en la Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Mensajes informativos que contienen información general sobre el dispositivo de prueba seleccionado, el tamaño de archivo SWF y otros datos. Estos mensajes aparecen en el panel Alerta del emulador. Mensajes de advertencia que cuentan con información sobre problemas con el contenido de Flash Lite que pueden afectar a la reproducción. Puede filtrar el tipo de información que genera el emulador de la siguiente manera. 1 Seleccione Control > Probar película. Flash exporta su aplicación a Adobe Device Central y la muestra en el emulador. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 118 Prueba de contenido de Flash Lite 2 Seleccione Ver > Salida Flash > Mostrar en Device Central. • Seleccione o anule la selección de la opción Traza. • Seleccione o anule la selección de la opción Información. • Seleccione o anule la selección de la opción Advertencias. Interacción con el emulador Puede interactuar con el teclado del emulador utilizando el ratón o métodos abreviados de teclado. Puede interactuar con las siguientes teclas en el teclado del emulador: • Teclas de números (0 a 9), asterisco (*) y carácter de número (#) • Teclado de navegación (izquierda, derecha, arriba, abajo y selección) • Teclas programables izquierda y derecha A B C D A. Teclas programables B. Tecla de selección C. Teclado de navegación D. Otras teclas admitidas Puede utilizar el ratón para hacer clic directamente en el teclado del emulador o utilizar los siguientes métodos abreviados de teclado que son equivalentes: • Las teclas de flecha del teclado (izquierda, derecha, arriba, abajo), que están asignadas a las teclas de navegación correspondientes del teclado de navegación del emulador. • La tecla Intro o Retorno, que corresponde a la tecla de selección del emulador. • Las teclas RePág y AvPág, que corresponden a las teclas programables izquierda y derecha del emulador, respectivamente. • Las teclas numéricas del teclado, que corresponden a las teclas numéricas del teclado del emulador. Para obtener detalles adicionales acerca de la interacción con el emulador para probar su aplicación, consulte la ayuda en línea de Adobe Device Central. Tipos de contenido admitidos Flash Lite se instala en una gran variedad de dispositivos. Cada instalación admite uno o varios modos de aplicación o tipos de contenido. Por ejemplo, algunos dispositivos utilizan Flash Lite para activar protectores de pantalla o tonos de llamada animados. Otros utilizan Flash Lite para mostrar contenido de Flash que se encuentra incorporado en las páginas web para móviles. En la tabla siguiente se muestran y describen todos los tipos de contenido de Flash Lite disponibles en el momento de redacción de este manual. Para obtener información adicional actualizada acerca de la disponibilidad de cada tipo de contenido de Flash Lite, consulte la página Flash Enabled Mobile Device (Dispositivos móviles que admiten Flash) en www.adobe.com/go/mobile_supported_devices_es/. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 119 Prueba de contenido de Flash Lite Nota: al redactar este documento, Flash Lite 2.0 admite sólo el tipo de contenido del reproductor autónomo. Tipo de contenido de Flash Lite Descripción Disponibilidad Libreta de direcciones Utiliza Flash Lite para permitir a los usuarios asociar un archivo SWF con una entrada de su aplicación de libreta de direcciones del dispositivo. DoCoMo y VodafoneKK (sólo Japón) Alarma Utiliza Flash Lite para permitir a los KDDI y Vodafone (sólo Japón) usuarios seleccionar un archivo SWF que se reproducirá en lugar de la alarma de su dispositivo. Navegador Utiliza Flash Lite para representar el contenido de Flash incluido en páginas web de móviles y mostrado en el navegador web del dispositivo. Historial de llamadas Utiliza Flash Lite para mostrar una imagen KDDI (sólo teléfonos Casio) o animación asociada con cada entrada de la libreta de direcciones del usuario, junto al nombre y número de teléfono correspondientes. Pantalla de llamada Utiliza Flash Lite para mostrar una animación cuando el usuario recibe o realiza una llamada. Chaku Flash Utiliza Flash Lite para que el usuario pueda KDDI (sólo Japón) seleccionar un archivo SWF para reproducir en lugar del timbre de las llamadas entrantes. Cuadro de datos Utiliza Flash Lite para representar contenido de Flash en la aplicación Cuadro de datos, que permite al usuario gestionar y obtener una vista previa de archivos multimedia en el dispositivo. NTT DoCoMo, KDDI y Vodafone (sólo Japón) Carpeta de datos Utiliza Flash Lite para representar contenido de Flash en la aplicación Carpeta de datos, que permite al usuario gestionar y obtener una vista previa de archivos multimedia en el dispositivo. KDDI (sólo Japón) Menú de icono Utiliza Flash Lite para permitir al usuario KDDI (sólo teléfonos Casio) seleccionar menús de iconos personalizados para la aplicación de inicio del dispositivo (utilizada por el tipo de contenido UILauncher). Visor de imágenes Utiliza la aplicación Visor de imágenes que NTT DoCoMo (sólo Japón) permite a los usuarios gestionar y mostrar la vista previa de archivos multimedia en el dispositivo, incluidos los archivos SWF. Llamada entrante Utiliza Flash Lite para mostrar una animación cuando el usuario recibe una llamada. NTT DoCoMo, KDDI y Vodafone (sólo Japón) Emisor de correo Utiliza Flash Lite para mostrar una animación cuando el usuario envía o recibe un mensaje de correo electrónico. VodafoneKK (sólo Japón) NTT DoCoMo, KDDI y Vodafone (sólo Japón) NTT DoCoMo y KDDI (sólo Japón) Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 120 Prueba de contenido de Flash Lite Tipo de contenido de Flash Lite Descripción Disponibilidad Multimedia Utiliza Flash Lite para obtener una vista KDDI (sólo Japón) previa de los archivos SWF (así como otros formatos multimedia). Mi foto Utiliza la aplicación Mi foto que permite al NTT DoCoMo (sólo Japón) usuario gestionar y previsualizar en el dispositivo archivos SWF, así como otros formatos de imagen. OpenEMIRO Muestra contenido de Flash Lite cuando el KDDI (sólo dispositivos Casio) dispositivo sale de modo de espera. Es similar al tipo de contenido Pantalla de despertador de otros dispositivos. Protector de pantalla Utiliza Flash Lite para mostrar el protector KDDI y Vodafone (sólo Japón) de pantalla del dispositivo. Reproductor de SMIL Utiliza Flash Lite para obtener una vista KDDI (sólo Japón) previa de los archivos SWF (así como otros formatos multimedia). Reproductor autónomo Permite utilizar Flash Lite como una aplicación independiente para que el usuario pueda iniciar y ver archivos SWF arbitrarios que residan en el dispositivo o que reciba en la bandeja de entrada de mensajes. Disponible globalmente para determinados dispositivos Symbian Series 60 y UIQ Pantalla de espera Utiliza Flash Lite para mostrar la pantalla de espera (o el fondo) del dispositivo. NTT DoCoMo y KDDI (sólo Japón) LCD secundaria Utiliza Flash Lite para mostrar contenido en la pantalla externa o secundaria disponible en algunos teléfonos plegables. KDDI (sólo Japón) Lanzador de IU Utiliza Flash Lite para lanzar la aplicación del dispositivo. Utiliza Flash Lite para mostrar la aplicación de inicio del dispositivo (es decir, la aplicación que permite al usuario iniciar otras aplicaciones). Pantalla de despertador Utiliza Flash Lite para mostrar una animación cuando se inicia el teléfono. NTT DoCoMo (sólo Japón) Información específica de Flash Lite en el emulador El emulador incluye paneles que proporcionan información específica de su aplicación Flash Lite. Los paneles aparecen a lo largo del lado derecho de la ventana. Puede contraer y expandirlos como lo hace en Flash. Para obtener detalles acerca de estos paneles y cómo utilizarlos, consulte la ayuda en línea de Adobe Device Central. Tamaño de pantalla y tamaño de escenario disponible Cada combinación de dispositivo destino y tipo de contenido Flash Lite determina, entre otras cosas, el área de pantalla disponible que puede ocupar una aplicación Flash Lite. El área de escenario disponible puede ser igual o más pequeña que el tamaño de la pantalla del dispositivo. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 121 Prueba de contenido de Flash Lite Por ejemplo, el área de escenario disponible para un archivo SWF que se ejecute en modo de pantalla completa en el reproductor autónomo de un dispositivo Nokia Serie 60 equivale a la pantalla completa del dispositivo (176 x 208 píxeles). En otros dispositivos (como los que están disponibles en Japón), el área de escenario disponible para un archivo SWF que se ejecute en uno de los tipos de contenido especializados (como libreta de direcciones o protector de pantalla) puede ser inferior al tamaño de la pantalla del dispositivo. Por ejemplo, Fujitsu 700i tiene una pantalla con un tamaño de 240 x 320 píxeles; sin embargo, un archivo SWF que se ejecute en la aplicación de libreta de direcciones del dispositivo tendrá un área de escenario disponible de 96 x 72 píxeles. Si el tamaño de escenario de un archivo SWF es diferente del tamaño real de escenario disponible, el reproductor de Flash Lite modificará la escala del contenido (de forma proporcional) para que quepa en el área de escenario disponible. Al realizar la prueba del contenido en el emulador, éste le avisará si el tamaño del escenario de la aplicación no coincide con el área del escenario disponible. Para evitar problemas de cambios de escala no deseados, Adobe recomienda que el tamaño del escenario en el documento de Flash coincida con el área del escenario disponible para el dispositivo de prueba y el tipo de contenido seleccionados. Funciones de Flash Lite no admitidas por el emulador El emulador no admite todas las funciones y comandos ActionScript disponibles en las aplicaciones de Flash Lite que se ejecutan en el dispositivo real. Por ejemplo, el emulador no permite iniciar llamadas telefónicas o mensajes SMS. Si intenta utilizar un comando o una función que no admite el emulador, éste genera un mensaje en el panel Salida, como muestra la imagen siguiente: Debe probar el archivo SWF en un dispositivo real para confirmar que las funciones funcionan como esperaba. El emulador de Adobe Device Central no admite los siguiente comandos fscommand() y fscommand2(): • FullScreen Última modificación 1/5/2010 • GetFreePlayerMemory • GetTotalPlayerMemory • Launch • Quit • StartVibrate • GetNetworkConnectStatus • GetNetworkRequestStatus • GetNetworkStatus DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 122 Prueba de contenido de Flash Lite Reproducción de vídeo de dispositivo en el emulador El reproductor Flash Lite utiliza la aplicación de gestión de vídeo predeterminada del dispositivo para reproducir el contenido de vídeo del archivo SWF en lugar de decodificar el vídeo de forma nativa. De esta forma, los desarrolladores de Flash Lite pueden utilizar cualquier formato de vídeo que admita el dispositivo de destino, por ejemplo 3GPP, MPEG o AVI. Para obtener más información sobre la utilización del vídeo en Flash Lite, consulte “Uso de vídeo” en la página 78. El emulador de Adobe Device Central utiliza QuickTime Player para representar vídeo de dispositivo cuando éste se prueba con la herramienta de edición de Flash. La versión más reciente de QuickTime Player (al redactar este documento, la versión 7) admite la reproducción de distintos formatos de vídeo de dispositivo, incluido 3GPP y otros. Sin embargo, es posible que, de forma predeterminada, QuickTime sólo admita algunos formatos de vídeo durante la reproducción y, por lo tanto, algunos podrían no reproducirse en el emulador de Adobe Device Central. Por este motivo, es importante probar siempre el contenido en el dispositivo real. Si el vídeo de dispositivo no se reproduce en QuickTime Player, de manera predeterminada, intente lo siguiente: • Actualice a la versión más reciente de QuickTime Player. • Si es posible, instale un códec (abreviatura de compresor-descompresor) de vídeo de otro fabricante que sí admita el formato de vídeo que quiere utilizar. Sugerencias sobre la creación de contenido para dispositivos móviles Creación de contenido en Flash para su uso en dispositivos móviles Cuando vaya a crear contenido en Flash para dispositivos móviles, considere algunos principios básicos. Por ejemplo, los desarrolladores de Flash a menudo evitan utilizar ilustraciones excesivamente complejas y procuran no abusar de la interpolación o la transparencia. Los desarrolladores de Flash Lite se enfrentan al problema adicional que supone la gran diferencia de rendimiento de los dispositivos móviles. Si el contenido debe publicarse en muchos dispositivos diferentes, los desarrolladores tienen que encontrar las características mínimas comunes a todos esos dispositivos. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 123 Prueba de contenido de Flash Lite La optimización del contenido móvil exige llegar a un compromiso. Por ejemplo, una técnica puede mejorar la presentación del contenido mientras que otra puede incidir en un mayor rendimiento. Cuando considere las ventajas y los inconvenientes, tendrá que probar el contenido repetidas veces en el emulador y en el dispositivo de destino. Debe examinar el contenido en el dispositivo real para evaluar el realismo de los colores, la legibilidad del texto, las interacciones físicas, la capacidad de respuesta de la interfaz de usuario y otros aspectos de la experiencia real en el dispositivo móvil. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Pautas de Flash Lite para la animación en dispositivos móviles Cuando cree contenido animado para un dispositivo móvil, tenga en cuenta las limitaciones de la CPU. Estas pautas le ayudarán a evitar que el contenido en Flash Lite se ejecute lentamente: • Cuando cree un nuevo archivo de Flash Lite, compruebe que el documento está configurado correctamente. Aunque los archivos Flash se pueden ampliar o reducir sin problemas, el rendimiento puede resultar afectado si el archivo no se ejecuta con su tamaño del escenario original y tiene que adaptarse en el reproductor. Intente definir el tamaño del escenario del documento con arreglo a la resolución del dispositivo de destino. Asimismo, configure el reproductor de Flash en la versión correcta de Flash Lite y seleccione el perfil de dispositivo adecuado en Device Central. • Flash Lite puede representar gráficos vectoriales con calidad baja, media o alta. Cuanto mayor sea la calidad de la representación, mayor será la fluidez y exactitud con las que Flash Lite representa los gráficos vectoriales y mayor será también la demanda de la CPU del dispositivo. Para proporcionar animación compleja, pruebe a cambiar la configuración de calidad del reproductor y, a continuación, realice pruebas exhaustivas en el archivo SWF. Para controlar la calidad de representación de un archivo SWF, utilice la propiedad _quality o el comando SetQuality. Los valores válidos para la propiedad _quality son LOW, MEDIUM y HIGH. • Limite el número de interpolaciones simultáneas. Reduzca el número de interpolaciones o secuencie la animación para que una empiece cuando otra termine. • Utilice efectos de transparencia (alfa) en los símbolos con moderación porque utilizan mucha CPU. En concreto, evite la interpolación en símbolos con niveles alfa que no sean totalmente opacos (menos del 100%). • Procure no utilizar efectos visuales que consuman mucha CPU, como máscaras grandes, movimientos prolongados, superposiciones con transparencia, degradados extensos y vectores complejos. • Experimente con combinaciones de interpolaciones, animaciones mediante fotogramas y movimientos controlados por ActionScript para producir resultados óptimos. • La representación de óvalos y círculos vectoriales consume mucha más memoria que la representación de cuadriláteros. El empleo de trazos redondos u ovalados aumenta también considerablemente el uso de CPU. • Pruebe con frecuencia las animaciones en los dispositivos de destino reales. • Cuando Flash dibuja una región animada, define un cuadro rectangular delimitador alrededor del área. Optimice el dibujo reduciendo el tamaño del rectángulo al máximo. Evite que se solapen las interpolaciones, ya que Flash interpreta el área combinada como un único rectángulo y, por tanto, la región total resultante será más grande. Utilice la función Show Redraw Region de Flash para optimizar la animación. • Procure no utilizar _alpha = 0 y _visible = false para ocultar los clips de película en pantalla. Si simplemente desactiva la visibilidad de un clip de película o cambia su alfa a cero, se incluirá igualmente en los cálculos de representación de líneas, lo que puede afectar al rendimiento. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 124 Prueba de contenido de Flash Lite • Tampoco intente ocultar un clip de película colocándolo detrás de otra imagen. Se incluirá igualmente en los cálculos del reproductor. En lugar de ello, saque totalmente los clips de película del escenario o elimínelos con una llamada a removeMovieClip. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Mapas de bits y gráficos vectoriales de Flash Lite en dispositivos móviles Flash Lite puede representan gráficos vectoriales y de mapa de bits. Cada tipo de gráfico presenta ventajas e inconvenientes. La decisión de utilizar gráficos vectoriales en lugar de gráficos de mapa de bits no siempre está clara y a menudo depende de varios factores. Los gráficos vectoriales se representan de forma compacta en archivos SWF como ecuaciones matemáticas y el reproductor de Flash Lite los representa en tiempo de ejecución. Por el contrario, los gráficos de mapa de bits se representan como matrices de elementos de imagen (píxeles) que requieren más bytes de datos. Por tanto, el empleo de gráficos vectoriales en un archivo puede ayudar a reducir el tamaño de los archivos y el uso de la memoria. Los gráficos vectoriales conservan además sus formas suaves cuando se amplían o reducen. Las imágenes de mapa de bits pueden representarse con ángulos o pixeladas cuando se amplían. Comparados con los mapas de bits, los gráficos vectoriales requieren más capacidad de procesamiento para su representación, especialmente los que contienen muchas formas y rellenos complejos. Por consiguiente, el uso excesivo de formas vectoriales puede reducir en algunas ocasiones el rendimiento general de los archivos. Como los gráficos de mapa de bits no requieren tanto tiempo de procesamiento para su representación como los gráficos vectoriales, constituyen la mejor opción para algunos archivos, como un mapa de carreteras complejo con animaciones y capacidad de desplazamiento diseñado para un teléfono móvil. Tenga en cuenta estas consideraciones: • Evite utilizar contornos en formas vectoriales. Los contornos tienen bordes interiores y exteriores (los rellenos sólo tienen uno) y duplican el esfuerzo de representación. • Las esquinas son más fáciles de representar que las curvas. Cuando sea posible, utilice bordes rectos, especialmente con formas vectoriales muy pequeñas. • La optimización es especialmente útil con formas vectoriales pequeñas como los iconos. Los iconos complejos pueden perder sus detalles al representarse y el trabajo de representar los detalles es en vano. • Por regla general, utilice mapas de bits para imágenes pequeñas complejas (como iconos) y gráficos vectoriales para imágenes más grandes y más simples. • Importe los gráficos de mapa de bits con el tamaño correcto; no importe gráficos grandes y luego los reduzca en Flash, ya que desperdiciará memoria en tiempo de ejecución y capacidad de almacenamiento. • El reproductor de Flash Lite no admite el suavizado de mapas de bits. Si se ajusta el tamaño de un mapa de bits o se gira, se mostrará como si estuviera fragmentado. Si es necesario ajustar el tamaño de un gráfico o girarlo, considere la posibilidad de utilizar en su lugar un gráfico vectorial. • El texto es básicamente una forma vectorial muy compleja. Evidentemente, el texto suele ser fundamental y, por tanto, rara vez puede excluirse en su totalidad. Cuando necesite incluir texto, procure no aplicarle efectos de animación o colocarlo sobre una animación. Considere la posibilidad de usar el texto como mapa de bits. En el caso del texto dinámico y de entrada formado por varias líneas, el salto de línea de la cadena de texto no se almacena en caché. Flash divide las líneas en tiempo de ejecución y calcula los saltos de línea cada vez que hay que redibujar el campo de texto. Los campos de texto estáticos no presentan problemas, porque los saltos de línea se calculan previamente durante la compilación. Para el contenido dinámico, es inevitable utilizar campos de texto dinámicos, pero cuando sea posible considere utilizar en su lugar campos de texto estáticos. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 125 Prueba de contenido de Flash Lite • Reduzca el uso de la transparencia en los archivos PNG; Flash debe calcular cada nuevo dibujo, incluso para las partes transparentes del mapa de bits. Por ejemplo, en el caso de un archivo PNG transparente que representa un elemento en segundo plano, no exporte el PNG transparente con el tamaño completo de la pantalla. En lugar de ello, expórtelo con el tamaño real del elemento en segundo plano. • Intente agrupar por un lado las capas del mapa de bits y por otro, las capas vectoriales. Flash necesita implementar diferentes representaciones para el contenido de mapa de bits y el contenido vectorial, y cambiar de una a otra requiere tiempo. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Definición de opciones de compresión para mapas de bits de Flash Lite para dispositivos móviles Cuando utiliza mapas de bits, puede definir opciones de compresión de imágenes (para cada imagen o, en general, para todas las imágenes de mapa de bits) y reducir así el tamaño de los archivos SWF. Si desea conocer más consejos y sugerencias sobre la utilización de Adobe Device Central con otros productos de Adobe, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Definición de opciones de compresión para un archivo de mapa de bits individual 1 Inicie Flash y cree un documento. 2 Seleccione un mapa de bits en la ventana Biblioteca. 3 Haga clic con el botón derecho (Windows) o haga clic manteniendo pulsada la tecla Control (Macintosh) en el icono de mapa de bits y seleccione Propiedades en el menú contextual para abrir el cuadro de diálogo Propiedades de mapa de bits. 4 En el menú emergente Compresión, seleccione alguna de las opciones siguientes: • Utilice la opción Photo (JPEG) para las imágenes con variaciones de color o tono complejas, como fotografías o imágenes con relleno degradado. Esta opción produce un archivo JPEG. Seleccione la casilla de verificación Utilizar datos JPEG importados para utilizar la calidad de compresión predeterminada especificada para la imagen importada. Para especificar una nueva configuración de compresión de calidad, anule la selección de Utilizar datos JPEG importados e introduzca un valor entre 1 y 100 en el cuadro de texto Calidad. Un valor alto producirá una imagen de mayor calidad, pero también un archivo de mayor tamaño, por lo que debe ajustar el valor correctamente. • Seleccione la opción Sin pérdida (PNG/GIF) para las imágenes con formas simples y pocos colores. Esta opción comprime la imagen mediante la compresión sin pérdidas, que no descarta ningún dato. 5 Haga clic en Probar para determinar el resultado de la compresión del archivo. Compare el tamaño del archivo original con el tamaño del archivo comprimido para determinar si la configuración de compresión seleccionada es aceptable. Definición de opciones de compresión para todas las imágenes de mapa de bits 1 Seleccione Archivo > Configuración de publicación y, a continuación, haga clic en la ficha Flash para mostrar las opciones de compresión. 2 Ajuste el regulador de calidad JPEG o introduzca un valor. Un valor de calidad JPEG más alto producirá una imagen de mayor calidad, pero un archivo SWF de mayor tamaño. Una calidad de imagen inferior producirá un archivo SWF más pequeño. Pruebe distintos valores para determinar cuál es la mejor relación entre tamaño y calidad. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 126 Prueba de contenido de Flash Lite Optimización de los fotogramas de Flash Lite para dispositivos móviles • La mayoría de los dispositivos compatibles con Flash Lite reproducen el contenido con una velocidad de 15 a 20 fotogramas por segundo (fps). La velocidad de los fotogramas puede ser de 6 fps como mínimo. Durante el desarrollo, defina la velocidad de los fotogramas a un valor aproximado a la velocidad de reproducción del dispositivo de destino. De esta forma, podrá ver cómo se ejecutará el contenido en un dispositivo con un rendimiento limitado. Antes de publicar el archivo SWF final, defina la velocidad de fotogramas del documento en al menos 20 fps o un valor superior para evitar que se limite el rendimiento en caso de que el dispositivo permita una velocidad de fotogramas mayor. • Cuando utilice gotoAndPlay, recuerde que cada fotograma incluido entre el fotograma actual y el solicitado debe inicializarse antes de que Flash reproduzca el fotograma solicitado. Si muchos de estos fotogramas incluyen contenido diferente, puede resultar más eficaz utilizar clips de película distintos en lugar de usar la línea de tiempo. • Aunque es lógico cargar previamente todo el contenido colocándolo al principio del archivo en un equipo de sobremesa, hacer lo mismo en un dispositivo móvil puede ralentizar el arranque del archivo. Distribuya el contenido por todo el archivo para que los clips de película se inicien conforme se utilizan. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Optimización de ActionScript para el contenido de Flash Lite en dispositivos móviles Debido a las limitaciones de velocidad de procesamiento y memoria de la mayoría de los dispositivos móviles, tenga en cuenta estas pautas cuando desarrolle ActionScript para contenido de Flash Lite utilizado en dispositivos móviles: • Simplifique el archivo y su código todo lo que sea posible. Elimine clips de película no utilizados, suprima fotogramas y bucles de código innecesarios y procure no incluir demasiados fotogramas o fotogramas superfluos. • El uso de bucles FOR puede tener un alto coste por la sobrecarga que implica la comprobación de la condición en cada iteración. Cuando los costes de la iteración y la sobrecarga de los bucles son equiparables, ejecute varias operaciones por separado en lugar de usar un bucle. Es posible que el código aumente, pero mejorará el rendimiento. • Detenga los bucles basados en fotogramas en cuanto dejen de ser necesarios. • Cuando sea posible, evite el procesamiento de cadenas y matrices, porque puede consumir mucha CPU. • Intente siempre acceder directamente a las propiedades en lugar de usar métodos get y set de ActionScript, que implican una carga de trabajo mayor que otras llamadas a métodos. • Gestione los eventos juiciosamente. Aligere las matrices de escucha de eventos mediante condiciones que comprueben si existe una escucha (no es null) antes de llamarla. Borre los intervalos activos mediante una llamada a clearInterval y elimine todas las escuchas activas mediante una llamada a removeListener antes de quitar el contenido con unloadapplication o removeapplicationClip. Flash no recupera la memoria de datos SWF (por ejemplo, de los intervalos y las escuchas) si las funciones de ActionScript siguen haciendo referencia a los datos SWF cuando se descarga un clip de película. • Cuando las variables ya no sean necesarias, bórrelas o establézcalas en null, con lo que se marcarán para la recolección de elementos no utilizados. Elimine las variables para optimizar el uso de la memoria en tiempo de ejecución, porque los activos no necesarios se eliminan del archivo SWF. Es mejor eliminar variables que establecerlas en null. • Elimine explícitamente las escuchas de los objetos mediante una llamada a removeListener antes de la recolección de elementos no utilizados. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 127 Prueba de contenido de Flash Lite • Si la llamada a una función se realiza dinámicamente y la función pasa un conjunto fijo de parámetros, utilice call en lugar de apply. • Compacte los espacios de nombres (como las rutas) para reducir el tiempo de arranque. Cada nivel del paquete se compila en una instrucción IF y genera una nueva llamada Object , por lo que ahorrará tiempo si incluye menos niveles en la ruta. Por ejemplo, una ruta con los niveles com.xxx.yyy.aaa.bbb.ccc.nombreFunción hará que se cree una instancia de un objeto para com.xxx.yyy.aaa.bbb.ccc. Algunos desarrolladores de Flash utilizan software de preprocesamiento para reducir la ruta a un identificador único, como 58923409876.nombreFunción, antes de compilar el código SWF. • Si un archivo consta de varios archivos SWF que utilizan las mismas clases de ActionScript, no permita que esas clases seleccionen archivos SWF durante la compilación. De esta forma, podrá reducir el tiempo de descarga de los archivos y los requisitos de memoria en tiempo de ejecución. • Evite utilizar Object.watch y Object.unwatch porque cada cambio realizado en la propiedad de un objeto requiere que el reproductor determine si debe enviar una notificación del cambio. • Si el código de ActionScript que se ejecuta en un fotograma en la línea del tiempo requiere más de un segundo para su ejecución, considere la posibilidad de fragmentar ese código y ejecutarlo en varios fotogramas. • Elimine las instrucciones trace del código cuando publique el archivo SWF. Para ello, seleccione la casilla de verificación Omitir acciones de trazado en la ficha Flash del cuadro de diálogo Configuración de publicación. • La herencia aumenta el número de llamadas a métodos y emplea más memoria: una clase que incluya toda la funcionalidad debe ser más eficaz en tiempo de ejecución que una clase que herede algunas de las funciones de una superclase. Por tanto, puede ser necesario encontrar la mejor relación entre la extensibilidad de las clases y la eficacia del código durante el diseño. • Cuando un archivo SWF carga otro archivo del mismo tipo que contiene una clase de ActionScript personalizada (por ejemplo, foo.bar.CustomClass) y, a continuación, descarga el archivo SWF, la definición de clase permanece en memoria. Para ahorrar memoria, borre explícitamente todas las clases personalizadas en los archivos SWF descargados. Utilice la instrucción delete y especifique el nombre de clase completo, como: delete foo.bar.CustomClass. • Limite el uso de variables globales, ya que no se marcan para la recolección de elementos no utilizados si se elimina el clip de película que las define. • Procure no utilizar los componentes estándar de la interfaz de usuario (disponibles en el panel Componentes de Flash). Estos componentes están diseñados para su ejecución en equipos de sobremesa y no están optimizados para su uso en dispositivos móviles. • Siempre que sea posible, evite las funciones con grandes niveles de anidación. • Evite las referencias a variables, objetos o funciones inexistentes. En comparación con la versión para escritorio de Flash Player, Flash Lite 2 tarda bastante en buscar las referencias a variables no existentes, lo que puede reducir considerablemente el rendimiento. • Evite definir funciones mediante sintaxis anónima. Por ejemplo, miObj.nombreEvento = función{ ...}. Las funciones definidas explícitamente, como función miFunc { ...}; mi Obj.nombreEvento = miFunc; son más eficaces. • Reduzca el uso de funciones matemáticas y números de coma flotante. El cálculo de estos valores reduce el rendimiento. Si tiene que utilizar rutinas matemáticas, siempre puede calcular previamente los valores y almacenarlos en una matriz de variables. Recuperar los valores de una tabla de datos es mucho más rápido que dejar que Flash los calcule en tiempo de ejecución. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 128 Prueba de contenido de Flash Lite Gestión de la memoria de archivos de Flash Lite para dispositivos móviles Flash Lite borra periódicamente de la memoria los objetos y variables a los que ya no hace referencia un archivo. Esta operación se denomina recolección de elementos no utilizados. Flash Lite ejecuta su proceso de recolección de elementos no utilizados una vez cada 60 segundos, o siempre que el uso de la memoria de archivos asciende bruscamente al 20% o más. Aunque no es posible controlar cómo y cuándo Flash Lite realiza la recolección de elementos no utilizados, sí que puede liberar deliberadamente la memoria innecesaria. En el caso de las variables globales o de la línea del tiempo, utilice la instrucción delete para liberar la memoria utilizada por los objetos de ActionScript. En el caso de las variables locales (como una variable establecida en la definición de una función), no puede utilizar la instrucción delete para liberar la memoria de un objeto, pero puede establecer en null la variable que hace referencia al objeto. De esta forma, liberará la memoria utilizada por el objeto, siempre que no existan otras referencias a ese objeto. En los dos ejemplos de código siguientes se muestra cómo liberar la memoria utilizada por los objetos eliminando la variable que hace referencia a esos objetos. Los ejemplos son idénticos con la salvedad de que en el primer ejemplo se crea una variable de la línea de tiempo y en el segundo se crea una variable global. // First case: variable attached to a movie or // movie clip timeline // // Create the Date object. var mcDateObject = new Date(); // Returns the current date as a string. trace(mcDateObject); // Delete the object. delete mcDateObject; // Returns undefined. trace(mcDateObject); // // Second case: global variable attached to a movie or // movie clip timeline // // Create the Date object. _global.gDateObject = new Date(); // Returns the current date as a string. trace(_global.gDateObject); // Delete the object. delete _global.gDateObject; // Returns undefined. trace(_global.gDateObject); Como se mencionó anteriormente, no puede utilizar la instrucción delete para liberar la memoria utilizada por la variable de una función local. En lugar de ello, establezca la referencia de la variable en null, lo que es lo mismo que utilizar delete. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 129 Prueba de contenido de Flash Lite function func() { // Create the Date object. var funcDateObject = new Date(); // Returns the current date as a string. trace(funcDateObject); // Delete has no effect. delete funcDateObject; // Still returns the current date. trace(funcDateObject); // Set the object reference to null. funcDateObject = null; // Returns null. trace(funcDateObject); } // Call func() function. func(); Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Carga de datos para dispositivos móviles en Flash Lite Cuando cree archivos para dispositivos móviles, reduzca la cantidad de datos que intenta cargar al mismo tiempo. Si carga datos externos en un archivo de Flash Lite (por ejemplo, mediante XML.load), el sistema operativo del dispositivo puede generar un error “fallo de memoria” si se asigna memoria insuficiente a los datos entrantes. Esta situación se puede producir incluso si la cantidad total de memoria restante es suficiente. Suponga, por ejemplo, que un archivo intenta cargar otro archivo XML de 100 KB y el sistema operativo del dispositivo tiene asignado sólo 30 KB para gestionar el flujo de datos entrantes. En este caso, Flash Lite muestra un mensaje de error al usuario en el que se indica que no hay memoria suficiente. Para cargar grandes cantidades de datos, agrupe los datos en fragmentos más pequeños (por ejemplo, en varios archivos XML) y realice varias llamadas de carga de datos para cada fragmento. El tamaño de cada fragmento de datos y, por tanto, el número de llamadas de carga de datos que debe realizar, varía en función del dispositivo y del archivo. Para encontrar un equilibrio adecuado entre el número de solicitudes de datos y la probabilidad de que se produzca un error de memoria, pruebe los archivos en varios dispositivos de destino. Para un rendimiento óptimo, evite cargar y analizar archivos XML si es posible. En lugar de ello, almacene los datos en pares simples de nombre y valor, y cargue los datos de un archivo de texto mediante loadVars o de archivos SWF precompilados. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es.. Exclusión de clases de la compilación en Flash Lite Para reducir el tamaño de un archivo SWF, considere la posibilidad de quitar clases de la compilación manteniendo la capacidad de acceder y utilizar esas clases para la comprobación de tipos. Aplique este enfoque, por ejemplo, si va a desarrollar un archivo que utiliza varios archivos SWF o bibliotecas compartidas, especialmente si estos archivos o bibliotecas acceden a muchas de las mismas clases. La exclusión de clases ayuda a evitar la duplicación de clases en dichos archivos. 1 Cree un nuevo archivo XML. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 130 Prueba de contenido de Flash Lite 2 Asigne al archivo XML el nombre FLA_nombrearchivo_exclude.xml, donde FLA_nombrearchivo es el nombre del archivo FLA sin la extensión .fla. Por ejemplo, si el archivo FLA se llama ventaAcciones.fla, el nombre del archivo XML deberá ser ventaAcciones_exclude.xml. 3 Guarde el archivo en el mismo directorio que el archivo FLA. 4 Inserte las siguientes etiquetas en el archivo XML: <excludeAssets> <asset name="className1" /> <asset name="className2" /> </excludeAssets> Los valores especificados para los atributos de nombre en las etiquetas <asset> son los nombres de las clases que deben excluirse del archivo SWF. Añada al archivo tantas etiquetas como sea necesario. Por ejemplo, el siguiente archivo XML excluye las clases mx.core.UIObject y mx.screens.Slide del archivo SWF: <excludeAssets> <asset name="mx.core.UIObject" /> <asset name="mx.screens.Slide" /> </excludeAssets> Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Sugerencias para la creación de imágenes de Photoshop para dispositivos móviles Para garantizar que las imágenes creadas en Photoshop se muestran correctamente en dispositivos móviles, haga lo siguiente: • Abra Device Central, seleccione un dispositivo concreto y haga clic en el botón Crear para abrir un archivo nuevo en Photoshop, conservando todos los ajustes que ofrece Photoshop automáticamente. Después de seleccionar un dispositivo, Photoshop define varias opciones, como tamaño y espacio de color, que se ajustan al dispositivo seleccionado. • WBMP es el formato estándar que permite optimizar imágenes para dispositivos móviles. WBMP admite color de 1 bit, lo que significa que las imágenes WBMP contienen únicamente píxeles en blanco o negro. • Intente reducir todo lo posible el número de colores en imágenes y considere la posibilidad de usar una escala de grises. La mayoría de los dispositivos que se ofrecen en el mercado hoy día solo son compatibles con color de 16 bits (miles de colores), no con color de 24 ni 32 bits (millones de colores). Por eso, es posible que los efectos de color especiales no se muestren correctamente. Por ejemplo, los degradados suelen aparecer como franjas de color sólido, y no como transiciones con gradaciones suaves . • Si trabaja con fotos, intente aplicar el filtro de enfoque una o más veces para aumentar el contraste entre colores. • Reduzca el tamaño de las imágenes lo suficiente para adaptarlas al tamaño de pantalla direccionable del dispositivo móvil de destino. (Device Central guarda en su biblioteca un registro del tamaño de pantalla direccionable de cada dispositivo.) Normalmente, los dispositivos móviles no admiten la función de desplazamiento, por lo que si una imagen no cabe en la pantalla, habrá partes de la misma que no se vean. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 131 Prueba de contenido de Flash Lite Sugerencias para la creación de imágenes de Illustrator para dispositivos móviles Si desea optimizar el contenido gráfico para dispositivos móviles, guarde las imágenes creadas en Illustrator en cualquier formato SVG, como SVG-t, diseñado especialmente para dispositivos móviles. Las siguientes sugerencias le ayudarán a garantizar que las imágenes creadas en Illustrator se muestren correctamente en dispositivos móviles: • Utilice el estándar SVG para crear contenido. El uso de SVG para publicar gráficos vectoriales en dispositivos móviles permite obtener un tamaño de archivo reducido, visualización uniforme, excelente control cromático, posibilidad de aplicar el zoom y texto editable (en el código fuente). Además, dado que el formato SVG se basa en XML, puede incorporar funciones de interactividad a las imágenes, como resaltado, información de herramientas, efectos especiales, sonido y animaciones. • Trabaje con las dimensiones definitivas de sus dispositivos móviles desde el principio. Si bien SVG es ampliable, es recomendable trabajar con el tamaño correcto para garantizar que los gráficos finales presenten la calidad y el tamaño adecuados para los dispositivos de destino. • Configure el modo de color de Illustrator como RGB. El formato SVG se muestra en dispositivos de rasterización RGB, como monitores. • Para reducir el tamaño de archivo, intente disminuir el número de objetos (grupos incluidos) o hacer el archivo menos complejo (con menos puntos). Al utilizar menos puntos, se reduce notablemente la cantidad de información textual necesaria para describir las imágenes del archivo SVG. Para reducir puntos, seleccione Objeto > Trazado > Simplificar y pruebe diferentes combinaciones hasta encontrar un equilibrio entre calidad y número de puntos. • Procure utilizar símbolos cuando sea posible. Los símbolos definen los vectores que describen un objeto una sola vez, en lugar de varias veces. Esto resulta de gran utilidad si las imágenes contienen objetos como fondos de botones que se han usado en otras ocasiones. • Al animar gráficos, limite el número de objetos y trate de reutilizar objetos en la medida de lo posible para reducir el tamaño de archivo. Aplique animaciones a grupos de objetos y no a objetos sueltos para evitar la repetición de códigos. • Considere la posibilidad de usar SVGZ, la versión comprimida (mediante gzip) de SVG. La compresión puede reducir notablemente el tamaño de archivo, en función del contenido del mismo. Por lo general, el texto se puede comprimir mucho, pero el contenido con codificación binaria, como las imágenes rasterizadas incrustadas (archivos JPEG, PNG o GIF), no puede comprimirse demasiado. Los archivos SVGZ pueden descomprimirse con cualquier aplicación que expanda archivos comprimidos con gzip. Para sacarle el máximo partido a SGVZ, compruebe que su dispositivo móvil de destino descomprime archivos gzip. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Sugerencias para la creación de vídeo para dispositivos móviles Siga estas sugerencias a la hora de capturar contenido para dispositivos móviles: • Es recomendable sacar primeros planos. Intente que el sujeto esté separado del fondo; los colores y valores que aparecen entre fondo y sujeto no deben ser demasiado parecidos. • Esté atento a la iluminación: la iluminación pobre resulta más problemática en dispositivos móviles, y puede reducir la visibilidad en pantallas pequeñas. Tenga en cuenta esta limitación a la hora de grabar y ajustar. • Evite abusar del desenfoque por movimiento. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 132 Prueba de contenido de Flash Lite Siga estos consejos a la hora de editar vídeo con Adobe Premiere Pro y After Effects: • Ajuste la velocidad de fotogramas de la película según el dispositivo o el tipo de salida. Por ejemplo, un anuncio en After Effects puede generarse a 15 fotogramas por segundo (fps) para su distribución en dispositivos móviles, y a 29,97 fps para su emisión televisiva en Estados Unidos. En general, utilice una velocidad de fotogramas baja. Una velocidad de fotogramas de 22 fps ofrece el equilibrio perfecto para reducir el tamaño de archivo sin perder calidad. • Reduzca al máximo el archivo de la película y elimine el contenido superfluo, sobre todo los fotogramas vacíos. Es posible realizar varias acciones antes de la codificación para limitar el tamaño de archivo. Algunas se aplican a las técnicas de grabación, mientras que otras (como el uso de herramientas de estabilización del movimiento en After Effects, funciones de reducción de ruido o efectos de desenfoque) son tareas de postproducción que facilitan la parte de compresión del codificador. Nota: si desea más consejos para reducir el tamaño de las películas, consulte la Ayuda en línea de After Effects y Adobe Premiere Pro. • Adapte la paleta cromática a los dispositivos móviles adecuados. En general, los dispositivos móviles tienen una gama de colores limitada. La previsualización en Device Central permite determinar si los colores utilizados son los más adecuados para un dispositivo concreto o una serie de dispositivos. • Ajuste los clips. La vista de escala de grises resulta de utilidad a la hora de comparar valores. • Utilice los ajustes preestablecidos disponibles en Adobe Media Encoder. Varios ajustes preestablecidos posibilitan la exportación a dispositivos móviles 3GPP en Adobe Media Encoder. Los ajustes preestablecidos de 3GPP se proporcionan en tamaños estándar: 176 x 144 (QCIF), 320 x 240, and 352 x 288. • Sea precavido al utilizar las funciones de recorte. Una práctica muy común consiste en trabajar con los ajustes estándar de proyecto DV y generar el archivo final con una combinación de DV, DVD, Flash, WMV y 3GPP móvil. Utilizar los ajustes preestablecidos habituales, pero a la hora de codificar, resuelva la diferencia entre vídeo en formato 4:3 o 16:9 y la proporción de aspecto 11:9 de 3GPP móvil. La herramienta de recorte AME permite establecer limitaciones a las proporciones arbitrarias, del mismo modo que la herramienta de recorte de Photoshop, y añade un ajuste preestablecido de limitación del formato 11:9 a los formatos 4:3 y 16:9 existentes. • Trabaje con una proporción de aspecto coherente con el formato de salida del dispositivo móvil. Los nuevos ajustes preestablecidos de proyecto (disponibles únicamente en Windows) facilitan este proceso. Las dimensiones de fotograma son mayores que el tamaño de salida final (trabajar a 176 x 144 puede resultar difícil, por ejemplo, a la hora de crear títulos), pero se ajustan a la proporción de aspecto del fotograma de salida para facilitar la codificación. Los ajustes preestablecidos de proyecto de Windows producen vídeo sin comprimir, pero la mayoría de los ordenadores son capaces de gestionar la velocidad de datos a tamaños de fotograma menores y velocidades de fotograma reducidas a la mitad. (Este proceso se aplica a proyectos cuyo resultado final va a generarse en dispositivos móviles.) Las dos principales proporciones de aspecto compatibles con dispositivos móviles son: 4:3 (QVGA, VGA etc.) y 11:9 (CIF, QCIF, Sub-QCIF). Estos dos ajustes de proyecto se incluyen en la carpeta de dispositivos móviles y ajustes preestablecidos de Adobe Media Encoder. Nota: no utilice los datos del dispositivo en Device Central para determinar cómo configurar un ajuste preestablecido personalizado. Device Central no ofrece información sobre compatibilidad con vídeo o audio (tamaños de fotograma, códecs, velocidades de bit, etc.). Los datos sobre tamaño de fotograma incluidos en Device Central hacen referencia al tamaño de pantalla y a los tamaños de papel tapiz y salvapantallas, que son diferentes a los tamaños de vídeo. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 133 Prueba de contenido de Flash Lite Sugerencias para la creación de contenido Web de Dreamweaver para dispositivos móviles Device Central permite previsualizar páginas Web creadas en Dreamweaver mediante la tecnología Small-Screen Rendering de Opera. Esta previsualización puede darle una idea precisa del aspecto de una página Web en un dispositivo móvil. Nota: la tecnología Small-Screen Rendering de Opera puede o no estar preinstalada en un dispositivo emulado concreto. Device Central le permite saber cómo se vería el contenido si estuviera instalada la tecnología Small-Screen Rendering de Opera. Las siguientes consejos le ayudarán a garantizar que las páginas Web creadas en Dreamweaver se muestran correctamente en dispositivos móviles. • Si utiliza el marco Spry de Adobe® a la hora de desarrollar contenido, añada la siguiente línea de HTML a sus páginas para que generen CSS y ejecuten JavaScript™ correctamente en Device Central: <link href="SpryAccordion.css" media="screen" rel="stylesheet" type="text/css"/> <link href="SpryAccordion2.css" media="handheld" rel="stylesheet" type="text/css"/> • La tecnología Small-Screen Rendering de Opera no admite fotogramas, menús emergentes, subrayados, tachados, círculos superpuestos, parpadeos ni marcos. Procure evitar esos elementos de diseño. • No recargue las páginas Web para dispositivos móviles. Concretamente, utilice un número mínimo de fuentes, tamaños de fuente y colores. • Al reducir los tamaños de imagen y el número de colores necesarios, es más probable que las imágenes aparezcan como se desea. Utilice CSS o HTML para indicar la altura y anchura exactas de cada imagen empleada. Añada texto ALT a todas las imágenes. Nota: el sitio Web de Opera Software es una buena fuente de información sobre la optimización de páginas Web para dispositivos móviles. Para obtener más sugerencias y técnicas para la creación de contenido para dispositivos y teléfonos móviles, consulte www.adobe.com/go/learn_cs_mobilewiki_es. 134 Última modificación 1/5/2010 Capítulo 10: Introducción a ActionScript de Flash Lite 2.x y 3.x El software Macromedia Flash Lite 1.0 y Macromedia Flash Lite 1.1 de Adobe y las primeras versiones de Flash Lite se basan en el software Macromedia Flash Player 4 de Adobe. El software Macromedia Flash Lite 2.0 y Macromedia Flash Lite 2.1 de Adobe, junto con Adobe Flash Lite 3.0 y 3.1, se basan en Macromedia Flash Player 7 de Adobe, pero se diferencian en los siguientes aspectos: • Flash Lite admite algunas funciones sólo de forma parcial. • Flash Lite añade algunas funciones específicas para dispositivos móviles. En este documento se describen las diferencias entre el ActionScript de Adobe admitido en Flash Lite 2.0, 2.1, 3.0 y 3.1 (denominados conjuntamente 2.x y 3.x, respectivamente) y el ActionScript compatible con Flash Player 7. Clases y elementos de idioma de ActionScript admitidos, parcialmente admitidos y no admitidos Accessibility La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Accessibility y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 isActive() : Boolean Sí No No No updateProperties() : Void Sí No No No arguments La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Arguments y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 callee:Object Sí Sí Sí Sí caller:Object Sí Sí Sí Sí length:Number Sí Sí Sí Sí Array La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Array y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 CASEINSENSITIVE:Number Sí Sí Sí Sí concat([value:Object]) : Array Sí Sí Sí Sí DESCENDING:Number Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 135 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 join([delimiter:String]) : String Sí Sí Sí Sí length:Number Sí Sí Sí Sí NUMERIC:Number Sí Sí Sí Sí pop() : Object Sí Sí Sí Sí push(value:Object) : Number Sí Sí Sí Sí RETURNINDEXEDARRAY:Number Sí Sí Sí Sí reverse() : Void Sí Sí Sí Sí shift() : Object Sí Sí Sí Sí slice([startIndex:Number], [endIndex:Number]) : Array Sí Sí Sí Sí sort([compareFunction:Object], [options:Number]) : Array Sí Sí Sí Sí sortOn(fieldName:Object, [options:Object]) : Array Sí Sí Sí Sí splice(startIndex:Number, [deleteCount:Number], [value:Object]) : Array Sí Sí Sí Sí toString() : String Sí Sí Sí Sí UNIQUESORT:Number Sí Sí Sí Sí unshift(value:Object) : Number Sí Sí Sí Sí AsBroadcaster La tabla siguiente muestra las versiones de Flash Lite que admiten la clase AsBroadcaster y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 _listeners:Array [sólo lectura] Sí No Sí Sí addListener(listenerObj:Object) : Boolean Sí No Sí Sí broadcastMessage(eventName:String Sí ) : Void No Sí Sí initialize(obj:Object) : Void Sí No Sí Sí removeListener(listenerObj:Object) : Boolean Sí No Sí Sí BevelFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase BevelFilter y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 136 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 angle:Number Sí No No No BevelFilter([distance:Number], [angle:Number], [highlightColor:Number], [highlightAlpha:Number], [shadowColor:Number], [shadowAlpha:Number], [blurX:Number], [blurY:Number], [strength:Number], [quality:Number], [type:String], [knockout:Boolean]) Sí No No No blurX:Number Sí No No No blurY:Number Sí No No No clone() : BevelFilter Sí No No No distance:Number Sí No No No highlightAlpha:Number Sí No No No highlightColor:Number Sí No No No knockout:Boolean Sí No No No quality:Number Sí No No No shadowAlpha:Number Sí No No No shadowColor:Number Sí No No No strength:Number Sí No No No type:String Sí No No No BitmapData La tabla siguiente muestra las versiones de Flash Lite que admiten la clase BitmapData y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 applyFilter(sourceBitmap:BitmapData Sí , sourceRect:Rectangle, destPoint:Point, filter:BitmapFilter) : Number No No No BitmapData ((width:Number, height:Number, [transparent:Boolean], [fillColor:Number]) Sí No No Sí clone() : BitmapData Sí No No Sí colorTransform(rect:Rectangle, colorTransform:ColorTransform) : Void Sí No No Sí compare(otherBitmapData:BitmapDa ta) : Object Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 137 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 copyChannel(sourceBitmap:BitmapD ata, sourceRect:Rectangle, destPoint:Point, sourceChannel:Number, destChannel:Number) : Void Sí No No Sí copyPixels(sourceBitmap:BitmapData Sí , sourceRect:Rectangle, destPoint:Point, [alphaBitmap:BitmapData], [alphaPoint:Point], [mergeAlpha:Boolean]) : Void No No Parcial dispose() : Void Sí No No Sí draw(source:Object, [matrix:Matrix], [colorTransfo rm:ColorTransform], [blendMode:Object], [clipRect:Rectangle], [smooth:Boolean]) : Void Sí No No Parcial fillRect(rect:Rectangle, color:Number) : Void Sí No No Sí floodFill(x:Number, y:Number, color:Number) : Void Sí No No Sí generateFilterRect(sourceRect:Rectan Sí gle, filter:BitmapFilter) : Rectangle No No No getColorBoundsRect(mask:Number, color:Number, [findColor:Boolean]) : Rectangle Sí No No Sí getPixel(x:Number, y:Number) : Number Sí No No Sí getPixel32(x:Number, y:Number) : Number Sí No No Sí height:Number [sólo lectura] Sí No No Sí hitTest(firstPoint:Point, firstAlphaThreshold:Number, secondObject:Object, [secondBitmapPoint:Point], [secondAlphaThreshold:Number]) : Boolean Sí No No Sí loadBitmap(id:String) : BitmapData Sí No No Sí merge(sourceBitmap:BitmapData, sourceRect:Rectangle, destPoint:Point, redMult:Number, greenMult:Number, blueMult:Number, alphaMult:Number) : Void Sí No No Sí noise(randomSeed:Number, [low:Number], [high:Number], [channelOptions:Number], [grayScale:Boolean]) : Void Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 138 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 paletteMap(sourceBitmap:BitmapDat a, sourceRect:Rectangle, destPoint:Point, [redArray:Array], [greenArray:Array], [blueArray:Array], [alphaArray:Array]) : Void Sí No No No perlinNoise(baseX:Number, Sí baseY:Number, numOctaves:Number, randomSeed:Number, stitch:Boolean, fractalNoise:Boolean, [channelOptions:Number], [grayScale:Boolean], [offsets:Object]) : Void No No No pixelDissolve(sourceBitmap:BitmapD ata, sourceRect:Rectangle, destPoint:Point, [randomSeed:Number], [numberOfPixels:Number], [fillColor:Number]) : Number Sí No No No rectangle:Rectangle [sólo lectura] Sí No No Sí scroll(x:Number, y:Number) : Void Sí No No No setPixel(x:Number, y:Number, color:Number) : Void Sí No No Sí setPixel32(x:Number, y:Number, color:Number) : Void Sí No No Sí threshold(sourceBitmap:BitmapData, sourceRect:Rectangle, destPoint:Point, operation:String, threshold:Number, [color:Number], [mask:Number], [copySource:Boolean]) : Number Sí No No No transparent:Boolean [sólo lectura] Sí No No Sí width:Number [sólo lectura] Sí No No Sí BitmapFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase BitmapFilter y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 clone() : BitmapFilter Sí No No No BlurFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase BlurFilter y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 139 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 BlurFilter([blurX:Number], [blurY:Number], [quality:Number]) Sí No No No blurX:Number Sí No No No blurY:Number Sí No No No clone() : BlurFilter Sí No No No quality:Number Sí No No No Boolean La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Boolean y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 Boolean([value:Object]) Sí Sí Sí Sí toString() : String Sí Sí Sí Sí valueOf() : Boolean Sí Sí Sí Sí Button La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Button y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 _alpha:Number Sí Sí Sí Sí _focusrect:Boolean Sí Sí Sí Sí _height:Number Sí Sí Sí Sí _highquality:Number Desfasado Desfasado Desfasado Desfasado _name:String Sí Sí Sí Sí _parent:MovieClip Sí Sí Sí Sí _quality:String Sí Sí Sí Sí _rotation:Number Sí Sí Sí Sí _soundbuftime:Number Sí Sí Sí Sí _target:String [sólo lectura] Sí Sí Sí Sí _url:String [sólo lectura] Sí Sí Sí Sí _visible:Boolean Sí Sí Sí Sí _width:Number Sí Sí Sí Sí _x:Number Sí Sí Sí Sí _xmouse:Number [sólo lectura] Sí Sí Sí Sí _xscale:Number Sí Sí Sí Sí _y:Number Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 140 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 _ymouse:Number [sólo lectura] Sí Sí Sí Sí _yscale:Number Sí Sí Sí Sí blendMode:Object Sí No No No cacheAsBitmap:Boolean Sí No No No enabled:Boolean Sí Sí Sí Sí filters:Array Sí No No No getDepth() : Number Sí Sí Sí Sí menu:ContextMenu Sí No No No onDragOut = function() {} Sí Sí Sí Sí onDragOver = function() {} Sí Sí Sí Sí onKeyDown = function() {} Sí Sí Sí Sí onKeyUp = function() {} Sí Sí Sí Sí onKillFocus = function(newFocus:Object) {} Sí Sí Sí Sí onPress = function() {} Sí Sí Sí Sí onRelease = function() {} Sí Sí Sí Sí onReleaseOutside = function() {} Sí Sí Sí Sí onRollOut = function() {} Sí Sí Sí Sí onRollOver = function() {} Sí Sí Sí Sí onSetFocus = function(oldFocus:Object) {} Sí Sí Sí Sí scale9Grid:Rectangle Sí No No No tabEnabled:Boolean Sí Sí Sí Sí tabIndex:Number Sí Sí Sí Sí trackAsMenu:Boolean Sí Sí Sí Sí useHandCursor:Boolean Sí No No No Camera La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Camera y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 activityLevel:Number [sólo lectura] Sí No No No bandwidth:Number [sólo lectura] Sí No No No currentFps:Number [sólo lectura] Sí No No No fps:Number [sólo lectura] Sí No No No get([index:Number]) : Camera Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 141 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 height:Number [sólo lectura] Sí No No No index:Number [sólo lectura] Sí No No No motionLevel:Number [sólo lectura] Sí No No No motionTimeOut:Number [sólo lectura] Sí No No No muted:Boolean [sólo lectura] Sí No No No name:String [sólo lectura] Sí No No No names:Array [sólo lectura] Sí No No No onActivity = function(active:Boolean) {} Sí No No No onStatus = function(infoObject:Object) {} Sí No No No quality:Number [sólo lectura] Sí No No No setMode([width:Number], [height:Number], [fps:Number], [favorArea:Boolean]) : Void Sí No No No setMotionLevel([motionLevel:Numbe r], [timeOut:Number]) : Void Sí No No No setQuality([bandwidth:Number], [quality:Number]) : Void Sí No No No width:Number [sólo lectura] Sí No No No capabilities La tabla siguiente muestra las versiones de Flash Lite que admiten la clase capabilities y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 audioMIMETypes:Array [sólo lectura] No Sí Sí Sí avHardwareDisable:Boolean [sólo lectura] Sí Sí Sí Sí has4WayKeyAS:Boolean [sólo lectura] No Sí Sí Sí hasAccessibility:Boolean [sólo lectura] Sí Sí Sí Sí hasAudio:Boolean [sólo lectura] Sí Sí Sí Sí hasAudioEncoder:Boolean [sólo lectura] Sí Sí Sí Sí hasCMIDI:Boolean [sólo lectura] No Sí Sí Sí hasCompoundSound:Boolean [sólo lectura] No Sí Sí Sí hasDataLoading:Boolean [sólo lectura] No Sí Sí Sí hasEmail:Boolean [sólo lectura] No Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 142 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 hasEmbeddedVideo:Boolean [sólo lectura] Sí Sí Sí Sí hasIME:Boolean [sólo lectura] Sí No No No hasMappableSoftKeys:Boolean No Sí Sí Sí hasMFI:Boolean [sólo lectura] No Sí Sí Sí hasMIDI:Boolean [sólo lectura] No Sí Sí Sí hasMMS:Boolean [sólo lectura] No Sí Sí Sí hasMouse:Boolean [sólo lectura] No Sí Sí Sí hasMP3:Boolean [sólo lectura] Sí Sí Sí Sí hasPrinting:Boolean [sólo lectura] Sí Sí Sí Sí hasQWERTYKeyboard:Boolean [sólo lectura] No Sí Sí Sí hasScreenBroadcast:Boolean [sólo lectura] Sí Sí Sí Sí hasScreenPlayback:Boolean [sólo lectura] Sí Sí Sí Sí hasSharedObjects:Boolean [sólo lectura] No Sí Sí Sí hasSMAF:Boolean [sólo lectura] No Sí Sí Sí hasSMS:Number [sólo lectura] No Sí Sí Sí hasStreamingAudio:Boolean [sólo lectura] Sí Sí Sí Sí hasStreamingVideo:Boolean [sólo lectura] Sí Sí Sí Sí hasStylus:Boolean [sólo lectura] No Sí Sí Sí hasVideoEncoder:Boolean [sólo lectura] Sí Sí Sí Sí isDebugger:Boolean [sólo lectura] Sí Sí Sí Sí language:String [sólo lectura] Sí No No No localFileReadDisable:Boolean [sólo lectura] Sí Sí Sí Sí manufacturer:String [sólo lectura] Sí No No No MIMETypes:Array [sólo lectura] No Sí Sí Sí os:String [sólo lectura] Sí No No No pixelAspectRatio:Number [sólo lectura] Sí No No No playerType:String [sólo lectura] Sí No No No screenColor:String [sólo lectura] Sí No No No screenDPI:Number [sólo lectura] Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 143 Última modificación 1/5/2010 Nombre de función Introducción a ActionScript de Flash Lite 2.x y 3.x ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 screenOrientation:String [sólo lectura] No Sí Sí Sí screenResolutionX:Number [sólo lectura] Sí Sí Sí Sí screenResolutionY:Number [sólo lectura] Sí Sí Sí Sí serverString:String [sólo lectura] Sí No No No softKeyCount:Number [sólo lectura] No Sí Sí Sí version:String [sólo lectura] Sí Sí Sí Sí videoMIMETypes:Array [sólo lectura] No Sí Sí Sí Color La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Color y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 getTransform() : Object Desfasado Sí Desfasado Desfasado setRGB(offset:Number) : Void Desfasado Sí Desfasado Desfasado setTransform(transformObject:Object Desfasado ) : Void Sí Desfasado Desfasado ColorMatrixFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase ColorMatrixFilter y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 clone() : ColorMatrixFilter Sí No No No ColorMatrixFilter(matrix:Array) Sí No No No matrix:Array Sí No No No ColorTransform La tabla siguiente muestra las versiones de Flash Lite que admiten la clase ColorTransform y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 alphaMultiplier:Number Sí No No Sí alphaOffset:Number Sí No No Sí blueMultiplier:Number Sí No No Sí blueOffset:Number Sí No No Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 144 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 ColorTransform([redMultiplier:Numb er], [greenMultiplier:Number], [blueMultiplier:Number], [alphaMultiplier:Number], [redOffset:Number], [greenOffset:Number], [blueOffset:Number], [alphaOffset:Number]) Sí No No Sí concat(second:ColorTransform) : Void Sí No No Sí greenMultiplier:Number Sí No No Sí greenOffset:Number Sí No No Sí redMultiplier:Number Sí No No Sí redOffset:Number Sí No No Sí rgb:Number Sí No No Sí toString() : String Sí No No Sí ContextMenu La tabla siguiente muestra las versiones de Flash Lite que admiten la clase ContextMenu y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 builtInItems:Object Sí No No No ContextMenu([callbackFunction:Func Sí tion]) No No No customItems:Array Sí No No No hideBuiltInItems() : Void Sí No No No onSelect = function(item:Object, item_menu:Object) {} Sí No No No ContextMenuItem La tabla siguiente muestra las versiones de Flash Lite que admiten la clase ContextMenuItem y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 caption:String Sí No No No ContextMenuItem(caption:String, callbackFunction:Function, [separatorBefore:Boolean], [enabled:Boolean], [visible:Boolean]) Sí No No No copy() : ContextMenuItem Sí No No No enabled:Boolean Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 145 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 onSelect = function(obj:Object, menuItem:Object) {} Sí No No No separatorBefore:Boolean Sí No No No visible:Boolean Sí No No No ConvolutionFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase ConvolutionFilter y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 alpha:Number Sí No No No bias:Number Sí No No No clamp:Boolean Sí No No No clone() : ConvolutionFilter Sí No No No color:Number Sí No No No ConvolutionFilter(matrixX:Number, matrixY:Number, matrix:Array, [divisor:Number], [bias:Number], [preserveAlpha:Boolean], [clamp:Boolean], [color:Number], [alpha:Number]) Sí No No No divisor:Number Sí No No No matrix:Array Sí No No No matrixX:Number Sí No No No matrixY:Number Sí No No No preserveAlpha:Boolean Sí No No No CustomActions La tabla siguiente muestra las versiones de Flash Lite que admiten la clase CustomActions y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 get(name:String) : String Sí No No No install(name:String, data:String) : Boolean Sí No No No list() : Array Sí No No No uninstall(name:String) : Boolean Sí No No No Date La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Date y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 146 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 Date([yearOrTimevalue:Number], [month:Number], [date:Number], [hour:Number], [minute:Number], [second:Number], [millisecond:Number]) Sí Sí Sí Sí getDate() : Number Sí Sí Sí Sí getDay() : Number Sí Sí Sí Sí getFullYear() : Number Sí Sí Sí Sí getHours() : Number Sí Sí Sí Sí getLocaleLongDate() : String No Sí Sí Sí getLocaleShortDate() : String No Sí Sí Sí getLocaleTime() : String No Sí Sí Sí getMilliseconds() : Number Sí Sí Sí Sí getMinutes() : Number Sí Sí Sí Sí getMonth() : Number Sí Sí Sí Sí getSeconds() : Number Sí Sí Sí Sí getTime() : Number Sí Sí Sí Sí getTimezoneOffset() : Number Sí Sí Sí Sí getUTCDate() : Number Sí Sí Sí Sí getUTCDay() : Number Sí Sí Sí Sí getUTCFullYear() : Number Sí Sí Sí Sí getUTCHours() : Number Sí Sí Sí Sí getUTCMilliseconds() : Number Sí Sí Sí Sí getUTCMinutes() : Number Sí Sí Sí Sí getUTCMonth() : Number Sí Sí Sí Sí getUTCSeconds() : Number Sí Sí Sí Sí getUTCYear() : Number Sí Sí Sí Sí getYear() : Number Sí Sí Sí Sí setDate(date:Number) : Number Sí Sí Sí Sí setFullYear(year:Number, [month:Number], [date:Number]) : Number Sí Sí Sí Sí setHours(hour:Number) : Number Sí Sí Sí Sí setMilliseconds(millisecond:Number) : Sí Number Sí Sí Sí setMinutes(minute:Number) : Number Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 147 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 setMonth(month:Number, [date:Number]) : Number Sí Sí Sí Sí setSeconds(second:Number) : Number Sí Sí Sí Sí setTime(millisecond:Number) : Number Sí Sí Sí Sí setUTCDate(date:Number) : Number Sí Sí Sí Sí setUTCFullYear(year:Number, [month:Number], [date:Number]) : Number Sí Sí Sí Sí setUTCHours(hour:Number, [minute:Number], [second:Number], [millisecond:Number]) : Number Sí Sí Sí Sí setUTCMilliseconds(millisecond:Num ber) : Number Sí Sí Sí Sí setUTCMinutes(minute:Number, [second:Number], [millisecond:Number]) : Number Sí Sí Sí Sí setUTCMonth(month:Number, [date:Number]) : Number Sí Sí Sí Sí setUTCSeconds(second:Number, [millisecond:Number]) : Number Sí Sí Sí Sí setYear(year:Number) : Number Sí Sí Sí Sí toString() : String Sí Sí Sí Sí UTC(year:Number, month:Number, [date:Number], [hour:Number], [minute:Number], [second:Number], [millisecond:Number]) : Number Sí Sí Sí Sí valueOf() : Number Sí Sí Sí Sí DisplacementMapFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase DisplacementMapFilter y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 alpha:Number Sí No No No clone() : DisplacementMapFilter Sí No No No color:Number Sí No No No componentX:Number Sí No No No componentY:Number Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 148 Última modificación 1/5/2010 Nombre de función Introducción a ActionScript de Flash Lite 2.x y 3.x ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 DisplacementMapFilter(mapBitmap:B Sí itmapData, mapPoint:Point, componentX:Number, componentY:Number, scaleX:Number, scaleY:Number, [mode:String], [color:Number], [alpha:Number]) No No No mapBitmap:BitmapData Sí No No No mapPoint:Point Sí No No No mode:String Sí No No No scaleX:Number Sí No No No scaleY:Number Sí No No No DropShadowFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase DropShadowFilter y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 alpha:Number Sí No No No angle:Number Sí No No No blurX:Number Sí No No No blurY:Number Sí No No No clone() : DropShadowFilter Sí No No No color:Number Sí No No No distance:Number Sí No No No DropShadowFilter([distance:Number] Sí , [angle:Number], [color:Number], [alpha:Number], [blurX:Number], [blurY:Number], [strength:Number], [quality:Number], [inner:Boolean], [knockout:Boolean], [hideObject:Boolean]) No No No hideObject:Boolean Sí No No No inner:Boolean Sí No No No knockout:Boolean Sí No No No quality:Number Sí No No No strength:Number Sí No No No Error La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Error y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 149 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 Error([message:String]) Sí Sí Sí Sí message:String Sí Sí Sí Sí name:String Sí Sí Sí Sí toString() : String Sí Sí Sí Sí ExtendedKey La tabla siguiente muestra las versiones de Flash Lite que admiten la clase ExtendedKey y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 SOFT1:String No Sí Sí Sí SOFT10:String No Sí Sí Sí SOFT11:String No Sí Sí Sí SOFT12:String No Sí Sí Sí SOFT2:String No Sí Sí Sí SOFT3:String No Sí Sí Sí SOFT4:String No Sí Sí Sí SOFT5:String No Sí Sí Sí SOFT6:String No Sí Sí Sí SOFT7:String No Sí Sí Sí SOFT8:String No Sí Sí Sí SOFT9:String No Sí Sí Sí ExternalInterface La tabla siguiente muestra las versiones de Flash Lite que admiten la clase ExternalInterface y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addCallback(methodName:String, instance:Object, method:Function) : Boolean Sí No Sí Sí available:Boolean [sólo lectura] Sí No Sí Sí call(methodName:String, [parameter1:Object]) : Object Sí No Sí Sí FileReference La tabla siguiente muestra las versiones de Flash Lite que admiten la clase FileReference y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 150 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 creationDate:Date [sólo lectura] Sí No No No creator:String [sólo lectura] Sí No No No modificationDate:Date [sólo lectura] Sí No No No name:String [sólo lectura] Sí No No No postData:String Sí No No No size:Number [sólo lectura] Sí No No No type:String [sólo lectura] Sí No No No FileReferenceList La tabla siguiente muestra las versiones de Flash Lite que admiten la clase FileReferenceList y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addListener(listener:Object) : Void Sí No No No browse([typelist:Array]) : Boolean Sí No No No fileList:Array Sí No No No FileReferenceList() Sí No No No onCancel = function(fileRefList:FileReferenceList) {} Sí No No No onSelect = function(fileRefList:FileReferenceList) {} Sí No No No removeListener(listener:Object) : Boolean Sí No No No Function La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Function y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 apply(thisObject:Object, [argArray:Array]) : Void Sí Sí Sí Sí call(thisObject:Object, [parameter1:Object]) : Object Sí Desfasado Desfasado Desfasado GlowFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase GlowFilter y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 151 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 alpha:Number Sí No No No blurX:Number Sí No No No blurY:Number Sí No No No color:Number Sí No No No inner:Boolean Sí No No No knockout:Boolean Sí No No No quality:Number Sí No No No strength:Number Sí No No No GradientBevelFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase GradientBevelFilter y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 alphas:Array Sí No No No angle:Number Sí No No No blurX:Number Sí No No No blurY:Number Sí No No No clone() : GradientBevelFilter Sí No No No colors:Array Sí No No No distance:Number Sí No No No GradientBevelFilter([distance:Number Sí ], [angle:Number], [colors:Array], [alphas:Array], [ratios:Array], [blurX:Number], [blurY:Number], [strength:Number], [quality:Number], [type:String], [knockout:Boolean]) No No No knockout:Boolean Sí No No No quality:Number Sí No No No ratios:Array Sí No No No strength:Number Sí No No No type:String Sí No No No GradientGlowFilter La tabla siguiente muestra las versiones de Flash Lite que admiten la clase GradientFlowFilter y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 152 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 alphas:Array Sí No No No angle:Number Sí No No No blurX:Number Sí No No No blurY:Number Sí No No No colors:Array Sí No No No distance:Number Sí No No No GradientGlowFilter([distance:Number Sí ], [angle:Number], [colors:Array], [alphas:Array], [ratios:Array], [blurX:Number], [blurY:Number], [strength:Number], [quality:Number], [type:String], [knockout:Boolean]) No No No knockout:Boolean Sí No No No quality:Number Sí No No No ratios:Array Sí No No No strength:Number Sí No No No type:String Sí No No No IME La tabla siguiente muestra las versiones de Flash Lite que admiten la clase IME y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addListener(listener:Object) : Void Sí No No No ALPHANUMERIC_FULL:String Sí No No No ALPHANUMERIC_HALF:String Sí No No No CHINESE:String Sí No No No doConversion() : Boolean Sí No No No getConversionMode() : String Sí No No No getEnabled() : Boolean Sí No No No JAPANESE_HIRAGANA:String Sí No No No JAPANESE_KATAKANA_FULL:String Sí No No No JAPANESE_KATAKANA_HALF:String Sí No No No KOREAN:String Sí No No No onIMEComposition = function([readingString:String]) {} Sí No No No removeListener(listener:Object) : Boolean Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 153 Última modificación 1/5/2010 Nombre de función Introducción a ActionScript de Flash Lite 2.x y 3.x ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 setCompositionString(composition:St Sí ring) : Boolean No No No setConversionMode(mode:String) : Boolean Sí No No No setEnabled(enabled:Boolean) : Boolean Sí No No No UNKNOWN:String Sí No No No Key La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Key y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 _listeners:Array [sólo lectura] Sí Sí Sí Sí addListener(listener:Object) : Void Sí Sí Sí Sí BACKSPACE:Number Sí Sí Sí Sí CAPSLOCK:Number Sí Sí Sí Sí CONTROL:Number Sí Sí Sí Sí DELETEKEY:Number Sí Sí Sí Sí DOWN:Number Sí Sí Sí Sí END:Number Sí Sí Sí Sí ENTER:Number Sí Sí Sí Sí ESCAPE:Number Sí Sí Sí Sí getAscii() : Number Sí Sí Sí Sí getCode() : Number Sí Sí Sí Sí HOME:Number Sí Sí Sí Sí INSERT:Number Sí Sí Sí Sí isAccessible() : Boolean Sí No No No isDown(code:Number) : Boolean Sí Sí Sí Sí isToggled(code:Number) : Boolean Sí No No No *LEFT:Number Sí Sí Sí Sí onKeyDown = function() {} Sí Sí Sí Sí onKeyUp = function() {} Sí Sí Sí Sí PGDN:Number Sí Sí Sí Sí PGUP:Number Sí Sí Sí Sí removeListener(listener:Object) : Boolean Sí No Sí Sí RIGHT:Number Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 154 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 SHIFT:Number Sí Sí Sí Sí SPACE:Number Sí Sí Sí Sí TAB:Number Sí Sí Sí Sí UP:Number Sí Sí Sí Sí LoadVars La tabla siguiente muestra las versiones de Flash Lite que admiten la clase LoadVars y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addRequestHeader(header:Object, headerValue:String) : Void Sí Sí Sí Sí contentType:String Sí Sí Sí Sí decode(queryString:String) : Void Sí Sí Sí Sí getBytesLoaded() : Number Sí Sí Sí Sí getBytesTotal() : Number Sí Sí Sí Sí load(url:String) : Boolean Sí Sí Sí Sí loaded:Boolean Sí Sí Sí Sí LoadVars() Sí Sí Sí Sí onData = function(src:String) {} Sí Sí Sí Sí onHTTPStatus = function(httpStatus:Number) {} Sí No No Sí onLoad = function(success:Boolean) {} Sí Sí Sí Sí send(url:String, target:String, [method:String]) : Boolean Sí Sí Sí Sí sendAndLoad(url:String, target:Object, [method:String]) : Boolean Sí Sí Sí Sí toString() : String Sí Sí Sí Sí LocalConnection La tabla siguiente muestra las versiones de Flash Lite que admiten la clase LocalConnection y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 allowDomain = function([sendingDomain:String]) {} Sí No No Sí allowInsecureDomain = function([sendingDomain:String]) {} Sí No No Sí close() : Void Sí No No Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 155 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 connect(connectionName:String) : Boolean Sí No No Sí domain() : String Sí No No Sí LocalConnection() Sí No No Sí onStatus = function(infoObject:Object) {} Sí No No Sí send(connectionName:String, methodName:String, [args:Object]) : Boolean Sí No No Sí Locale La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Locale y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addDelayedInstance(instance:Object, stringID:String) : Void Sí No No No addXMLPath(langCode:String, path:String) : Void Sí No No No autoReplace:Boolean Sí No No No checkXMLStatus() : Boolean Sí No No No getDefaultLang() : String Sí No No No initialize() : Void Sí No No No languageCodeArray:Array [sólo lectura] Sí No No No loadLanguageXML(xmlLanguageCod Sí e:String, customXmlCompleteCallback:Functio n) : Void No No No loadString(id:String) : String Sí No No No loadStringEx(stringID:String, languageCode:String) : String Sí No No No setDefaultLang(langCode:String) : Void Sí No No No setLoadCallback(loadCallback:Functio Sí n) : Void No No No setString(stringID:String, languageCode:String, stringValue:String) : Void Sí No No No stringIDArray:Array [sólo lectura] Sí No No No Math La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Math y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 156 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 abs(x:Number) : Number Sí Sí Sí Sí acos(x:Number) : Number Sí Sí Sí Sí asin(x:Number) : Number Sí Sí Sí Sí atan(tangent:Number) : Number Sí Sí Sí Sí atan2(y:Number, x:Number) : Number Sí Sí Sí Sí ceil(x:Number) : Number Sí Sí Sí Sí cos(x:Number) : Number Sí Sí Sí Sí E:Number Sí Sí Sí Sí exp(x:Number) : Number Sí Sí Sí Sí floor(x:Number) : Number Sí Sí Sí Sí LN10:Number Sí Sí Sí Sí LN2:Number Sí Sí Sí Sí log(x:Number) : Number Sí Sí Sí Sí LOG10E:Number Sí Sí Sí Sí LOG2E:Number Sí Sí Sí Sí max(x:Number, y:Number) : Number Sí Sí Sí Sí min(x:Number, y:Number) : Number Sí Sí Sí Sí PI:Number Sí Sí Sí Sí pow(x:Number, y:Number) : Number Sí Sí Sí Sí random() : Number Sí Sí Sí Sí round(x:Number) : Number Sí Sí Sí Sí sin(x:Number) : Number Sí Sí Sí Sí sqrt(x:Number) : Number Sí Sí Sí Sí SQRT1_2:Number Sí Sí Sí Sí SQRT2:Number Sí Sí Sí Sí tan(x:Number) : Number Sí Sí Sí Sí Matrix La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Matrix y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 a:Number Sí No No Sí b:Number Sí No No Sí c:Number Sí No No Sí clone() : Matrix Sí No No Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 157 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 concat(m:Matrix) : Void Sí No No Sí createBox(scaleX:Number, scaleY:Number, [rotation:Number], [tx:Number], [ty:Number]) : Void Sí No No Sí createGradientBox(width:Number, height:Number, [rotation:Number], [tx:Number], [ty:Number]) : Void Sí No No No d:Number Sí No No Sí deltaTransformPoint(pt:Point) : Point Sí No No Sí identity() : Void Sí No No Sí invert() : Void Sí No No Sí Matrix([a:Number], [b:Number], [c:Number], [d:Number], [tx:Number], [ty:Number]) Sí No No Sí rotate(angle:Number) : Void Sí No No Sí scale(sx:Number, sy:Number) : Void Sí No No Sí toString() : String Sí No No Sí transformPoint(pt:Point) : Point Sí No No Sí translate(tx:Number, ty:Number) : Void Sí No No Sí tx:Number Sí No No Sí ty:Number Sí No No Sí Microphone La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Microphone y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 activityLevel:Number [sólo lectura] Sí No No No gain:Number [sólo lectura] Sí No No No get([index:Number]) : Microphone Sí No No No index:Number [sólo lectura] Sí No No No muted:Boolean [sólo lectura] Sí No No No name:String [sólo lectura] Sí No No No names:Array [sólo lectura] Sí No No No onActivity = function(active:Boolean) {} Sí No No No onStatus = function(infoObject:Object) {} Sí No No No rate:Number [sólo lectura] Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 158 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 setGain(gain:Number) : Void Sí No No No setRate(rate:Number) : Void Sí No No No setSilenceLevel(silenceLevel:Number, Sí [timeOut:Number]) : Void No No No setUseEchoSuppression(useEchoSup pression:Boolean) : Void Sí No No No silenceLevel:Number [sólo lectura] Sí No No No silenceTimeOut:Number [sólo lectura] Sí No No No useEchoSuppression:Boolean [sólo lectura] No No No Sí Mouse La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Mouse y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addListener(listener:Object) : Void Sí Sí Sí Sí hide() : Number Sí No No No onMouseDown = function() {} Sí Sí Sí Sí onMouseMove = function() {} Sí Sí Sí Sí onMouseUp = function() {} Sí Sí Sí Sí onMouseWheel = function([delta:Number], [scrollTarget:Object]) {} Sí No No No removeListener(listener:Object) : Boolean Sí Sí Sí Sí show() : Number Sí No No No MovieClip La tabla siguiente muestra las versiones de Flash Lite que admiten la clase MovieClip y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 _alpha:Number Sí Sí Sí Sí _currentframe:Number [sólo lectura] Sí Sí Sí Sí _droptarget:String [sólo lectura] Sí Sí Sí Sí _focusrect:Boolean Sí Sí Sí Sí _framesloaded:Number [sólo lectura] Sí Sí Sí Sí _height:Number Sí Sí Sí Sí _highquality:Number Desfasado Desfasado Desfasado Desfasado DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 159 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 _lockroot:Boolean Sí Sí Sí Sí _name:String Sí Sí Sí Sí _parent:MovieClip Sí Sí Sí Sí _quality:String Sí Sí Sí Sí _rotation:Number Sí Sí Sí Sí _soundbuftime:Number Sí Sí Sí Sí _target:String [sólo lectura] Sí Sí Sí Sí _totalframes:Number [sólo lectura] Sí Sí Sí Sí _url:String [sólo lectura] Sí Sí Sí Sí _visible:Boolean Sí Sí Sí Sí _width:Number Sí Sí Sí Sí _x:Number Sí Sí Sí Sí _xmouse:Number [sólo lectura] Sí Sí Sí Sí _xscale:Number Sí Sí Sí Sí _y:Number Sí Sí Sí Sí _ymouse:Number [sólo lectura] Sí Sí Sí Sí _yscale:Number Sí Sí Sí Sí attachAudio(id:Object) : Void Sí No No No attachBitmap(bmp:BitmapData, depth:Number, [pixelSnapping:String], [smoothing:Boolean]) : Void Sí No No Sí attachMovie(id:String, name:String, depth:Number, [initObject:Object]) : MovieClip Sí Sí Sí Sí beginBitmapFill(bmp:BitmapData, [matrix:Matrix], [repeat:Boolean], [smoothing:Boolean]) : Void Sí No No Sí beginFill(rgb:Number, [alpha:Number]) : Void Sí Sí Sí Sí beginGradientFill(fillType:String, Sí colors:Array, alphas:Array, ratios:Array, matrix:Object, [spreadMethod:String], [interpolationMethod:String], [focalPointRatio:Number]) : Void No No No blendMode:Object Sí No No No cacheAsBitmap:Boolean Sí No No No clear() : Void Sí Sí Sí Sí createEmptyMovieClip(name:String, depth:Number) : MovieClip Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 160 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 createTextField(instanceName:String, depth:Number, x:Number, y:Number, width:Number, height:Number) : TextField Sí Sí Sí Sí curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number) : Void Sí Sí Sí Sí duplicateMovieClip(name:String, depth:Number, [initObject:Object]) : MovieClip Sí Sí Sí Sí enabled:Boolean Sí Sí Sí Sí endFill() : Void Sí Sí Sí Sí filters:Array Sí No No No focusEnabled:Boolean Sí Sí Sí Sí forceSmoothing:Boolean Sí No No No getBounds(bounds:Object) : Object Sí Sí Sí Sí getBytesLoaded() : Number Sí Sí Sí Sí getBytesTotal() : Number Sí Sí Sí Sí getDepth() : Number Sí Sí Sí Sí getInstanceAtDepth(depth:Number) : Sí MovieClip Sí Sí Sí getNextHighestDepth() : Number Sí Sí Sí Sí getRect(bounds:Object) : Object Sí No No No getSWFVersion() : Number Sí Sí Sí Sí getTextSnapshot() : TextSnapshot Sí No No No getURL(url:String, [window:String], [method:String]) : Void Sí Sí Sí Sí globalToLocal(pt:Object) : Void Sí Sí Sí Sí gotoAndPlay(frame:Object) : Void Sí Sí Sí Sí gotoAndStop(frame:Object) : Void Sí Sí Sí Sí hitArea:Object Sí Sí Sí Sí hitTest() : Boolean Sí Sí Sí Sí lineGradientStyle(fillType:String, Sí colors:Array, alphas:Array, ratios:Array, matrix:Object, [spreadMethod:String], [interpolationMethod:String], [focalPointRatio:Number]) : Void No No No lineStyle(thickness:Number, rgb:Number, alpha:Number, pixelHinting:Boolean, noScale:String, capsStyle:String, jointStyle:String, miterLimit:Number) : Void Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 161 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 lineTo(x:Number, y:Number) : Void Sí Sí Sí Sí loadMovie(url:String, [method:String]) Sí : Void Sí Sí Sí loadVariables(url:String, [method:String]) : Void Sí Sí Sí Sí localToGlobal(pt:Object) : Void Sí Sí Sí Sí menu:ContextMenu Sí No No No moveTo(x:Number, y:Number) : Void Sí Sí Sí Sí nextFrame() : Void Sí Sí Sí Sí onData = function() {} Sí Sí Sí Sí onDragOut = function() {} Sí Sí Sí Sí onDragOver = function() {} Sí Sí Sí Sí onEnterFrame = function() {} Sí Sí Sí Sí onKeyDown = function() {} Sí Sí Sí Sí onKeyUp = function() {} Sí Sí Sí Sí onKillFocus = function(newFocus:Object) {} Sí Sí Sí Sí onLoad = function() {} Sí Sí Sí Sí onMouseDown = function() {} Sí Sí Sí Sí onMouseMove = function() {} Sí Sí Sí Sí onMouseUp = function() {} Sí Sí Sí Sí onPress = function() {} Sí Sí Sí Sí onRelease = function() {} Sí Sí Sí Sí onReleaseOutside = function() {} Sí Sí Sí Sí onRollOut = function() {} Sí Sí Sí Sí onRollOver = function() {} Sí Sí Sí Sí onSetFocus = function(oldFocus:Object) {} Sí Sí Sí Sí onUnload = function() {} Sí Sí Sí Sí opaqueBackground:Number Sí No No No play() : Void Sí Sí Sí Sí prevFrame() : Void Sí Sí Sí Sí removeMovieClip() : Void Sí Sí Sí Sí scale9Grid:Rectangle Sí No No No scrollRect:Object Sí No No No setMask(mc:Object) : Void Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 162 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 startDrag([lockCenter:Boolean], [left:Number], [top:Number], [right:Number], [bottom:Number]) : Void Sí Sí Sí Sí stop() : Void Sí Sí Sí Sí stopDrag() : Void Sí Sí Sí Sí swapDepths(target:Object) : Void Sí Sí Sí Sí tabChildren:Boolean Sí Sí Sí Sí tabEnabled:Boolean Sí Sí Sí Sí tabIndex:Number Sí Sí Sí Sí trackAsMenu:Boolean Sí Sí Sí Sí transform:Transform Sí No No No unloadMovie() : Void Sí Sí Sí Sí useHandCursor:Boolean Sí No No No MovieClipLoader La tabla siguiente muestra las versiones de Flash Lite que admiten la clase MovieClipLoader y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addListener(listener:Object) : Boolean Sí Sí Sí Sí checkPolicyFile:Boolean Sí No No No getProgress(target:Object) : Object Sí Sí Sí Sí loadClip(url:String, target:Object) : Boolean Sí Sí Sí Sí MovieClipLoader() Sí Sí Sí Sí onLoadComplete = function([target_mc:MovieClip], [httpStatus:Number]) {} Sí Sí Sí Sí onLoadError = function(target_mc:MovieClip, errorCode:String, [httpStatus:Number]) {} Sí Sí Sí Sí onLoadInit = function([target_mc:MovieClip]) {} Sí Sí Sí Sí onLoadProgress = function([target_mc:MovieClip], loadedBytes:Number, totalBytes:Number) {} Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 163 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 onLoadStart = function([target_mc:MovieClip]) {} Sí Sí Sí Sí removeListener(listener:Object) : Boolean Sí Sí Sí Sí unloadClip(target:Object) : Boolean Sí Sí Sí Sí NetConnection La tabla siguiente muestra las versiones de Flash Lite que admiten la clase NetConnection y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 connect(targetURI:String) : Boolean Sí No Sí Sí NetConnection() Sí No Sí Sí NetStream La tabla siguiente muestra las versiones de Flash Lite que admiten la clase NetStream y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 bufferLength:Number [sólo lectura] Sí No Sí Sí bufferTime:Number [sólo lectura] Sí No Sí Sí bytesLoaded:Number [sólo lectura] Sí No Sí Sí bytesTotal:Number [sólo lectura] Sí No Sí Sí checkPolicyFile:Boolean Sí No No No close() : Void Sí No Sí Sí currentFps:Number [sólo lectura] Sí No Sí Sí NetStream(connection:NetConnectio n) Sí No Sí Sí onCuePoint = function(infoObject:Object) {} Sí No Sí Sí onMetaData = function(infoObject:Object) {} Sí No Sí Sí onStatus = function(infoObject:Object) {} Sí No Sí Sí pause([flag:Boolean]) : Void Sí No Sí Sí play(name:Object, start:Number, len:Number, reset:Object) : Void Sí No Sí Sí seek(offset:Number) : Void Sí No Sí Sí setBufferTime(bufferTime:Number) : Void Sí No Sí Sí time:Number [sólo lectura] Sí No Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 164 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Number La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Number y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 MAX_VALUE:Number Sí Sí Sí Sí MIN_VALUE:Number Sí Sí Sí Sí NaN:Number Sí Sí Sí Sí NEGATIVE_INFINITY:Number Sí Sí Sí Sí Number(num:Object) Sí Sí Sí Sí POSITIVE_INFINITY:Number Sí Sí Sí Sí toString(radix:Number) : String Sí Sí Sí Sí valueOf() : Number Sí Sí Sí Sí Object La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Object y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 __proto__:Object Sí Sí Sí Sí __resolve:Object Sí Sí Sí Sí addProperty(name:String, getter:Function, setter:Function) : Boolean Sí Sí Sí Sí constructor:Object Sí Sí Sí Sí hasOwnProperty(name:String) : Boolean Sí Sí Sí Sí isPropertyEnumerable(name:String) : Boolean Sí Sí Sí Sí isPrototypeOf(theClass:Object) : Boolean Sí Sí Sí Sí Object() Sí Sí Sí Sí prototype:Object Sí Sí Sí Sí registerClass(name:String, theClass:Function) : Boolean Sí Sí Sí Sí toString() : String Sí Sí Sí Sí unwatch(name:String) : Boolean Sí Sí Sí Sí valueOf() : Object Sí Sí Sí Sí watch(name:String, callback:Function, Sí [userData:Object]) : Boolean Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 165 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Point La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Point y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 add(v:Point) : Point Sí No No Sí clone() : Point Sí No No Sí distance(pt1:Point, pt2:Point) : Number Sí No No Sí equals(toCompare:Object) : Boolean Sí No No Sí interpolate(pt1:Point, pt2:Point, f:Number) : Point Sí No No Sí length:Number Sí No No Sí normalize(length:Number) : Void Sí No No Sí offset(dx:Number, dy:Number) : Void Sí No No Sí Point(x:Number, y:Number) Sí No No Sí polar(len:Number, angle:Number) : Point Sí No No Sí subtract(v:Point) : Point Sí No No Sí toString() : String Sí No No Sí x:Number Sí No No Sí y:Number Sí No No Sí PrintJob La tabla siguiente muestra las versiones de Flash Lite que admiten la clase PrintJob y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addPage(target:Object, [printArea:Object], [options:Object], [frameNum:Number]) : Boolean Sí No No No orientation:String [sólo lectura] Sí No No No pageHeight:Number [sólo lectura] Sí No No No pageWidth:Number [sólo lectura] Sí No No No paperHeight:Number [sólo lectura] Sí No No No paperWidth:Number [sólo lectura] Sí No No No PrintJob() Sí No No No send() : Void Sí No No No start() : Boolean Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 166 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Rectangle La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Rectangle y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 bottom:Number Sí No No Sí bottomRight:Point Sí No No Sí clone() : Rectangle Sí No No Sí contains(x:Number, y:Number) : Boolean Sí No No Sí containsPoint(pt:Point) : Boolean Sí No No Sí containsRectangle(rect:Rectangle) : Boolean Sí No No Sí equals(toCompare:Object) : Boolean Sí No No Sí height:Number Sí No No Sí inflate(dx:Number, dy:Number) : Void Sí No No Sí inflatePoint(pt:Point) : Void Sí No No Sí intersection(toIntersect:Rectangle) : Rectangle Sí No No Sí intersects(toIntersect:Rectangle) : Boolean Sí No No Sí isEmpty() : Boolean Sí No No Sí left:Number Sí No No Sí offset(dx:Number, dy:Number) : Void Sí No No Sí offsetPoint(pt:Point) : Void Sí No No Sí Rectangle(x:Number, y:Number, width:Number, height:Number) Sí No No Sí right:Number Sí No No Sí setEmpty() : Void Sí No No Sí size:Point Sí No No Sí top:Number Sí No No Sí topLeft:Point Sí No No Sí toString() : String Sí No No Sí union(toUnion:Rectangle) : Rectangle Sí No No Sí width:Number Sí No No Sí x:Number Sí No No Sí y:Number Sí No No Sí security La tabla siguiente muestra las versiones de Flash Lite que admiten la clase security y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 167 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 allowDomain(domain1:String) : Void Sí Sí Sí Sí allowInsecureDomain(domain:String) : Void Sí Sí Sí Sí loadPolicyFile(url:String) : Void Sí Sí Sí Sí sandboxType:String [sólo lectura] Sí No No Sí Selection La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Selection y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addListener(listener:Object) : Void Sí Sí Sí Sí getBeginIndex() : Number Sí No No No getCaretIndex() : Number Sí No No No getEndIndex() : Number Sí No No No getFocus() : String Sí Sí Sí Sí onSetFocus = function([oldfocus:Object], [newfocus:Object]) {} Sí Sí Sí Sí removeListener(listener:Object) : Boolean Sí Sí Sí Sí setFocus(newFocus:Object) : Boolean Sí Sí Sí Sí setSelection(beginIndex:Number, endIndex:Number) : Void Sí No No No SharedObject La tabla siguiente muestra las versiones de Flash Lite que admiten la clase SharedObject y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addListener(objectName:String, notifyFunction:Function) : Void No Sí Sí Sí clear() : Void Sí Sí Sí Sí data:Object Sí Sí Sí Sí flush([minDiskSpace:Number]) : Object Sí Parcial Parcial Parcial getLocal(name:String, [localPath:String], [secure:Boolean]) : SharedObject Sí Parcial Parcial Parcial getMaxSize() : Number No Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 168 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 getSize() : Number Sí Sí Sí Sí onStatus = function(infoObject:Object) {} Sí Sí Sí Sí removeListener(objectName:String) No Sí Sí Sí Sound La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Sound y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 attachSound(id:String) : Void Sí Sí Sí Sí checkPolicyFile:Boolean Sí No No No duration:Number [sólo lectura] Sí Parcial Parcial Parcial getBytesLoaded() : Number Sí Sí Sí Sí getBytesTotal() : Number Sí Sí Sí Sí getPan() : Number Sí Parcial Parcial Parcial getTransform() : Object Sí Parcial Parcial Parcial getVolume() : Number Sí Sí Sí Sí id3:Object [sólo lectura] Sí Sí Sí Sí loadSound(url:String, isStreaming:Boolean) : Void Sí Parcial Parcial Parcial onID3 = function() {} Sí Sí Sí Sí onLoad = function(success:Boolean) {} Sí Sí Sí Sí onSoundComplete = function() {} Sí Sí Sí Sí position:Number [sólo lectura] Sí Parcial Parcial Parcial setPan(value:Number) : Void Sí Parcial Parcial Parcial setTransform(transformObject:Object Sí ) : Void Parcial Parcial Parcial setVolume(value:Number) : Void Sí Parcial Parcial Parcial Sound([target:Object]) Sí Sí Sí Sí start([secondOffset:Number], [loops:Number]) : Void Sí Sí Sí Sí stop([linkageID:String]) : Void Sí Sí Sí Sí Stage La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Stage y sus miembros. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 169 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addListener(listener:Object) : Void Sí Sí Sí Sí align:String Sí Sí Sí Sí displayState:String Sí No No No height:Number Sí Sí Sí Sí onFullScreen = function(bFull:Boolean) {} Sí No No No onResize = function() {} Sí Sí Sí Sí removeListener(listener:Object) : Boolean Sí Sí Sí Sí scaleMode:String Sí Sí Sí Sí showMenu:Boolean Sí No No No width:Number Sí Sí Sí Sí String La tabla siguiente muestra las versiones de Flash Lite que admiten la clase String y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 charAt(index:Number) : String Sí Sí Sí Sí charCodeAt(index:Number) : Number Sí Sí Sí Sí concat(value:Object) : String Sí Sí Sí Sí fromCharCode() : String Sí Sí Sí Sí indexOf(value:String, [startIndex:Number]) : Number Sí Sí Sí Sí lastIndexOf(value:String, [startIndex:Number]) : Number Sí Sí Sí Sí length:Number Sí Sí Sí Sí slice(start:Number, end:Number) : String Sí Sí Sí Sí split(delimiter:String, [limit:Number]) : Sí Array Sí Sí Sí String(value:String) Sí Sí Sí Sí substr(start:Number, length:Number) : Sí String Sí Sí Sí substring(start:Number, end:Number) Sí : String Sí Sí Sí toLowerCase() : String Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 170 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 toString() : String Sí Sí Sí Sí toUpperCase() : String Sí Sí Sí Sí valueOf() : String Sí Sí Sí Sí StyleSheet La tabla siguiente muestra las versiones de Flash Lite que admiten la clase StyleSheet y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 clear() : Void Sí No No Sí getStyle(name:String) : Object Sí No No Sí getStyleNames() : Array Sí No No Sí load(url:String) : Boolean Sí No No Sí onLoad = function(success:Boolean) {} Sí No No Sí parseCSS(cssText:String) : Boolean Sí No No Sí setStyle(name:String, style:Object) : Void Sí No No Sí StyleSheet() Sí No No Sí transform(style:Object) : TextFormat Sí No No Sí System La tabla siguiente muestra las versiones de Flash Lite que admiten la clase System y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 exactSettings:Boolean Sí No No No onStatus = function(infoObject:Object) {} Sí Sí Sí Sí setClipboard(text:String) : Void Sí No No No showSettings([tabID:Number]) : Void Sí No No No useCodepage:Boolean Sí Sí Sí Sí TextField La tabla siguiente muestra las versiones de Flash Lite que admiten la clase TextField y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 _alpha:Number Sí Sí Sí Sí _height:Number Sí Sí Sí Sí _highquality:Number Desfasado Desfasado Desfasado Desfasado DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 171 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 _name:String Sí Sí Sí Sí _parent:MovieClip Sí Sí Sí Sí _quality:String Sí Sí Sí Sí _rotation:Number Sí Sí Sí Sí _soundbuftime:Number Sí Sí Sí Sí _target:String [sólo lectura] Sí Sí Sí Sí _url:String [sólo lectura] Sí Sí Sí Sí _visible:Boolean Sí Sí Sí Sí _width:Number Sí Sí Sí Sí _x:Number Sí Sí Sí Sí _xmouse:Number [sólo lectura] Sí Sí Sí Sí _xscale:Number Sí Sí Sí Sí _y:Number Sí Sí Sí Sí _ymouse:Number [sólo lectura] Sí Sí Sí Sí _yscale:Number Sí Sí Sí Sí addListener(listener:Object) : Boolean Sí Sí Sí Sí antiAliasType:String Sí No No No autoSize:Object Sí Sí Sí Sí background:Boolean Sí Sí Sí Sí backgroundColor:Number Sí Sí Sí Sí border:Boolean Sí Sí Sí Sí borderColor:Number Sí Sí Sí Sí bottomScroll:Number [sólo lectura] Sí Sí Sí Sí condenseWhite:Boolean Sí Sí Sí Sí embedFonts:Boolean Sí Sí Sí Sí filters:Array Sí No No No getDepth() : Number Sí Sí Sí Sí getFontList() : Array Sí No No No getNewTextFormat() : TextFormat Sí Sí Sí Sí getTextFormat([beginIndex:Number], Sí [endIndex:Number]) : TextFormat Sí Sí Sí gridFitType:String Sí No No No hscroll:Number Sí Sí Sí Sí html:Boolean Sí Sí Sí Sí htmlText:String Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 172 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 length:Number [sólo lectura] Sí Sí Sí Sí maxChars:Number Sí Sí Sí Sí maxhscroll:Number [sólo lectura] Sí Sí Sí Sí maxscroll:Number [sólo lectura] Sí Sí Sí Sí menu:ContextMenu Sí No No No mouseWheelEnabled:Boolean Sí No No No multiline:Boolean Sí Sí Sí Sí onChanged = function(changedField:TextField) {} Sí Sí Sí Sí onKillFocus = function(newFocus:Object) {} Sí Sí Sí Sí onScroller = function(scrolledField:TextField) {} Sí Sí Sí Sí onSetFocus = function(oldFocus:Object) {} Sí Sí Sí Sí password:Boolean Sí Sí Sí Sí removeListener(listener:Object) : Boolean Sí Sí Sí Sí removeTextField() : Void Sí Sí Sí Sí replaceSet(newText:String) : Void Sí No No No replaceText(beginIndex:Number, endIndex:Number, newText:String) : Void Sí Sí Sí Sí restrict:String Sí No No No scroll:Number Sí Sí Sí Sí selectable:Boolean Sí Sí Sí Sí setNewTextFormat(tf:TextFormat) : Void Sí Sí Sí Sí setTextFormat([beginIndex:Number], [endIndex:Number], textFormat:TextFormat) : Void Sí Sí Sí Sí sharpness:Number Sí No No No styleSheet:StyleSheet Sí No No No tabEnabled:Boolean Sí Sí Sí Sí tabIndex:Number Sí Sí Sí Sí text:String Sí Sí Sí Sí textColor:Number Sí Sí Sí Sí textHeight:Number Sí Sí Sí Sí textWidth:Number Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 173 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 thickness:Number Sí No No No type:String Sí Sí Sí Sí variable:String Sí Sí Sí Sí wordWrap:Boolean Sí Sí Sí Sí TextFormat La tabla siguiente muestra las versiones de Flash Lite que admiten la clase TextFormat y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 align:String Sí Sí Sí Sí blockIndent:Number Sí Sí Sí Sí bold:Boolean Sí Sí Sí Sí bullet:Boolean Sí Parcial Parcial Parcial color:Number Sí Sí Sí Sí font:String Sí Parcial Parcial Parcial getTextExtent(text:String, [width:Number]) : Object Sí Sí Sí Sí indent:Number Sí Sí Sí Sí italic:Boolean Sí Sí Sí Sí kerning:Boolean Sí No No No leading:Number Sí Sí Sí Sí leftMargin:Number Sí Sí Sí Sí letterSpacing:Number Sí No No No rightMargin:Number Sí Sí Sí Sí size:Number Sí Sí Sí Sí tabStops:Array Sí Parcial Parcial Parcial target:String Sí No No No TextFormat([font:String], [size:Number], [color:Number], [bold:Boolean], [italic:Boolean], [underline:Boolean], [url:String], [target:String], [align:String], [leftMargin:Number], [rightMargin:Number], [indent:Number], [leading:Number]) Sí Sí Sí Sí underline:Boolean Sí Sí Sí Sí url:String Sí No No No DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 174 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x TextRenderer La tabla siguiente muestra las versiones de Flash Lite que admiten la clase TextRenderer y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 displayMode:String Sí No No No maxLevel:Number Sí No No No setAdvancedAntialiasingTable(fontNa Sí me:String, fontStyle:String, colorType:String, advancedAntialiasingTable:Array) : Void No No No TextSnapshot La tabla siguiente muestra las versiones de Flash Lite que admiten la clase TextSnapshot y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 findText(startIndex:Number, textToFind:String, caseSensitive:Boolean) : Number Sí No No No getCount() : Number Sí No No No getSelected(start:Number, [end:Number]) : Boolean Sí No No No getSelectedText([includeLineEndings: Sí Boolean]) : String No No No getText(start:Number, end:Number, Sí [includeLineEndings:Boolean]) : String No No No getTextRunInfo(beginIndex:Number, endIndex:Number) : Array Sí No No No hitTestTextNearPos(x:Number, y:Number, [closeDist:Number]) : Number Sí No No No setSelectColor(color:Number) : Void Sí No No No setSelected(start:Number, end:Number, select:Boolean) : Void Sí No No No Transform La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Transform y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 colorTransform:ColorTransform Sí No No Sí concatenatedColorTransform:ColorTr ansform [sólo lectura] Sí No No Sí concatenatedMatrix:Matrix [sólo lectura] Sí No No Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 175 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 matrix:Matrix Sí No No Sí pixelBounds:Rectangle Sí No No Sí Transform(mc:MovieClip) Sí No No Sí Video La tabla siguiente muestra las versiones de Flash Lite que admiten la clase Video y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 _alpha:Number Sí No No No _height:Number Sí No No No _name:String Sí No No No _parent:MovieClip Sí No No No _rotation:Number Sí No No No _visible:Boolean Sí No No No _width:Number Sí No No No _x:Number Sí No No No _xmouse:Number [sólo lectura] Sí No No No _xscale:Number Sí No No No _y:Number Sí No No No _ymouse:Number [sólo lectura] Sí No No No _yscale:Number Sí No No No attachVideo(source:Object) : Void Sí No Sí Sí clear() : Void Sí No Sí Sí close() : Void No Sí Sí Sí deblocking:Number Sí No No Sí height:Number [sólo lectura] Sí No Sí Sí onStatus = function(infoObject:Object) {} No Sí Sí Sí pause() : Void No Sí Sí Sí play() : Boolean No Sí Sí Sí resume() : Void No Sí Sí Sí smoothing:Boolean Sí No No Sí stop() : Void No Sí Sí Sí width:Number [sólo lectura] Sí No Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 176 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x XML La tabla siguiente muestra las versiones de Flash Lite que admiten la clase XML y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 addRequestHeader(header:Object, headerValue:String) : Void Sí Sí Sí Sí contentType:String Sí Sí Sí Sí createElement(name:String) : XMLNode Sí Sí Sí Sí createTextNode(value:String) : XMLNode Sí Sí Sí Sí docTypeDecl:String Sí Sí Sí Sí getBytesLoaded() : Number Sí Sí Sí Sí getBytesTotal() : Number Sí Sí Sí Sí idMap:Object Sí No No No ignoreWhite:Boolean Sí Sí Sí Sí load(url:String) : Boolean Sí Sí Sí Sí loaded:Boolean Sí Sí Sí Sí onData = function(src:String) {} Sí Sí Sí Sí onHTTPStatus = function(httpStatus:Number) {} Sí No No Sí onLoad = function(success:Boolean) {} Sí No No Sí parseXML(value:String) : Void Sí Sí Sí Sí send(url:String, [target:String], [method:String]) : Boolean Sí Sí Sí Sí sendAndLoad(url:String, resultXML:XML) : Void Sí Sí Sí Sí status:Number Sí Sí Sí Sí XML(text:String) Sí Sí Sí Sí xmlDecl:String Sí Sí Sí Sí XMLNode La tabla siguiente muestra las versiones de Flash Lite que admiten la clase XMLNode y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 appendChild(newChild:XMLNode) : Void Sí Sí Sí Sí attributes:Object Sí Sí Sí Sí childNodes:Array [sólo lectura] Sí Sí Sí Sí cloneNode(deep:Boolean) : XMLNode Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 177 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 firstChild:XMLNode [sólo lectura] Sí Sí Sí Sí getNamespaceForPrefix(prefix:String) Sí : String No No No getPrefixForNamespace(nsURI:String) Sí : String No No No hasChildNodes() : Boolean Sí Sí Sí Sí insertBefore(newChild:XMLNode, insertPoint:XMLNode) : Void Sí Sí Sí Sí lastChild:XMLNode [sólo lectura] Sí Sí Sí Sí localName:String [sólo lectura] Sí No No No namespaceURI:String [sólo lectura] Sí No No No nextSibling:XMLNode [sólo lectura] Sí Sí Sí Sí nodeName:String Sí Sí Sí Sí nodeType:Number [sólo lectura] Sí Sí Sí Sí nodeValue:String Sí Sí Sí Sí parentNode:XMLNode [sólo lectura] Sí Sí Sí Sí prefix:String [sólo lectura] Sí No No No previousSibling:XMLNode [sólo lectura] Sí Sí Sí Sí removeNode() : Void Sí Sí Sí Sí toString() : String Sí Sí Sí Sí XMLNode(type:Number, value:String) Sí Sí Sí Sí XMLSocket La tabla siguiente muestra las versiones de Flash Lite que admiten la clase XMLSocket y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 close() : Void Sí Sí Sí Sí connect(url:String, port:Number) : Boolean Sí Sí Sí Sí onClose = function() {} Sí Sí Sí Sí onConnect = function(success:Boolean) {} Sí Sí Sí Sí onData = function(src:String) {} Sí Sí Sí Sí onXML = function(src:XML) {} Sí Sí Sí Sí send(data:Object) : Void Sí Sí Sí Sí XMLSocket() Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 178 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x XMLUI La tabla siguiente muestra las versiones de Flash Lite que admiten la clase XMLUI y sus miembros. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 accept() : Void Sí No No No cancel() : Void Sí No No No get(name:String) : String Sí No No No set(name:String, value:String) : Void Sí No No No Funciones y propiedades globales La tabla siguiente muestra las versiones de Flash Lite que admiten las diferentes funciones y propiedades globales. Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 add No Sí Sí Sí y No Sí Sí Sí Array([numElements:Number], [elementN:Object]) Sí Sí Sí Sí asfunction(function:String, parameter:String) Sí No No No Boolean(expression:Object) Sí Sí Sí Sí break No Sí Sí Sí call(frame:Object) Desfasado Desfasado Desfasado Desfasado case No Sí Sí Sí chr(number:Number) Desfasado Desfasado Desfasado Desfasado clearInterval(intervalID:Number) Sí Sí Sí Sí continue No Sí Sí Sí default No Sí Sí Sí do while No Sí Sí Sí duplicateMovieClip(target:Object, newname:String, depth:Number) Sí Sí Sí Sí else No Sí Sí Sí else if No Sí Sí Sí eq No Sí Sí Sí escape(expression:String) Sí Sí Sí Sí eval(expression:Object) Sí Sí Sí Sí 0 No Sí Sí Sí for No Sí Sí Sí for … in No Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 179 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 fscommand(command:String, parameters:String) Sí Sí Sí Sí fscommand2(command:String, parameters:String) No Sí Sí Sí function No Sí Sí Sí getProperty(my_mc:String, propiedad) Desfasado Sí Sí Sí getTimer() Sí Sí Sí Sí getURL(url:String, [window:String], [method:String]) Sí Sí Sí Sí getVersion() Sí Sí Sí Sí gotoAndPlay([scene:String], frame:Object) Sí Sí Sí Sí gotoAndStop([scene:String], frame:Object) Sí Sí Sí Sí if No Sí Sí Sí ifFrameLoaded([scene:String], frame:Object) Desfasado Desfasado Desfasado Desfasado int(value:Number) Desfasado Desfasado Desfasado Desfasado isFinite(expression:Object) Sí Sí Sí Sí isNaN(expression:Object) Sí Sí Sí Sí length(expression:String, variable:Object) Desfasado Desfasado Desfasado Desfasado loadMovie(url:String, target:Object, [method:String]) Sí Sí Sí Sí loadMovieNum(url:String, level:Number, [method:String]) Sí Sí Sí Sí loadVariables(url:String, target:Object, [method:String]) Sí Sí Sí Sí loadVariablesNum(url:String, level:Number, [method:String]) Sí Sí Sí Sí mbchr(number:Number) Desfasado Desfasado Desfasado Desfasado mblength(string:String) Desfasado Desfasado Desfasado Desfasado mbord(character:String) Desfasado Desfasado Desfasado Desfasado mbsubstring(value:, index:Number, count:Number)String Desfasado Desfasado Desfasado Desfasado MMExecute(command:String) Sí No No No ne No Sí Sí Sí new No Sí Sí Sí newline No Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 180 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 nextFrame() Sí Sí Sí Sí nextScene() Sí Sí Sí Sí no No Sí Sí Sí Number(expression:Object) Sí Sí Sí Sí Object([value:Object]) Sí Sí Sí Sí on(mouseEvent:Object) Sí Sí Sí Sí onClipEvent(movieEvent:Object) Sí Sí Sí Sí ord(character:String) Desfasado Desfasado Desfasado Desfasado parseFloat(string:String) Sí Sí Sí Sí parseInt(expression:String, [radix:Number]) Sí Sí Sí Sí play() Sí Sí Sí Sí prevFrame() Sí Sí Sí Sí prevScene() Sí Sí Sí Sí print(target:Object, boundingBox:String) Sí No No No printAsBitmap(target:Object, boundingBox:String) Sí No No No printAsBitmapNum(level:Number, boundingBox:String) Sí No No No printNum(level:Number, boundingBox:String) Sí No No No random(value:Number) Desfasado Desfasado Desfasado Desfasado removeMovieClip(target:Object) Sí Sí Sí Sí return No Sí Sí Sí set No Sí Sí Sí setInterval(functionReference:Functio Sí n, interval:Number, [param:Object], objectReference:Object, methodName:String) Sí Sí Sí setProperty(target:Object, property:Object, expression:Object) Sí Sí Sí showRedrawRegions(enable:Boolean, Sí [color:Number]) No No No startDrag(target:Object, [lock:Boolean], [left,top,right,bottom:Number]) Sí Sí Sí Sí stop() Sí Sí Sí Sí stopAllSounds() Sí Sí Sí Sí stopDrag() Sí Sí Sí Sí Sí DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 181 Última modificación 1/5/2010 Introducción a ActionScript de Flash Lite 2.x y 3.x Nombre de función ActionScript 2. Flash Lite 2.1 Flash Lite 3.0 Flash Lite 3.1 String(expression:Object) Sí Sí Sí Sí substring(:String, index:Number, count:Number)String Desfasado Desfasado Desfasado Desfasado switch No Sí Sí Sí targetPath(targetObject:Object) Sí Sí Sí Sí tellTarget(target:String, statement(s)) Desfasado Desfasado Desfasado Desfasado toggleHighQuality() Desfasado Desfasado Desfasado Desfasado trace(expression:Object) Sí Sí Sí Sí unescape(string:String) Sí Sí Sí Sí unloadMovie(target:Object) Sí Sí Sí Sí unloadMovieNum(level:Number) Sí Sí Sí Sí updateAfterEvent() Sí No No No Clases no admitidas y admitidas parcialmente: detalles En este capítulo se describen las clases de ActionScript 2.0 no admitidas o admitidas parcialmente en Macromedia Flash Lite 2.0 de Adobe, Flash Lite 2.1 de Adobe y Flash Lite 3.x de Adobe. También se describen las extensiones específicas de ActionScript para Flash Lite 2.x y 3.x. Clase Button Todos los símbolos de botón de un archivo SWF son instancias del objeto Button. Esta clase proporciona métodos, propiedades y controladores de eventos para trabajar con botones. Para más información sobre la clase Button, consulte: • Capítulo 10, “Gestión de eventos”, en Aprendizaje de ActionScript 2.0 en Flash • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de propiedades En la tabla siguiente se muestran las propiedades no admitidas o admitidas parcialmente por la clase Button al utilizar ActionScript para Flash Lite 2.x y 3.x. Propiedad Descripción Se admite menu Objeto que asocia un objeto ContextMenu con un botón. No se admite trackAsMenu Valor booleano que indica si otros botones pueden recibir Se admite de forma eventos de liberación del botón del ratón. Se admite si parcial System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 182 Introducción a ActionScript de Flash Lite 2.x y 3.x Propiedad Descripción Se admite useHandCursor Valor booleano que indica si el puntero aparece cuando el ratón pasa por encima de un botón. No se admite _xmouse Sólo lectura; coordenada x del puntero en relación con una Se admite de forma instancia de botón. Se admite si parcial System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. _ymouse Sólo lectura; coordenada y del puntero en relación con una Se admite de forma instancia de botón. Se admite si parcial System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. Resumen de eventos En la tabla siguiente se enumeran los controladores de eventos admitidos parcialmente por la clase Button al utilizar ActionScript para Flash Lite 2.x y 3.x. Evento Descripción onDragOut Se invoca cuando se hace clic con el botón del ratón sobre el botón y luego se arrastra el puntero hacia el exterior del botón. Limitaciones:se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. onDragOver Se invoca cuando el puntero se arrastra sobre el botón. Limitaciones:se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. onReleaseOutside Se invoca cuando se suelta el botón del ratón mientras el puntero está fuera del botón después de haber hecho clic mientras el puntero estaba dentro del botón. Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. Clase Date La clase Date muestra cómo se representan las fechas y horas en ActionScript y admite operaciones para la manipulación de fechas y horas. La clase Date también puede obtener la fecha y la hora actuales del sistema operativo. Para más información sobre la clase Date, consulte: • Capítulo 4, “Datos y tipos de datos”, en Aprendizaje de ActionScript 2.0 en Flash • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de métodos En la siguiente tabla se enumeran los métodos (funciones) añadidos a la clase Date al utilizar ActionScript para Flash Lite 2.x y 3.x. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 183 Introducción a ActionScript de Flash Lite 2.x y 3.x Método Descripción getLocaleLongDate() Esta función establece un parámetro en una cadena que representa la fecha actual, en formato largo, con formato según la configuración local definida. El parámetro se transfiere por nombre. El valor devuelto es una cadena con varios caracteres y longitud variable. El formato real depende del dispositivo y de la configuración local. getLocaleShortDate() Esta función establece un parámetro en una cadena que representa la fecha actual, en formato corto, con formato según la configuración local definida. El parámetro se transfiere por nombre. El valor devuelto es una cadena con varios caracteres y longitud variable. El formato real depende del dispositivo y de la configuración local. getLocaleTime() Esta función establece un parámetro en una cadena que representa la fecha actual, con formato según la configuración local definida. El parámetro se transfiere por nombre. El valor devuelto es una cadena con varios caracteres y longitud variable. El formato real depende del dispositivo y de la configuración local. Clase Key Esta clase proporciona métodos y propiedades para obtener información sobre el teclado y las teclas que se presionan. Para más información sobre la clase Key, consulte: • Capítulo 14, “Creación de interacciones con ActionScript”, en Aprendizaje de ActionScript 2.0 en Flash • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Ampliaciones de propiedades de Flash Lite La siguiente tabla contiene la propiedad añadida a la clase Key al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Propiedad Descripción Se admite isToggled Devuelve true si está activada la tecla Bloq Mayús o Bloq Num. No se admite Ampliaciones de métodos de Flash Lite La siguiente tabla contiene la ampliación de método añadida a la clase Key al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción getCode() Devuelve el código de tecla virtual de la última tecla presionada. La implementación del método getCode() en Flash Lite 2.x y 3.x devuelve una cadena o un número, dependiendo de lo que ha incluido la plataforma. Los únicos códigos de teclas válidos son los códigos de teclas estándar aceptados por esta clase y los códigos de teclas "especiales" que se muestran como propiedades de la clase ExtendedKey. Esta restricción la aplica el reproductor. Para ver los valores de códigos de teclas válidos, consulte la clase Key en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. En esta referencia se proporcionan tablas de asignación de claves y códigos con letras, números, el teclado numérico, teclas de función, teclas de constantes especiales, así como otras teclas. Clase Mouse La clase Mouse controla el ratón en un archivo SWF; por ejemplo, esta clase permite ocultar o mostrar el puntero del ratón. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 184 Introducción a ActionScript de Flash Lite 2.x y 3.x Para más información sobre la clase Mouse, consulte: • Capítulo 14, “Creación de interacciones con ActionScript”, en Aprendizaje de ActionScript 2.0 en Flash • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de métodos En la tabla siguiente se enumeran los métodos no admitidos o admitidos sólo parcialmente en la clase Mouse al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción Se admite addListener() Registra un objeto para recibir notificaciones de los detectores Se admite de forma onMouseDown, onMouseMove, onMouseUp y onMouseWheel. parcial Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. hide() Oculta el puntero en un archivo SWF. No se admite removeListener() Elimina un objeto registrado previamente con addListener(). Se admite de forma parcial Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. show() Muestra el puntero en un archivo SWF. No se admite Resumen de eventos En la tabla siguiente se enumeran los eventos no admitidos o admitidos sólo parcialmente en la clase Mouse al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Evento Descripción Se admite onMouseDown Se notifica cuando se presiona el ratón. Se admite de forma parcial Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. onMouseMove Se notifica cuando se mueve el ratón. Limitaciones: se admite si Se admite de forma parcial System.capabilities.hasMouse se establece en true. onMouseUp Se notifica cuando se suelta el botón del ratón. Limitaciones: se admite si Se admite de forma parcial System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. onMouseWheel Se notifica cuando el usuario hace girar la rueda del ratón. No se admite Clase MovieClip La clase MovieClip permite utilizar funciones callback del detector para obtener información de estado mientras se cargan (y descargan) los archivos SWF o JPEG en clips de película. Para utilizar las funciones de MovieClip, utilice MovieClipLoader.loadClip() en lugar de loadMovie() o MovieClip.loadMovie() para cargar archivos SWF. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 185 Introducción a ActionScript de Flash Lite 2.x y 3.x Para más información sobre la clase MovieClip, consulte: • Capítulo 11, “Trabajo con clips de película”, en Aprendizaje de ActionScript 2.0 en Flash • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de métodos En la tabla siguiente se enumeran los métodos no admitidos o admitidos sólo parcialmente en la clase MovieClip al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción Se admite attachAudio() Captura y reproduce audio local desde el hardware del micrófono del dispositivo. No se admite getTextSnapshot() Devuelve un objeto TextSnapshot que contiene el texto de los No se admite campos de texto estático en el clip de película especificado. startDrag() Especifica la posibilidad de arrastrar un clip de película y comienza a arrastrarlo. Se admite de forma parcial Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. stopDrag() Se admite de forma Detiene un método MovieClip.startDrag(). Un clip de película que puede arrastrarse mediante startDrag() podrá parcial arrastrarse hasta que se añada un método stopDrag() o hasta que se pueda arrastrar otro clip de película. Sólo es posible arrastrar clips de película de uno en uno. Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. Resumen de propiedades En la tabla siguiente se enumeran las propiedades no admitidas o admitidas sólo parcialmente en la clase MovieClip al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Propiedad Descripción Se admite _droptarget Devuelve la ruta absoluta en notación de sintaxis con barras de la instancia de clip de película en la que se ha colocado dicho clip de película. La propiedad _droptarget siempre devuelve una ruta que comienza con una barra (/). Para comparar la propiedad _droptarget de una instancia con una referencia, utilice la función eval() para convertir el valor devuelto de la sintaxis con barras a una referencia de sintaxis con punto. Se admite de forma parcial Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. menu Asocia el objeto ContextMenu especificado al clip de película. No se admite _quality Establece o recupera la calidad de representación que se utiliza para un archivo SWF. Las fuentes de dispositivo siempre se muestran dentadas y, por consiguiente, no se ven afectadas por la propiedad _quality. Se admite de forma parcial Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 186 Introducción a ActionScript de Flash Lite 2.x y 3.x Propiedad Descripción Se admite trackAsMenu Se admite de forma Valor booleano que indica si otros botones o clips de película parcial pueden recibir eventos de liberación del botón del ratón. La propiedad trackAsMenu permite crear menús. Puede establecer la propiedad trackAsMenu en cualquier botón u objeto del clip de película. Si la propiedad trackAsMenu no existe, el comportamiento predeterminado será false. Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. useHandCursor Valor booleano que determina si debe aparecer el puntero de mano cuando el ratón pasa por encima de un clip de película. No se admite _xmouse Devuelve la coordenada x de la posición del ratón. Se admite de forma parcial Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. _ymouse Devuelve la coordenada y de la posición del ratón. Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. Se admite de forma parcial Resumen de eventos En la tabla siguiente se enumeran los controladores de eventos admitidos sólo parcialmente en la clase MovieClip al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Controlador de eventos Descripción onDragOut Se invoca cuando se presiona el botón del ratón y el puntero se desplaza fuera del objeto. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. onDragOver Se invoca cuando el puntero se arrastra fuera del clip de película y luego se pasa por encima de éste. Debe definir la función que ha de ejecutarse cuando se invoca el controlador de eventos. Puede definir la función en la línea de tiempo o en un archivo de clase que amplíe la clase MovieClip o esté vinculado a un símbolo de la biblioteca. Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. onMouseDown Se invoca cuando se presiona el botón izquierdo del ratón. Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. onMouseMove Se invoca cada vez que se mueve el ratón. Limitaciones: se admite si System.capabilities.hasMouse se establece en true. onMouseUp Se invoca cada vez que se presiona el botón izquierdo del ratón. Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. onReleaseOutside Se invoca cuando se presiona el botón del ratón en un clip de película y se libera mientras el puntero se encuentra fuera del área del clip de película. Limitaciones: se admite si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 187 Introducción a ActionScript de Flash Lite 2.x y 3.x Clase NetConnection La clase NetConnection le permite crear un objeto que se puede utilizar con un objeto NetStream para invocar comandos en un servidor remoto de aplicaciones o para reproducir archivos de Flash Video de flujo (FLV) localmente o desde un servidor. La compatibilidad con esta clase se ha añadido en Flash Lite 3.0. Para más información sobre la clase NetConnection, consulte: • “Uso de imágenes, sonido y vídeo”, en Aprendizaje de ActionScript 2.0 en Adobe Flash. • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Clase NetStream La clase NetStream le permite crear un flujo que se puede utilizar con un objeto NetConnection para reproducir archivos FLV desde un sistema de archivos local, una dirección HTTP o un Flash Media Server. La compatibilidad con esta clase se ha añadido en Flash Lite 3.0. Para más información sobre la clase NetStream, consulte: • “Uso de imágenes, sonido y vídeo”, en Aprendizaje de ActionScript 2.0 en Adobe Flash. • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de propiedades En la tabla siguiente se muestra la propiedad no admitida por la clase NetStream al utilizar ActionScript para Flash Lite 3.0 y versiones posteriores. Propiedad Descripción checkPolicyFile Especifica si el reproductor debe intentar descargar un archivo de política de varios dominios desde el servidor de archivos FLV cargado antes de empezar a cargar el propio archivo FLV. Clase Selection La clase Selection permite establecer y controlar el campo de texto en el que se encuentra el punto de inserción (es decir, el campo seleccionado). Se ha añadido compatibilidad parcial con la clase Selection para admitir la introducción de texto en línea en Flash Lite 2.1. En Flash Lite, el objeto Selection es válido sólo si el dispositivo admite la introducción de texto en línea. Si un dispositivo no admite la introducción de texto en línea y se necesita un procesador principal (FEP) para introducir texto, se hará caso omiso de todas las llamadas al objeto Selection. Para obtener más información acerca de la clase Selection, consulte el capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de métodos En la tabla siguiente se muestran los métodos no admitidos por la clase Selection al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 188 Introducción a ActionScript de Flash Lite 2.x y 3.x Método Descripción getBeginIndex() Devuelve el Índice al comienzo del espacio de selección resaltado actualmente. getCaretIndex() Devuelve el índice de la posición del punto de inserción intermitente (intercalación). getEndIndex Devuelve el índice al final del espacio de selección resaltado actualmente. Clase SharedObject Objeto compartido de Flash Lite, tal como se implementaba en la clase SharedObject de ActionScript, que permite al contenido de Flash Lite guardar datos en el dispositivo cuando se cierra la aplicación y cargar los datos desde el dispositivo cuando se vuelve a reproducir la aplicación. Para más información sobre la clase SharedObject, consulte: • Capítulo 14, “Creación de interacciones con ActionScript”, en Aprendizaje de ActionScript 2.0 en Flash • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de métodos En la tabla siguiente se enumeran los métodos admitidos sólo parcialmente en la clase SharedObject al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción flush() Graba inmediatamente un objeto compartido persistente localmente en un archivo local. Limitaciones: la operación de escritura es asíncrona y el resultado no se obtiene de forma inmediata. getLocal() Devuelve una referencia a un objeto compartido persistente localmente que sólo está disponible para el cliente actual. Limitaciones: en Flash Lite, un objeto compartido no se puede compartir entre dos archivos SWF. Ampliaciones de métodos de Flash Lite En la siguiente tabla se enumeran los métodos añadidos como ampliaciones de la clase SharedObject al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción GetMaxSize() Flash Lite devuelve el máximo tamaño asignado para el almacenamiento persistente de un archivo SWF. Clase System La clase System contiene propiedades relativas a determinadas operaciones que se desarrollan en el equipo del usuario, como las realizadas con objetos compartidos, para la configuración local de cámaras y micrófonos, y cuando se utiliza el Portapapeles. El paquete System incluye las siguientes propiedades y métodos en clases específicas: la clase capabilities, la clase security y la clase IME. Para más información sobre la clase System, consulte: • Desarrollo de aplicaciones de Flash Lite 2.x y 3.x Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 189 Introducción a ActionScript de Flash Lite 2.x y 3.x • Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x • Capítulo 7, “Clases”, en Aprendizaje de ActionScript 2.0 en Flash Resumen de métodos En la tabla siguiente se enumeran los métodos no admitidos en la clase System al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción Se admite setClipboard() Reemplaza el contenido del portapapeles por una cadena de texto especificada. No se admite showSettings() Muestra el panel Configuración especificado de Flash Player. No se admite Resumen de propiedades En la tabla siguiente se enumeran las propiedades no admitidas por la clase System al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Propiedad Descripción Se admite exactSettings Especifica si se utilizan reglas de coincidencia de superdominio No se admite o de dominio exacto al acceder a la configuración local. Resumen de eventos En la tabla siguiente se enumeran los controladores de eventos admitidos sólo parcialmente en la clase System para utilizar con ActionScript para Flash Lite 2.x y versiones posteriores. Controlador de eventos Descripción Se admite onStatus Ofrece un supercontrolador de eventos para determinados objetos. Se admite la propiedad SharedObject. No se admiten las propiedades LocalConnection y NetStream. Se admite de forma parcial Clase capabilities (System.capabilities) La clase System.capabilities determina la capacidad del sistema y del reproductor que alojan un archivo SWF, lo que permite adaptar el contenido a los diferentes formatos. Por ejemplo, la pantalla de un teléfono móvil (en blanco y negro, 100 píxeles cuadrados) es diferente a una pantalla de un PC en color de 1000 píxeles cuadrados. Con el fin de ofrecer el contenido adecuado al mayor número posible de usuarios, puede utilizar el objeto System.capabilities para determinar el tipo de dispositivo de que dispone un usuario. Luego podrá indicar al servidor que envíe archivos SWF diferentes en función de las capacidades del dispositivo o indicar al archivo SWF que modifique su presentación según las capacidades del dispositivo. Resumen de propiedades En la tabla siguiente se enumeran las propiedades no admitidas en la clase System.capabilities al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 190 Introducción a ActionScript de Flash Lite 2.x y 3.x Propiedad Descripción hasIME Indica si hay un editor de método de entrada (IME) instalado en el sistema. manufacturer Cadena que indica el fabricante de Flash Player, en formato "Adobe NombreSO" (NombreSO puede ser "Windows", "Macintosh", "Linux" u "Nombre de otro SO"). pixelAspectRatio Indica la proporción de píxeles de la pantalla. playerType Indica el tipo de reproductor: independiente, externo, plug-in o ActiveX. screenColor Indica si la pantalla es en color, escala de grises o blanco y negro. screenDPI Indica la resolución de la pantalla en píxeles (por ejemplo, ppp). serverString Cadena con codificación URL que especifica valores para cada propiedad System.capabilities. Ampliaciones de propiedades de Flash Lite En la tabla siguiente se enumeran las propiedades que amplían la clase System.capabilites para utilizar con ActionScript para Flash Lite 2.x y versiones posteriores. Propiedad Descripción hasCompoundSound Valor booleano de sólo lectura que devuelve true si el reproductor puede reproducir datos de sonido compuestos; de lo contrario, devuelve false. hasEmail Valor booleano de sólo lectura que devuelve true si el reproductor puede enviar mensajes de correo electrónico con el comando GetURL de ActionScript; de lo contrario, devuelve false. hasMMS Valor booleano de sólo lectura que devuelve true si el reproductor puede enviar mensajes MMS (servicio de mensajería multimedia) con el comando GetURL de ActionScript; de lo contrario, devuelve false. hasSMS Valor de sólo lectura cuya variable _capSMS indica si Flash Lite puede enviar mensajes SMS (servicio de mensajes cortos) con el comando GetURL de ActionScript. Si Flash Lite puede enviar mensajes SMS, esta variable está definida y tiene el valor 1. De lo contrario, la variable no está definida. hasMFI Valor booleano de sólo lectura que devuelve true si el reproductor puede reproducir datos de sonido en formato MFi ((Melody Format for i-mode; Formato de melodía para i-mode), de lo contrario, devuelve false. hasMIDI Valor booleano de sólo lectura que devuelve true si el reproductor puede reproducir datos de sonido en formato MIDI; de lo contrario, devuelve false. hasSMAF Valor booleano de sólo lectura que devuelve true si el reproductor puede reproducir datos de sonido en formato SMAF (Synthetic music Mobile Application Format, Formato de aplicaciones móviles para música con sintetizador); de lo contrario, devuelve false. hasDataLoading Valor booleano de sólo lectura que devuelve true si el reproductor puede cargar dinámicamente datos adicionales mediante llamadas a loadMovie(), loadMovieNum(), loadVariables(), loadVariablesNum(), XML.parseXML(), Sound.loadSound(), MovieClip.loadVariables(), MovieClip.loadMovie(), MovieClipLoader.loadClip(), LoadVars.load() y LoadVars.sendAndLoad(); de lo contrario, devuelve false. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 191 Introducción a ActionScript de Flash Lite 2.x y 3.x Propiedad Descripción has4WayKeyAS Valor booleano de sólo lectura que devuelve true si el reproductor puede ejecutar código ActionScript asociado a controladores keyEvent asociados a su vez a las teclas derecha, izquierda, arriba y abajo; de lo contrario, devuelve false. Si el valor de esta variable es true, al presionar una de las teclas de cuatro direcciones, el reproductor primero busca un controlador para dicha tecla. Si no encuentra ninguno, Flash controla el desplazamiento. Sin embargo, si se encuentra un controlador de eventos, no se produce la navegación correspondiente a esa tecla. En otras palabras, la presencia de un controlador de pulsación de teclas para una tecla hacia abajo desactiva la posibilidad de desplazarse hacia abajo. hasMouse Valor booleano de sólo lectura que devuelve true si el reproductor puede enviar eventos relacionados con el ratón y que devuelve false si la plataforma no admite el uso de ratón. hasMappableSoftKeys Permite al usuario establecer los valores de las teclas programables y gestionar eventos desde esas teclas. hasStylus Valor booleano de sólo lectura que devuelve true si el reproductor puede enviar eventos relacionados con el bolígrafo y que devuelve false si la plataforma no admite el uso de bolígrafo. El evento onMouseMove no es compatible con un bolígrafo. Este indicador permite que el contenido verifique si se admite el evento. hasCMIDI Valor booleano de sólo lectura que devuelve true si la plataforma admite sonido CMIDI y que devuelve false si la plataforma no es compatible con sonido CMIDI. hasXMLSocket (Añadido en Flash Lite 2.1) Indica si la aplicación host admite sockets XML. softKeyCount Número que especifica el número de teclas programables admitidas por la plataforma. hasSharedObjects Valor booleano de sólo lectura que devuelve true si el contenido de Flash que se reproduce en la aplicación puede acceder a los objetos compartidos de Flash Lite; de lo contrario, devuelve false. hasQWERTYKeyboard Valor booleano de sólo lectura que devuelve true si el código ActionScript se puede asociar a todas las teclas de un teclado occidental estándar (QWERTY) y a la barra espaciadora; de lo contrario, devuelve false. audioMIMETypes Propiedad de sólo lectura que contiene un conjunto de tipos MIME admitidos por los códecs de audio del dispositivo y que puede utilizarse con el objeto Sound de ActionScript. imageMIMETypes Propiedad de sólo lectura que contiene un conjunto de tipos MIME admitidos por los códecs de imagen del dispositivo y que puede utilizarse con la función loadMovie de ActionScript. videoMIMETypes Propiedad de sólo lectura que contiene un conjunto de tipos MIME admitidos por los códecs de vídeo del dispositivo y que puede utilizarse con el objeto Video de ActionScript. MIMETypes Propiedad de sólo lectura que contiene un conjunto con todos los tipos MIME que admiten los objetos Sound y Video y que puede utilizar la función loadMovie() de ActionScript. Clase Sound ActionScript para Flash Lite 2.x y versiones posteriores admite sonido de dispositivo mediante la clase Sound y los valores de System.capabilities. La clase Sound es totalmente compatible con sonidos nativos admitidos en Flash Player 7, pero sólo se admite de forma parcial en los sonidos de dispositivo. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 192 Introducción a ActionScript de Flash Lite 2.x y 3.x Flash Lite 2.x ha añadido compatibilidad para poder sincronizar la reproducción de sonido de dispositivo con la representación de animaciones. Nota: Flash Lite 2.x y versiones posteriores no admiten la grabación de sonido. Resumen de métodos En la tabla siguiente se muestran los métodos admitidos parcialmente por la clase Sound al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción Se admite getPan() Devuelve el nivel de desplazamiento horizontal establecido en Se admite de forma la última llamada a setPan() como un entero entre -100 parcial (izquierda) y +100 (derecha). (0 establece de la misma forma los canales izquierdo y derecho.) La configuración de desplazamiento horizontal controla el balance izquierdaderecha del sonido actual y los sonidos futuros del archivo SWF. Limitaciones:se admite para su uso con sonido nativo de Flash; no se admite para su uso con sonido de dispositivo. getTransform() Devuelve la información de transformación de sonido para el Se admite de forma objeto Sound especificado configurado con la última llamada a parcial Sound.setTransform(). Limitaciones: se admite para su uso con sonido nativo de Flash; no se admite para su uso con sonido de dispositivo. loadSound() Carga un archivo MP3 en un objeto Sound. Puede utilizar el Se admite de forma parámetro isStreaming para indicar si el sonido es un evento parcial o un sonido de flujo. Los sonidos de eventos se cargan completamente antes de reproducirse. Se administran mediante la clase Sound de ActionScript y responden a todos los métodos y propiedades de esta clase. Limitaciones: el parámetro de la secuencia de datos transmitida se omite al utilizarlo con Flash Lite 2.x y versiones posteriores. setPan() Determina cómo se reproduce el sonido en los canales Se admite de forma (altavoces) izquierdo y derecho. En el caso de sonidos mono, parcial pan determina a través de qué altavoz (izquierdo o derecho) se reproduce el sonido. Limitaciones: se admite para su uso con sonido nativo de Flash; no se admite para su uso con sonido de dispositivo. setTransform() Establece la información de transformación (o balance) de sonido para un objeto Sound. Se admite de forma parcial El parámetro soundTransformObject es un objeto que se crea utilizando el método constructor de la clase Object genérica con parámetros que especifican cómo se distribuye el sonido entre los canales (altavoces) izquierdo y derecho. Limitaciones:se admite para su uso con sonido nativo de Flash; no se admite para su uso con sonido de dispositivo. setVolume() Establece el volumen para el objeto Sound. Limitaciones:se admite para su uso con sonido nativo de Flash; no se admite para su uso con sonido de dispositivo. Se admite de forma parcial Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 193 Introducción a ActionScript de Flash Lite 2.x y 3.x Resumen de propiedades En la tabla siguiente se enumeran las propiedades de la clase Sound admitidas sólo parcialmente al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Propiedad Descripción duration Duración de un sonido, en milisegundos. Limitaciones:se admite para su uso con sonido nativo de Flash; no se admite para su uso con sonido de dispositivo. position Número de milisegundos que se ha estado reproduciendo un sonido. Limitaciones:se admite para su uso con sonido nativo de Flash; no se admite para su uso con sonido de dispositivo. Ampliaciones de métodos de Flash Lite En la siguiente tabla se enumeran los nuevos métodos de la clase Sound que son específicos de ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción getPan() Devuelve el valor de la llamada anterior a setPan(). Este método no es compatible con sonido de dispositivo. getTransform() Devuelve el valor de la llamada anterior a setTransform(). Este método no es compatible con sonido de dispositivo. loadSound() Carga los datos de sonido en cualquier formato en Flash Player. Este método no coincide con la implementación de Flash Player 7, ya que los datos de sonido cargados con este método siempre se tratan como sonido de evento. Por lo tanto, el segundo parámetro de este método se omite siempre. En el ejemplo siguiente, el valor true se omite. my_sound.loadSound("mysnd.mp3", true); Clase Stage La clase Stage es una clase de nivel superior a cuyos métodos, propiedades y controladores puede acceder sin emplear un constructor. Utilice los métodos y propiedades de esta clase para acceder a la información de límites de un archivo SWF y manipularla. Para obtener más información, consulte Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Ampliaciones de propiedades de Flash Lite En la siguiente tabla se enumeran las nuevas propiedades de la clase Stage que son específicas de ActionScript para Flash Lite 2.x y versiones posteriores. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 194 Introducción a ActionScript de Flash Lite 2.x y 3.x Propiedad Descripción showMenu Muestra u oculta los elementos predeterminados del menú contextual de Flash Player. getTransform() Devuelve el valor de la llamada anterior a setTransform(). Este método no es compatible con sonido de dispositivo. loadSound() Carga los datos de sonido en cualquier formato en Flash Player. Este método no coincide con el de la versión de Flash Player 7, ya que los datos de sonido cargados siempre se tratan como sonido de evento, por lo que el segundo parámetro de este método siempre se omite. Por ejemplo, en la siguiente llamada, el valor true se omite: my_sound.loadSound("mysnd.mp3", true); Clase TextField Los campos de texto son elementos visuales en el escenario que permiten mostrar texto al usuario. De forma similar al control de formularios de las áreas o campos de introducción de texto en HTML, Flash permite definir los campos de texto como editables (sólo lectura), permite aplicar formato HTML y garantiza la compatibilidad multilínea. Puede utilizar la clase TextField para crear campos de texto. Todos los campos dinámicos y de entrada de texto de un archivo SWF son instancias de la clase TextField. Puede asignar a un campo de texto un nombre de instancia en el inspector de propiedades y utilizar los métodos y propiedades de la clase TextField para manipularlo con ActionScript. Los nombres de instancias de TextField se muestran en el explorador de películas y en el cuadro de diálogo Insertar ruta de destino del panel Acciones. Para crear un campo de texto dinámicamente, no utilice el operador NEW; en su lugar, utilice MovieClip.createTextField(). Los métodos de la clase TextField permiten establecer, seleccionar y manipular texto de un campo de texto dinámico o de entrada que se cree durante la edición o la ejecución. Todas las propiedades de la clase TextField se admiten en Flash Lite 2.x y versiones posteriores, pero sólo se pueden utilizar los campos de texto para mostrar fuentes de dispositivo. Las fuentes de dispositivo son fuentes especiales en Flash que no están incorporadas en un archivo SWF. Flash Lite utiliza las fuentes disponibles en el dispositivo móvil que más se parezcan a la fuente de dispositivo necesaria. Dado que los contornos de fuente no están incorporados, el tamaño del archivo SWF es menor que cuando se utilizan contornos de fuente incorporados. No obstante, como las fuentes de dispositivo no están incorporadas, el aspecto del texto que se cree puede ser diferente al esperado en los sistemas informáticos que no tengan instalada una fuente que corresponda a la fuente de dispositivo. Flash incluye tres fuentes de dispositivo: _sans (similar a la Helvetica y Arial), _serif (similar a la Times Roman) y _typewriter (similar a la Courier). Para más información sobre la clase TextField, consulte: • Capítulo 12, “Uso de texto y cadenas”, en Aprendizaje de ActionScript 2.0 en Flash • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de propiedades En la tabla siguiente se muestran las propiedades de la clase TextField no admitidas al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 195 Introducción a ActionScript de Flash Lite 2.x y 3.x Propiedad Descripción antialiasType Indica el tipo de suavizado que se utiliza en esta instancia de TextField. menu Asocia un objeto ContextMenu a un campo de texto. mouseWheelEnabled Valor booleano que indica si Flash Player debe desplazar automáticamente los campos de texto de varias líneas cuando se hace clic con el puntero del ratón en un campo de texto y se hace girar la rueda del ratón. restrict Indica el conjunto de caracteres que los usuarios pueden introducir en el campo de texto. sharpness La nitidez de los bordes de glifo en esta instancia de TextField. styleSheet Asocia una hoja de estilos al campo de texto. grosor Indica el grosor de los bordes de glifo en esta instancia de TextField. Resumen de métodos En la tabla siguiente se muestran los métodos de la clase TextField no admitidos al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción getFontList Devuelve los nombres de las fuentes del sistema del reproductor en un conjunto. Clase TextFormat La clase TextFormat representa la información relativa al formato de los caracteres. Utilice la clase TextFormat para crear formato de texto específico para los campos de texto. Puede aplicar formato de texto tanto a campos de texto estáticos como dinámicos. Algunas propiedades de la clase TextFormat no están disponibles para fuentes incorporadas y de dispositivo. La clase TextFormat permite aplicar formato a un campo de texto o a determinados caracteres dentro de un campo de texto. Algunos ejemplos de las opciones de formato de texto que se pueden aplicar son alineación, sangrado, negrita, color, tamaño de fuente, anchura de márgenes, cursiva y espaciado. Puede aplicar formato de texto tanto a campos de texto estáticos como dinámicos. Algunas propiedades de la clase TextFormat no están disponibles para fuentes incorporadas y de dispositivo. Debe utilizar el constructor TextFormat() para crear un objeto TextFormat antes de llamar a sus métodos. Nota: Flash Lite 2.x y versiones posteriores admiten de forma parcial la función de aplicación de formato disponible en la clase TextFormat. Las funciones de aplicación de formato no están disponibles si se utilizan fuentes de dispositivo. Flash Lite 2.x y versiones posteriores admiten de forma parcial la clase TextFormat. Por ejemplo, TextFormat.font, TextFormat.bold y TextFormat.tabstop no se admiten si se utilizan fuentes de dispositivo. Para más información sobre la clase TextFormat, consulte: • Capítulo 12, “Uso de texto y cadenas”, en Aprendizaje de ActionScript 2.0 en Flash • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de propiedades En la siguiente tabla se enumeran las propiedades que se admiten de forma parcial al utilizar ActionScript 2.0 para crear contenido de Flash. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 196 Propiedad Descripción bold Valor booleano que especifica si el texto está en negrita. Introducción a ActionScript de Flash Lite 2.x y 3.x Limitaciones: Sólo se utiliza con formato de nivel de párrafo; no se puede aplicar negrita a caracteres por separado. bullet Valor booleano que indica que el texto forma parte de una lista con viñetas. Limitaciones: se utiliza sólo con fuentes incorporadas. color Indica el color del texto. Limitaciones: sólo se utiliza con formato de nivel de párrafo; no se puede aplicar color a caracteres por separado. fuente Nombre de la fuente del texto con este formato, expresado como una cadena. Limitaciones: En Flash Lite, esta propiedad funciona sólo en fuentes incorporadas. esta propiedad no admite fuentes para árabe, hebreo y tailandés. italic Valor booleano que indica si el texto con este formato de texto está en cursiva. Limitaciones: sólo se utiliza con formato de nivel de párrafo; no se puede aplicar cursiva a caracteres por separado. size Tamaño en puntos del texto con este formato de texto. Limitaciones: sólo se utiliza con formato de nivel de párrafo; no se pueden aplicar tamaños de fuente distintos a caracteres por separado. tabStops Especifica las tabulaciones personalizadas como un conjunto de enteros no negativos. Limitaciones: se utiliza sólo con fuentes incorporadas. underline Un valor booleano que indica si el texto que utiliza este formato de texto está subrayado (true) o no (false). Limitaciones: sólo se utiliza para aplicar formato de nivel de párrafo. Clase Video Flash Lite 2.x permite trabajar con formatos de vídeo específicos del dispositivo y admite los tipos siguientes de reproducción de vídeo: • Vídeo incorporado en un archivo SWF. • Vídeo disponible como archivo independiente en el dispositivo. • Vídeo transferido por la red (en tiempo real). Flash Lite 2.x admite vídeo de dispositivo. El vídeo de dispositivo se almacena en el archivo SWF publicado en el formato de vídeo nativo del dispositivo. Para reproducir el vídeo de dispositivo, Flash Lite transfiere los datos de vídeo al dispositivo que, posteriormente, los decodifica y reproduce el vídeo. Nota: el código ActionScript de Flash Lite 2.x no admite las clases NetConnection y NetStream. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 197 Introducción a ActionScript de Flash Lite 2.x y 3.x Flash Lite 3.0 añade compatibilidad con Flash Video (FLV) utilizando versiones de los códecs On2 y Sorenson optimizados para dispositivos móviles. El vídeo FLV se representa directamente en el reproductor Flash Lite en lugar del dispositivo, por lo que ya no tendrá que preocuparse por si los dispositivos de destino admiten o no un formato de vídeo en particular. Las clases ActionScript NetConnection y NetStream, que no estaban disponibles anteriormente en Flash Lite, le permiten controlar la reproducción de vídeo FLV desde una unidad local o desde una dirección HTTP. Estas clases se describen en el capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. El flujo de datos de vídeo a través de una conexión RTMP con Flash Media Server también se admite en Flash Lite 3.0 (no así las conexiones RTMPT y RTMPS). La clase Camera y la grabación de vídeo no se admiten para Flash Video en Flash Lite. Flash Lite 3.0 también incluye una nueva propiedad en la clase Video, attachVideo, que especifica que se muestre un flujo de vídeo dentro de los límites del objeto Video en el escenario. Se utilizan los métodos de la clase NetStream en lugar de los de la clase Video para controlar la reproducción del vídeo FLV (no de dispositivo). Por ejemplo, para detener temporalmente el vídeo de dispositivo, se utiliza el método Video.pause, mientras que para detener temporalmente el vídeo FLV, se utiliza NetStream.pause. Para más información sobre la clase Video, consulte: • Capítulo 15, “Uso de imágenes, sonido y vídeo”, en Aprendizaje de ActionScript 2.0 en Flash • Capítulo 2, “Clases de ActionScript”, en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Resumen de métodos En la tabla siguiente se enumeran los métodos no admitidos en la clase Video al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Método Descripción Se admite clear Borra la imagen actualmente mostrada en el objeto Video. No se admite Esto resulta útil, por ejemplo, cuando se desea mostrar información de espera sin tener que ocultar el objeto Video. Resumen de propiedades En la tabla siguiente se muestran las propiedades de la clase Video no admitidas al utilizar ActionScript para Flash Lite 2.x y versiones posteriores. Propiedad Descripción deblocking Indica el tipo de filtro de desbloqueo aplicado al vídeo decodificado como parte del proceso posterior. Hay dos filtros de desbloqueo disponibles: uno en códec Sorenson y uno en códec On2 VP6. height Entero que especifica la altura del flujo de vídeo en píxeles. smoothing Especifica si el vídeo debe suavizarse (interpolarse) al aplicarle una escala. Para que funcione el suavizado, el reproductor debe estar en modo de alta calidad. width Entero que especifica la anchura del flujo de vídeo en píxeles. Ampliaciones de métodos de Flash Lite La clase Video de Flash Lite 2.x y versiones posteriores incorpora los nuevos métodos siguientes. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 198 Introducción a ActionScript de Flash Lite 2.x y 3.x Método Descripción play() Abre un vídeo de origen y comienza su reproducción. close() Detiene la reproducción del vídeo, libera la memoria asociada al objeto Video y borra del área de vídeo de la pantalla. stop() Detiene la reproducción del vídeo y sigue representando el fotograma actual en la pantalla. Las siguientes llamadas a Video.resume() reanudan la reproducción desde el primer fotograma del vídeo. pause() Detiene la reproducción del vídeo y sigue representando el fotograma actual en la pantalla. Las siguientes llamadas a Video.resume() reanudan la reproducción desde la posición actual. resume() Reanuda la reproducción del vídeo. La clase Video de Flash Lite 3.0.x ha añadido el siguiente método nuevo. Método Descripción attachVideo() Especifica un flujo de vídeo (origen) para que se muestre dentro de los límites del objeto Video del escenario. Elementos de ActionScript no admitidos y admitidos sólo de forma parcial: detalles En esta sección se describen las funciones y las propiedades globales, las constantes, los operadores, las sentencias, las extensiones y las palabras clave que, o bien no están admitidas o bien están admitidas parcialmente por ActionScript para el software Macromedia Flash Lite 2.x de Adobe o Adobe Flash Lite 3.x. Comandos enviados mediante fsCommand y fsCommand2 Las funciones globales fsCommand() y fsCommand2() permiten que el archivo SWF se comunique con Flash Player o con el programa que aloja Flash Player, por ejemplo, un navegador web. Flash Lite 2.x y versiones posteriores modifica los comandos estándar de Macromedia Flash Player 7 y añade comandos específicos para los dispositivos incorporados. Flash Lite 2.x y versiones posteriores también admite la función fsCommand2(), que proporciona una funcionalidad similar a la de la función fsCommand(), con la salvedad de que el comando se ejecuta inmediatamente, y no después de esperar a que se procese el fotograma de la llamada. Para obtener más información sobre la función fsCommand2(), consulte Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.x. Comandos no admitidos En la siguiente tabla se enumeran los comandos no admitidos por fsCommand() al utilizar ActionScript 2.0 para crear contenido de Flash Lite. Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 199 Introducción a ActionScript de Flash Lite 2.x y 3.x Comando Descripción quit Cierra el proyector. fullscreen Si se especifica true, Flash Player se establece en modo de pantalla completa. Si se especifica false, el reproductor vuelve a la vista de menú normal. allowscale Si se especifica false, el reproductor se establece para que el archivo SWF se dibuje siempre con su tamaño original y nunca se cambie su escala. Si se especifica true, se obliga al archivo SWF a cambiar su escala al 100% de la pantalla. showmenu Si se especifica true, se activa el conjunto completo de elementos de menú contextual. Si se especifica false, se ocultan todos los elementos de menú contextual excepto Configuración y Acerca de Flash Player. exec Ejecuta una aplicación desde el proyector. trapallkeys Si se especifica true, se envían todos los eventos clave, incluidas las teclas de aceleración, al controlador onClipEvent(keyDown/keyUp) en Flash Player. Resumen de comandos En la siguiente tabla se enumeran los comandos, funciones y palabras clave de ActionScript admitidos de forma parcial o no admitidos en Flash Lite 2.x y versiones posteriores. Comando, función o palabra Descripción clave Se admite asfunction Protocolo para URL en campos de texto HTML. No se admite fscommand() Función que permite que el archivo SWF se comunique con Se admite de forma Flash Player o con el programa que aloja Flash Player, por parcial ejemplo, un navegador web. on Prefijo para eventos que se ejecutan al producirse el evento. Se admite de forma parcial Limitación: Los eventos admitidos son rollout, rollover y keyPress. onClipEvent Controlador de eventos; activa acciones definidas para una Se admite de forma parcial determinada instancia de un clip de película. Limitación: los eventos admitidos son press, load, unload, enterFrame, keyDown, keyup y data. Los eventos mouseDown, mouseUp y mouseMove se admiten si System.capabilities.hasMouse o System.capabilities.hasStylus se establecen en true. onUpdate El controlador de eventos onUpdate se define para una previsualización dinámica con un componente. No se admite print() La función print() tiene como destino el clip de película según los límites especificados por el parámetro. No se admite printAsBitmap() Función que imprime el clip de película de destino como mapa de bits. No se admite printAsBitmaNum() Función que imprime un nivel en Flash Player como un mapa de bits según los límites especificados en el parámetro (bmovie, bmax o bframe). No se admite Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 200 Introducción a ActionScript de Flash Lite 2.x y 3.x Comando, función o palabra Descripción clave Se admite printNum() Función que imprime el nivel en Flash Player según los límites especificados en el parámetro boundingBox (bmovie, bmax o bframe). No se admite startDrag() Función que permite arrastrar el clip de película de destino mientras se reproduce el archivo SWF. Sólo un clip de película puede arrastrarse al mismo tiempo. Se admite de forma parcial Limitación: Compatible si se admite el uso de interfaz de ratón o de lápiz stylus. Función que detiene la operación actual de arrastre. stopDrag() Limitación: Compatible si se admite el uso de interfaz de ratón o de lápiz stylus. updateAfterEvent() Se admite de forma parcial No se admite Función que actualiza la visualización (independientemente de los fotogramas por segundo establecidos para el archivo SWF) cuando se llama en un controlador onClipEvent() o como parte de una función o método que se pasa a setInterval(). Propiedades globales En la siguiente tabla se enumeran las propiedades globales de ActionScript no admitidas o admitidas sólo de forma parcial en Flash Lite 2.x y versiones posteriores. Propiedades Descripción Se admite _droptarget Propiedad de sólo lectura que devuelve una ruta absoluta en notación de sintaxis con barras (/) de la instancia de clip de película en la que se soltó draggableInstanceName (nombre de una instancia de clip de película que era destino de una función startDrag()). Esta propiedad siempre devuelve una ruta que comienza con una barra (/). No se admite _highquality Propiedad global que especifica el nivel de suavizado que se aplica al Se admite de forma archivo SWF actual. Esta propiedad también puede controlar el parcial suavizado de los mapas de bits. Limitación: Flash Lite no admite el suavizado de mapas de bits. _url Propiedad de sólo lectura que recupera la URL del archivo SWF desde No se admite el que se descargó el clip de película. Última modificación 1/5/2010 Capítulo 11: Mensajes de error y de advertencia En este apéndice se incluye una lista de posibles mensajes informativos y de advertencia que podrán generar tanto el dispositivo como el emulador de Adobe Device Central mientras se prueba la aplicación Adobe Flash Lite. Códigos de error de dispositivo El emulador de Adobe Device Central puede generar alertas mientras se prueba el contenido. Uno de los tipos de alerta sólo aparece en el emulador y su función es proporcionar información sobre los problemas reales o potenciales; el otro tipo tiene lugar en el emulador y en el dispositivo real. El primer tipo de alerta proporciona información de depuración sobre su archivo SWF. Por ejemplo, si su archivo SWF contiene código ActionScript de Adobe que Flash Lite (o la versión de Flash Lite disponible en el dispositivo de prueba seleccionado) no admite, el emulador genera una alerta. 201 Última modificación 1/5/2010 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 202 Mensajes de error y de advertencia El otro tipo de mensaje que puede producirse en el emulador también ocurre en un dispositivo real. Estos tipos de errores aparecen en un cuadro de diálogo de error que el usuario debe cerrar para que la aplicación continúe. La imagen siguiente muestra un ejemplo de cuadro de diálogo de error, tal y como aparece en el emulador: DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 203 Última modificación 1/5/2010 Mensajes de error y de advertencia En un dispositivo, el cuadro de diálogo que aparece contiene la cadena “Problema con el contenido” seguida por un número de error. En el emulador, el cuadro de diálogo de error contiene también una breve descripción del error. El emulador también muestra una descripción más detallada en el panel Salida. La tabla siguiente contiene todos los errores que pueden producirse en el reproductor de Flash Lite, con los números de error, la descripción breve que aparece en el cuadro de diálogo de error y las descripciones detalladas que aparecen en el panel Salida. Número de error Cadena de error Descripción y posibles causas 1 Memoria insuficiente El emulador se ha quedado sin memoria de pila. A menos que se haya especificado lo contrario, el emulador asigna 1 MB de memoria para utilizarla en un archivo SWF. 2 Se alcanzó el límite de la pila El emulador ha detectado que se ha alcanzado o superado el límite de pila. Esta situación podría producirse por distintas causas, como el uso de varios niveles de clips de película anidados o complejos dibujos vectoriales. 3 SWF dañado. El emulador ha detectado que los datos del archivo SWF están dañados. 4 ActionScript detenido El emulador ha detectado que una parte del código ActionScript del archivo SWF tarda demasiado en ejecutarse. Por este motivo ha detenido la ejecución del código ActionScript. 5 N/D N/D 6 Datos de imagen incorrectos El archivo SWF contiene una imagen que Flash Lite o el decodificador de imagen nativo de la plataforma no pueden decodificar. 7 Datos de sonido incorrectos El archivo SWF intentó cargar un sonido con formato no admitido o los datos de sonido están dañados. 8 Película raíz descargada Este error se produce cuando el archivo raíz (nivel 0) se reemplaza por otro archivo SWF. 9 N/D N/D 10 Cadena getURL demasiado larga La cadena URL de la llamada getURL es demasiado larga. 11 No hay memoria suficiente para descomprimir la imagen. Flash Lite no tiene memoria suficiente para decodificar una imagen del archivo SWF. 12 Datos SVG incorrectos Flash Lite intentó cargar datos SVG que están dañados. 13 Memoria insuficiente para la secuencia en carga Flash Lite no tiene memoria suficiente para gestionar la secuencia de datos transmitida desde una URL. Por ejemplo, este error puede producirse si intenta cargar un archivo XML desde una red y éste es demasiado grande para que Flash Lite pueda gestionarlo de una sola vez. Siempre que sea posible, intente dividir el archivo en varios archivos más pequeños y, después, cargar cada archivo por separado. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 204 Última modificación 1/5/2010 Mensajes de error y de advertencia Mensajes de error y de información del emulador de Adobe Device Central Los mensajes aparecen en una ventana emergente de salida en el emulador y Adobe Flash también los muestra en el panel Salida. La tabla siguiente incluye una lista de todos los mensajes informativos que muestra el emulador de Adobe Device Central: Código de error Mensaje Descripción FTPA002 Se ha omitido FSCommand. El emulador ha detectado una llamada a la función fscommand(), que el dispositivo de prueba seleccionado no admite. No se han realizado modificaciones en el archivo SWF de dispositivo; es sólo una advertencia. FTPA003 Se ha omitido loadVariables. El emulador ha detectado una llamada a loadVariables(), que el dispositivo de prueba seleccionado y el tipo de contenido no admiten. No se han realizado modificaciones en el archivo SWF de dispositivo; es sólo una advertencia. FTPA004 Se ha omitido loadMovie. El emulador ha detectado una llamada a loadMovie(), que el dispositivo de prueba seleccionado y el tipo de contenido no admiten. No se han realizado modificaciones en el archivo SWF de dispositivo; es sólo una advertencia. FTPA005 Se ha omitido GetURL para URL porque había más de una solicitud por presión de tecla. FTPA006 Se ha omitido GetURL para URL porque no El dispositivo de prueba seleccionado y el tipo estaba asociada a ninguna presión de de contenido sólo procesan llamadas a getURL() que se producen cuando un usuario tecla. presiona una tecla en su dispositivo. El emulador ha detectado que su aplicación ha realizado una llamada a getURL() que no estaba asociada a ninguna pulsación de tecla. FTPA007 getProperty o setProperty no es compatible con: propiedad de clip de película. Flash Lite no admite la propiedad de clip de película especificada. FTPA008 getProperty o setProperty no es totalmente compatible con: propiedad de clip de película. Flash Lite no admite totalmente la propiedad de clip de película especificada. Para obtener más información, consulte la entrada de la propiedad especificada en la Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.0. FTPA009 startDrag y stopDrag no son compatibles. El emulador ha detectado una llamada a la función startDrag() o stopDrag(), que Flash Lite no admite. FTPA014 Se ha omitido getURL. Flash Lite sólo admite una llamada a la función getURL() por pulsación de tecla; el emulador ha detectado que había más de una función getURL(), por lo que sólo se ha procesado el primer comando; los demás se han ignorado. El emulador ha detectado una llamada a getURL(), que el dispositivo de prueba seleccionado y el tipo de contenido no admiten. No se han realizado modificaciones en el archivo SWF de dispositivo; es sólo una advertencia. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 205 Última modificación 1/5/2010 Mensajes de error y de advertencia Código de error Mensaje Descripción FTPA015 Se omitió la llamada a loadMovie para URL Flash Lite sólo admite una llamada a la función loadMovie() por pulsación de tecla; el porque había más de una solicitud por emulador ha detectado que había más de una pulsación de tecla. función loadMovie(), por lo que sólo se ha procesado el primer comando; los demás se han ignorado. FTPA016 Se omitió la llamada a loadMovie para URL El dispositivo de prueba seleccionado y el tipo porque no estaba asociada a ninguna de contenido sólo procesan llamadas a loadMovie() que se producen cuando un pulsación de tecla. usuario presiona una tecla en su dispositivo. El emulador ha detectado que su aplicación ha realizado una llamada a loadMovie() que no estaba asociada a ninguna pulsación de tecla. FTPA017 Se omitió la llamada a loadVariables para Su aplicación ha realizado varias llamadas a la URL porque había más de una solicitud por función loadVariables() durante un solo evento de pulsación de tecla. Flash Lite presión de tecla. permite solamente un comando loadVariables() por pulsación de tecla, por lo que sólo se procesa el primer comando; los demás se ignoran. FTPA018 Se omitió la llamada a loadVariables para URL porque no estaba asociada a ninguna pulsación de tecla. El dispositivo de prueba seleccionado y el tipo de contenido sólo procesan llamadas a loadVariables() que se producen cuando un usuario presiona una tecla en su dispositivo. El emulador ha detectado que su aplicación ha realizado una llamada a loadVariables() que no estaba asociada a ninguna pulsación de tecla. FTPA019 Se omitió la llamada a FSCommand con argumentos argumentos-comando porque había más de una solicitud por pulsación de tecla. Flash Lite sólo admite una llamada a la función fscommand() por pulsación de tecla; el emulador ha detectado que había más de una función fscommand(), por lo que sólo se ha procesado el primer comando; los demás se han ignorado. FTPA020 Se omitió la llamada a FSCommand con argumentos argumentos-comando porque no estaba asociada a ninguna pulsación de tecla. El dispositivo de prueba seleccionado y el tipo de contenido sólo procesan llamadas a fscommand() que se producen cuando un usuario pulsa una tecla en su dispositivo. El emulador ha detectado que su aplicación ha realizado una llamada a fscommand() que no estaba asociada a ninguna pulsación de tecla. FTPE001 No se procesará la tecla: nombretecla Valor El emulador ha detectado que se ha ASCII: valor. presionado una tecla de dispositivo que no admite Flash Lite; se ha ignorado la pulsación de tecla. FTPE013 Los campos de texto de entrada no son compatibles con el tipo de contenido seleccionado en este dispositivo. El dispositivo de prueba y el tipo de contenido actuales no admiten campos de introducción de texto. FTPS010 Secuencia de datos de sonido no compatible. El dispositivo de prueba seleccionado y el tipo de contenido no admiten secuencias de datos de sonido. FTPS011 Sólo puede reproducirse un único sonido cada vez (sin mezclas). El emulador ha detectado que el archivo SWF contiene varios sonidos que se reproducen de forma simultánea. Flash Lite no admite la reproducción simultánea. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 206 Última modificación 1/5/2010 Mensajes de error y de advertencia Código de error Mensaje Descripción FTPS012 Se omitió el sonido de evento porque no estaba asociado a ninguna presión de tecla. En Flash Lite 1.0, sólo se puede reproducir un sonido como respuesta a la pulsación de una tecla en el dispositivo del usuario. (Esta restricción no se aplica a Flash Lite 2.0 y versiones posteriores). FTPS021 Sonido no compatible con el tipo de contenido seleccionado en este dispositivo. El dispositivo de prueba seleccionado y el tipo de contenido no admiten sonido. FTPS022 Sonidos ADPCM no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado que el archivo SWF contiene un sonido nativo (no de dispositivo) comprimido con ADPCM, que el tipo de contenido seleccionado en este dispositivo no admite. No se han realizado modificaciones en el archivo SWF de dispositivo; es sólo una advertencia. FTPS023 Sonidos MP3 no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado que el archivo SWF contiene un sonido nativo (no de dispositivo) comprimido en formato mp3, que no es compatible con el tipo de contenido seleccionado en este dispositivo. No se han realizado modificaciones en el archivo SWF de dispositivo; es sólo una advertencia. FTPS024 Sonidos MIDI no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de dispositivo MIDI, que el tipo de contenido seleccionado en este dispositivo no admite. FTPS025 Sonidos PCM no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de Flash nativo comprimido con PCM, que el tipo de contenido seleccionado en este dispositivo no admite. FTPS026 El reproductor de películas de prueba El emulador de Adobe Device Central no especificado no admite la función Depurar admite el comando de menú Control > película. Depurar película. FTPS027 Se encontró paquete de sonido. El emulador ha detectado que el archivo SWF contiene un archivo de paquete de sonido. FTPS028 Se encontró un comando FSCommand2 nombre-comando no válido. El comando fscommand2() especificado no es una cadena de comando válida. Para obtener una lista de comandos fscommand2(), consulte la entrada fscommand2 function en Referencia del lenguaje ActionScript de Flash Lite 2.x y 3.0. FTPS029 Se encontró un comando FSCommand2 nombre-comando no válido. El emulador ha detectado el comando fscommand2() especificado. FTPS030 El emulador no admite el comando El emulador no admite el comando FSCommand2 nombre-comando; pruébelo fscommand2() especificado. Debe probar en el dispositivo. este archivo SWF en un dispositivo con Flash Lite instalado para ver si el comando especificado funciona de la forma prevista. FTPS031 Se encontró más de una instancia de llamadas de petición de URL y sólo se permite una por presión de tecla o fotograma. Flash Lite sólo admite una llamada a la función getURL() por pulsación de tecla o fotograma; el emulador ha detectado que había más de una función getURL(), por lo que sólo se ha procesado el primer comando; los demás se han ignorado. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 207 Última modificación 1/5/2010 Mensajes de error y de advertencia Código de error Mensaje Descripción FTPS032 Se encontró una llamada a GetURL(URL), podrían ser aplicables algunas limitaciones. El emulador ha detectado una llamada a la función getURL(), que puede tener limitaciones de tiempo de ejecución cuando se reproduce en el dispositivo seleccionado. Pruebe el archivo SWF en un dispositivo real para ver si el comando funciona correctamente. FTPS033 Se encontró una llamada a loadVariables(URL), podrían ser aplicables algunas limitaciones. El emulador ha detectado una llamada a la función loadVariables(), que puede tener limitaciones de tiempo de ejecución cuando se reproduce en el dispositivo seleccionado. Pruebe el archivo SWF en un dispositivo para comprobar que el comando funciona correctamente. FTPS034 Se encontró una llamada a FSCommand(nombre-comando, podrían ser aplicables algunas limitaciones. Se trata sólo de una advertencia de que no todos los dispositivos y tipos de contenido de Flash Lite admiten fscommand() en la aplicación. Pruebe el archivo SWF en un dispositivo para comprobar que el comando funciona correctamente. FTPS035 Se encontró una llamada a loadMovie(URL), podrían ser aplicables algunas limitaciones. El emulador ha detectado una llamada a la función loadMovie(), que puede tener limitaciones de tiempo de ejecución cuando se reproduce en el dispositivo seleccionado. Pruebe el archivo SWF en un dispositivo para comprobar que el comando funciona correctamente. FTPS036 Se encontraron N kilobytes de dispositivosonido en el paquete de sonido. Para cada sonido de un paquete de sonido, el emulador indica el tipo (por ejemplo, MIDI o SMAF) y el tamaño de cada sonido del paquete. FTPS037 Sonidos SMAF no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de dispositivo SMAF, que el tipo de contenido seleccionado en este dispositivo no admite. FTPS038 Se omitió la llamada a StartVibrate porque Flash Lite sólo admite una llamada a había más de una solicitud por fotograma fscommand2("StartVibrate") por pulsación de tecla o fotograma; el emulador ha o evento. detectado que había más de una, por lo que sólo se ha procesado el primer comando; los demás se han ignorado. FTPS039 Se encontró el comando FSCommand2 El emulador no admite el comando SetInputTextType(argumentos-comando), SetInputTextType. Debe probarlo en un que no se admite en el emulador; pruébelo dispositivo real. en el dispositivo. FTPS048 La navegación en cuatro direcciones no es El tipo de contenido y el dispositivo de prueba compatible con este dispositivo. seleccionado admiten navegación en dos direcciones. Ha presionado en el teclado de cinco teclas del emulador las teclas de flecha izquierda o derecha, que no se pueden utilizar en navegación en dos direcciones. Para obtener más información, consulte el apartado “Modos de navegación predeterminada” en la página 37. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 208 Última modificación 1/5/2010 Mensajes de error y de advertencia Código de error Mensaje Descripción FTPS049 La navegación de cuatro direcciones con rotación no es compatible con este dispositivo. El tipo de contenido y el dispositivo de prueba seleccionado admiten navegación en cuatro direcciones. Ha presionado una de las teclas de flecha del dispositivo cuando no había objetos en el escenario para recibir la selección en la dirección de la tecla de flecha presionada. Para obtener más información, consulte el apartado “Modos de navegación predeterminada” en la página 37. FTPS050 Sonidos MFI genéricos no compatibles con El emulador ha detectado un sonido de el tipo de contenido seleccionado en este dispositivo MFi genérico, que el tipo de dispositivo. contenido seleccionado en este dispositivo no admite. FTPS051 Se encontró un evento de ratón (nombreevento) no compatible. El tipo de contenido y el dispositivo de prueba seleccionado no admiten el evento de ratón especificado. FTPS067 Sonidos SMAF(MA-2) no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de dispositivo SMAF (MA-2), que el tipo de contenido seleccionado en este dispositivo no admite. FTPS068 Sonidos SMAF(MA-3) no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de dispositivo SMAF (MA-3), que el tipo de contenido seleccionado en este dispositivo no admite. FTPS069 Sonidos SMAF(MA-5) no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de dispositivo SMAF (MA-5), que el tipo de contenido seleccionado en este dispositivo no admite. FTPS070 Sonidos MFI con extensión Fujitsu no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de un dispositivo MFi con una extensión Fujitsu, que el tipo de contenido seleccionado en este dispositivo no admite. FTPS071 Sonidos MFI con extensión Mitsubishi no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de dispositivo MFi con una extensión Mitsubishi, que el tipo de contenido seleccionado en este dispositivo no admite. FTPS072 Sonidos MFI con extensión NEC no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de dispositivo MFi con una extensión NEC, que el tipo de contenido seleccionado en este dispositivo no admite. FTPS073 Sonidos MFI con extensión Panasonic no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de un dispositivo MFi con una extensión Panasonic, que el tipo de contenido seleccionado en este dispositivo no admite. FTPS074 Sonidos MFI con extensión Sharp no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de un dispositivo MFi con una extensión Sharp, que el tipo de contenido seleccionado en este dispositivo no admite. FTPS075 Sonidos MFI con extensión Sony no compatibles con el tipo de contenido seleccionado en este dispositivo. El emulador ha detectado un sonido de un dispositivo MFi con una extensión Sony, que el tipo de contenido seleccionado en este dispositivo no admite. DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 209 Última modificación 1/5/2010 Mensajes de error y de advertencia Código de error Mensaje Descripción FTPS099 Los comandos Imprimir no son compatibles. Su aplicación contiene uno de los comandos de impresión de ActionScript (por ejemplo, print() o printAsBitmap()), que Flash Lite no admite. FTPS100 Se ha seleccionado el sonido de dispositivo en el paquete de sonido. Indica el nombre del sonido de dispositivo de un paquete de sonido que el emulador va a reproducir. FTPS101 Ninguno de los formatos del paquete de sonidos es compatible con este dispositivo. Indica que el tipo de contenido seleccionado en este dispositivo no admite ninguno de los sonidos de dispositivo de un paquete. FTPS102 Error en la reproducción de sonido SMAF. El emulador no ha podido reproducir el sonido SMAF. FTPS105 Este archivo SWF no tiene el formato Flash Su aplicación ha intentado cargar un archivo Lite. SWF cuya versión no estaba en formato de Flash Lite, Flash Lite solamente puede cargar otros archivos SWF de Flash Lite o archivos SWF con el formato Flash 4. FTPS106 Se omitió el evento de ratón (nombreEl emulador ha detectado un evento de ratón evento) porque no se activó mediante una sobre un botón en su aplicación Flash Lite. El presión de tecla. dispositivo de prueba actual no dispone de interfaz de pantalla táctil o con lápiz stylus, por lo que para interactuar con los botones de la pantalla sólo puede utilizar el teclado del emulador o los métodos abreviados de teclado equivalentes. FTPS107 No se procesará la tecla: tecla-dispositivo. Utilice FSCommand2 SetSoftKeys para activar esta tecla. Ha presionado una de las teclas programables en el teclado del emulador sin llamar primero al comando SetSoftKeys. Para obtener más información, consulte el apartado “Uso de las teclas programables” en la página 50. FTPS108 Se encontró FSCommand (nombrecomando) no válido. El comando fscommand() especificado no es una cadena de comando válida. FTPS109 El emulador no admite FSCommand (nombre-comando); pruébelo en el dispositivo. El emulador no admite el comando fscommand() especificado. Pruebe este archivo SWF en un dispositivo con Flash Lite instalado para ver si el comando especificado funciona de la forma prevista. FTPS110 El reproductor de Flash Lite 1.0 no admite las teclas programables. El emulador ha detectado que ha presionado una de sus teclas programables, pero el valor de publicación de la versión del archivo SWF del documento se ha definido como Flash Lite 1.0. Flash Lite 1.0 no admite teclas programables. 210 Última modificación 1/5/2010 Índice Símbolos (BREW) admitidas versiones de SDK 97 (BREW) admitidos dispositivos 97 $$$ 103 A ActionScript control de Flash Video con 79 control de vídeo de dispositivo con 93 en dispositivos móviles 126 Adobe After Effects optimización del contenido de Adobe After Effects para dispositivos móviles 131 Adobe Device Central, emulador definición 1, 116 Adobe Dreamweaver optimización de contenido de Dreamweaver para dispositivos móviles 133 Adobe Flash optimización del contenido de Flash para dispositivos móviles 122 Adobe Illustrator optimización de contenido de Illustrator para dispositivos móviles 131 Adobe Photoshop optimización de contenido de Photoshop para dispositivos móviles 130 Adobe Premiere Pro optimización del contenido de Adobe Premier Pro para dispositivos móviles 131 ADS, definición 94 asistente (BREW) dinámicos 25 pantalla de iconos del applet 108 restringir caracteres en campos de introducción de texto 59 pantalla de identificación de applet 107 animaciones en dispositivos móviles 123 aplicaciones (BREW) destino para desarrollo 100 especificar como tipo de contenido 108 archivos BAR, definidos 105 archivos de vídeo para dispositivos móviles 131 representar calidad 63 pantalla de inclusión de información de applet 107 campos de texto dinámicos 25 pantalla de resumen de las selecciones 109 carga de datos en dispositivos móviles 129 capas de máscara 23 cargar archivos en dispositivos BREW B BDS, definición 94 Binary Runtime Environment for Wireless (Binary Runtime Environment for Wireless, consulte BREW) BREW BREW 2.x 113 BREW 3.x 114 flujo de trabajo 112 clases exclusión de la compilación 129 cargar archivos en dispositivos 111 comandos FS ActionScript (BREW) 96 tipos de archivo 102 compresión BREW 2.x cargar archivos en dispositivos 113 estructura de archivos de dispositivo 105 BREW 3.x cargar archivos en dispositivos 114 estructura de archivos de dispositivo 105 BREW SDK instalar 98 versiones admitidas 97 BREW Simulator versus el emulador de Adobe Device Central 100 Button, clase controladores de eventos no admitidos o admitidos sólo de forma parcial 182 métodos no admitidos o admitidos sólo de forma parcial 182 propiedades no admitidas o admitidas sólo de forma parcial 181 After Effects. Véase Adobe After Effects animación interpolada 23 crear texto desplazable 65 pantalla de definición de configuración de salida 108 C Café Townsend, aplicación para dispositivos móviles 125 Configuración de publicación (BREW) lista de post-procesadores 107 contenido web, navegabilidad 8 contornos de fuente, incorporar en archivos SWF 64 controladores (USB), instalar 99 controladores USB, instalar (BREW) 99 crear navegación crear un botón de captura de teclas 25 usar teclas programables 25 D datos persistentes (BREW) 96 datos persistentes (que no son BREW) 14 datos, persistentes (BREW) 96 destino, dispositivos para desarrollo (BREW) 100 determinar formatos de archivo de audio admitidos 74 dispositivos (BREW) admitidos 97 crear la animación de especialidades 23 destino para desarrollo 100 crear navegación 25 estructura de archivos para BREW 2.x 105 campos de introducción de texto aplicación de ejemplo 60 restringir caracteres en 59 campos de texto campos de introducción de texto, usar 55 configurar propiedades 25 estructura de archivos para BREW 3.x 105 dispositivos BREW, pruebas de aplicaciones en 115 dispositivos de destino 17 dispositivos de prueba 17 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 211 Última modificación 1/5/2010 dispositivos móviles optimización de contenido de After Effects para 131 Índice Flash Lite Publisher para BREW definido 94 K Key, clase Flash Media Server 12 métodos nuevos 183 optimización de contenido de Dreamweaver para 133 Flash Player 4 y Flash Player 7 propiedades nuevas 183 optimización de contenido de Flash para 122 Flash Video optimización de contenido de Illustrator para 131 optimización de contenido de Photoshop para 130 optimización de contenido de Premiere Pro para 131 DLL, archivos convenciones de nomenclatura 103 definidos 102 Dreamweaver. Véase Adobe Dreamweaver E edición del contenido, flujo de trabajo 16 emulador de Adobe Device Central opciones de depuración 117 diferencias 134 control con ActionScript 79 incorporado 79 información 78 Flash Video incorporado 79 Flash. Véase Adobe Flash flujo (BREW) sonido 96 vídeo 96 fondo de pantalla (BREW) 97 fotogramas en dispositivos móviles 126 fsCommand() y fsCommand2() 198 comandos admitidos sólo parcialmente 199 comandos no admitidos 198 funciones no admitidas 116 G gestión de contenido 10 interacción con 118 getURL() (BREW) mensajes de error y de advertencia 201 emulador o simulador (BREW) 100 escenario, tamaño de pantalla disponible 120 escenario, tamaño disponible 15 estructura de archivos de dispositivo BREW 2.x 105 BREW 3.x 105 eventos de botón 43 eventos de pulsación de tecla códigos de teclas ActionScript 36 crear un detector de teclas 49 crear un guión controlador de tecla 36 gestión con ActionScript 43 teclas admitidas 35 extensión, instalar en dispositivos (BREW) 112 F Flash Lite Emulador de Adobe Device Central 15 limitaciones vídeo de dispositivo 81 limitaciones (BREW) getURL() 100 loadVars() 100 XMLSend() 100 M medios compartidos (BREW) 106 medios, compartidos (BREW) 106 memoria gestión en dispositivos móviles 128 menús, crear con botones 46 versus BREW Simulator 100 emulador de Flash Lite L Laboratorios nacionales de pruebas de software (National Software Testing Laboratories, consulte NSTL) información 97 limitaciones 100 gráficos vectoriales en dispositivos móviles 124 H Hello World, aplicación 15 herramienta AppLoader, sugerencias 113 I Illustrator. Véase Adobe Illustrator imágenes de mapa de bits compresión para dispositivos móviles 125 métodos de representación de fuentes, aplicar a campos de texto 62 MIF, archivos convenciones de nomenclatura 103 definidos 102 MMS 97 MOD, archivos convenciones de nomenclatura 103 definidos 102 modos de aplicación en Flash Lite 118 Mouse, clase eventos no admitidos o admitidos sólo de forma parcial 184 métodos no admitidos o admitidos sólo de forma parcial 184 MovieClip, clase en dispositivos móviles 124 controladores de eventos admitidos sólo parcialmente 186 incorporar contornos de fuente, información 64 métodos no admitidos o admitidos sólo de forma parcial 185 interactividad crear, con botones 43 N navegabilidad, contenido web 8 detectar pulsaciones de tecla 49 navegación con tabulación crear un menú con botones 46 gestión de eventos de pulsación de tecla 43 cuatro direcciones con rotación 38 información general sobre edición 16 tipos de contenido 17 navegación con tabulación 37 información 37 Flash Lite 2.1 para BREW definido 94 directrices 40 modos 37 rectángulo de selección 39 uso de aplicación de ejemplo 46 DESARROLLO DE APLICACIONES DE FLASH LITE 2.X Y 3.X 212 Última modificación 1/5/2010 Índice navegación Consulte navegación con tabulación Selection, clase 187 NetConnection Servidor de descarga de aplicaciones (Application Download Server, consulte ADS) usar con Flash Video 78 NetStream usar con Flash Video 78 NSTL, definición 94 métodos no admitidos 187 SharedObject, clase métodos admitidos de forma parcial 188 métodos nuevos 188 P pantalla de identificación de applet (asistente) 107 pantalla de resumen de las selecciones (asistente) 109 SIG, archivos teclas programables 25 TextField, clase métodos no admitidos 194, 195 TextFormat, clase propiedades admitidas de forma parcial 195 texto en dispositivos móviles 124 texto desplazable 65 convenciones de nomenclatura 103 texto en línea (BREW) 96 definidos 102 texto, en línea (BREW) 96 obtener 105 tipos de archivo simulador o emulador (BREW) 100 BREW 102 descargar 101, 110 Sistema de envío BREW (BREW Delivery System, consulte BDS) convenciones de nomenclatura 103 genérico frente a específico 101 SMS 97 genérico o específico 110 sonido paquete de dispositivos (BREW) paquete de herramientas "BREW Tools Suite", instalar 98 dispositivo 67 paquete de herramientas (BREW), instalar 98 externo 73 Photoshop. Véase Adobe Photoshop propiedades globales admitidas de forma parcial 200 protectores de pantalla (BREW) destino para desarrollo 100 especificar como tipo de contenido 108 pruebas (BREW) en dispositivos BREW 115 simulador versus emulador 100 Pruebas de BREW auténticas (True BREW Testing, consulte TBT) R registro de desarrolladores BREW 98 representar calidad, calidad predeterminada 63 requisitos (BREW) hardware 95 software 95 requisitos de hardware (BREW) 95 requisitos de software (BREW) 95 S SDK (BREW) instalar 98 versiones admitidas 97 seguridad entornos limitados 9 nuevo modelo de seguridad de Flash 3.0 9 empaquetado 67 nativo 74 sonido (BREW) iconos 108 tipos de contenido 17 tipos de contenido (BREW) aplicaciones 100 protectores de pantalla 100 tipos de contenido en Flash Lite, descripción 118 tonos de llamada animados (BREW) 97 decodificar 96 flujo (BREW) 96 _forceframerate, propiedad 73 V ventana de inclusión de información de applet (asistente) 107 sincronización con animación 73 vídeo sonido de dispositivo 74 sonido nativo información 74 remuestreo a 8 kHz 75 Sound, clase dispositivo 81 Flash (FLV) 78 flujo (BREW) 96 vídeo de dispositivo métodos admitidos de forma parcial 192 control con ActionScript 93 métodos nuevos 193 empaquetado 82 propiedades admitidas de forma parcial 193 en el emulador 122 Stage, clase nuevas propiedades 193 sugerencias, para utilizar la herramienta AppLoader 113 System, clase eventos admitidos sólo parcialmente 189 métodos no admitidos 189 System.capabilities, clase propiedades no admitidas 189 propiedades nuevas 190 T tamaño de archivo reducción para dispositivos móviles 129 tamaños, iconos 108 TBT, definición 94 importar 82 información 81 vídeo de dispositivo, limitaciones 81 Video, clase métodos no admitidos 197 métodos nuevos 197 propiedades no admitidas 197 X XML (BREW) gestión de datos 96 sockets 96 XML.Send(), limitaciones (BREW) 100 XMLSocket 12