Vous êtes sur la page 1sur 199

Traducido por Javiusdey de desarrollodejuegos.com.

es y Marta Villaescusa

1. Instalacin
En esta seccin conseguiremos configurar Construct 2 (C2 en adelante) para hacerlo funcionar. Nos centraremos en la descarga y actualizacin de C2, despus en el proceso de instalacin, como usar t licencia si la has comprado, y un recordatorio de los requisitos del sistema.

1.1 Conseguir Construct 2


Descargarlo de la web
Para descargar la ltima versin de C2 puedes visitar: http://www.scirra.com/construct2/releases/new Esta URL siempre te indicar la ltima versin. Te recomendamos siempre mantenerte actualizado y usar la ltima versin de C2. Esto prevendr encontrarse con problemas que ya han sido resueltos. Hay 3 formas de ser notificado acerca de las nuevas versiones:

Notificaciones por email


Si quieres que se te notifique cuando se publique una nueva versin puedes inscribirte en nuestra lista de mailing. Para hacerlo, inicia sesin en tu cuenta y visita tu pgina Yo (Me): http://www.scirra.com/me Marca la casilla Nuevas versiones de C2 (Construct 2 new releases) debajo de tus subscripciones (Your subscriptions). Automticamente te enviaremos un email cuando una nueva versin sea publicada. No te enviaremos ningn otro mail distinto al de las notificaciones de nueva versin si slo has marcado esa casilla, y puedes cancelar la inscripcin en cualquier momento demarcando la misma casilla en tu perfil. Nosotros tambin odiamos el spam!

Alerta de actualizaciones en Construct 2


Si usas C2 en un ordenador conectado a internet, el propio C2 te avisar si hay alguna actualizacin disponible. Normalmente esto es un poco lento puede notificar unos cuantos das despus de la salida de la actualizacin. Puede cambiar tus preferencias en notificacin de actualizaciones en el dilogo de preferencias (Preferences dialog).

Actualizaciones en las redes sociales


Tenemos una pgina de Facebook, una cuenta de Twitter y una pgina de Google+. Si usas alguna de estas redes puedes seguirnos o agregarnos. Publicamos actualizaciones en estas pginas en cuanto salen, al igual que otras noticias que pueden interesarte.

Actualizaciones Beta
Los lanzamientos Beta de C2 no estn muy preparados para el uso continuado, pero son lanzados ms pronto y con ms regularidad que las actualizaciones estables. Si quieres ayudar a probar estos lanzamientos Beta, bajo el riesgo de posibles virus o cuelgues, puedes encontrarlos en la lista de lanzamientos (releases list ) o configurar C2 para que te avise de las actualizaciones Beta en el dilogo de preferencias (Preferences dialog)

1.2 Instalando Construct 2


Una vez descargado C2, la Configuracin (Setup) empezar a instalarlo en tu ordenador. Clica Siguiente (Next>) para seguir los pasos. Tu navegador o Windows puede mostrar una advertencia de seguridad antes de comenzar la Configuracin (Setup). Debes comprobar si el editor est en la lista de Scirra Ltd antes de hacerlo funcionar. Esto ayudar a asegurar que la configuracin es la genuina de Scirra y no algo maligno editado por terceras personas.

Instalacin Porttil
Construct 2 puede usarse como software porttil. En otras palabras, puedes instalarlo en un disco externo (como una memoria USB) y usarlo en cualquier ordenador. Si quieres hacer esto, coloca la carpeta de instalacin (Install) en tu disco externo.

Versiones de 32-bit y 64-bit


Hay dos versiones de C2, una de 32-bit (para ordenadores antiguos) y otra de 64-bit (para ordenadores nuevos). Si no ests seguro de cual instalar puedes dejar que la configuracin lo detecte (auto-detect). Aunque, si lo has instalado en un disco externo, puedes querer instalar la de 32-bit, ya que esta versin funcionar en ordenadores de cualquier tipo, no como la de 64-bit.

Cuentas de usuario limitadas


C2 todava puede ser instalado en cuentas de usuario limitadas sin acceso administrativo. Esto es comn en lugares de trabajo, escuelas, universidades, bibliotecas y otros lugares de acceso pblico. Podrs descargarlo e instalarlo con una cuenta limitada mientras no haya otras restricciones en el lugar. En este caso la configuracin (Setup) no podr acceder a al directorio de archivos de programa. En cambio, se instalar en una carpeta en tu cuenta de usuario. Otros usuarios quizs tengan que instalar el software manualmente. Algunos sistemas incluso desinstalarn el software cuando cierres sesin y tendrs que volver a instalarlo cada vez que inicies sesin. Si la configuracin (Setup) falla debido a otras limitaciones (por ejemplo, no poder descargar EXEs de internet) prueba con una instalacin porttil. Instala C2 en un disco externo en un ordenador donde puedas hacer funcionar la configuracin (Setup) y prueba a hacerla funcionar en el ordenador con limitaciones desde el disco.

Actualizaciones
Si ya tienes C2 instalado e intentas instalar una actualizacin, la configuracin (setup) te ofrecer eliminar la ltima copia instalada de C2. Siempre debes eliminar la versin vieja a menos que hayas instalado el programa dos veces (por ejemplo, en el ordenador y en el disco externo, en cual caso la desinstalacin podra eliminar la instalacin porttil).

Desinstalacin
C2 puede ser desinstalado a travs de Aadir/Quitar programas (Windows XP) o Programas y caractersticas (Windows Vista y nuevas versiones) en el Panel de Control

Instalaciones masivas
Si ests instalando C2 en muchos ordenadores, recuerda que la instalacin es porttil. Esto significa que no hay dependencia fuera de la Carpeta Archivos de Programa de C2. Puedes instalarlo en varios ordenadores instalndolo en uno y copiando la carpeta de instalacin (y cualquier acceso directo que quieras) en otros ordenadores. Puedes usar tambin los siguientes modificadores de lnea de comando (command-line switches) para hacer funcionar la configuracin de forma automtica: construct2-setup.exe /SP- /SILENT /SUPPRESSMSGBOXES Por defecto, tambin se aadir un icono en el Men de inicio.

1.3 Usar una licencia


Ver tambin: Tutorial de cmo funcionan las licencias de C2 How Construct 2 Licenses Work

Versin Gratuita de Construct 2


C2 puede ser descargado e instalado en cualquier ordenador de forma gratuita, incluyendo aquellos de uso pblico y no comercial. Sin una licencia funciona como una versin gratuita. Esta tiene las siguientes limitaciones: Un mximo de 100 eventos (events) en un proyecto (project) Un mximo de 4 capas (layers) en un plano (layout) Un mximo de 2 efectos (effects) en un proyecto (project) No hay organizacin en la carpeta de la barra del proyecto (Project bar) No hay bsqueda de acontecimientos (events) No hay Familias (families) No hay vista previa de LAN Preview on LAN No est permitido su uso con propsitos comerciales (aunque s puede ser usado con fines educativos y otras organizaciones sin nimo de lucro) Comprando la licencia eliminas todos estos lmites. Las licencias pueden comprarse en Scirra.com. Ambas licencias, la Standard y la Business quitan todas las restricciones anteriores.

La licencia personal (Personal license)


Todos los lmites de la versin gratuita se eliminan con la Licencia Personal. De todas formas, las reglas de usos comerciales son distintas para personas individuales y organizaciones. Las personas individuales pueden usar una licencia Standard para usos comerciales hasta un lmite de 5000$. Si las ganancias asociadas a creaciones hechas con C2 superan los 5000$ (incluyendo publicidad/promocin asociada) se debe comprar una licencia Business, aunque no es necesario comprarla hasta entonces. Organizaciones sin nimo de lucro, como escuelas, bibliotecas y universidades pueden usar Licencias personales para eliminar las restricciones de la versin gratuita. Hay disponibles descuentos para compras al por mayor. Las Organizaciones Comerciales no pueden usar licencias Standard: deben comprar la Business.

La licencia Business (Business license)


La mayora de las personas individuales no necesitan esta licencia. Slo es necesario para: Personas individuales que ya han ganado 5000$ por creaciones hechas con C2 y Organizaciones comerciales y de negocios.

Las organizaciones sin nimo de lucro nunca necesitan una licencia Business, slo la Standard.

El archivo de la Licencia (License file): c2license.txt


Una vez has hecho la compra, te enviaran una clave (redeem key) por email. Esta es un cdigo especial con el que poder entrar a la tienda de Scirra y conseguir la licencia. Si quieres comprar una licencia para alguien ms, puedes darle la clave y esa persona podr conseguir otra licencia de la tienda con su propio nombre y direccin de email. Esto tambin funciona si quieres comprar licencias para un nmero indeterminado de personas, por ejemplo tus empleados o compaeros: puedes recibir cierto nmero de claves, que puedes dar de forma individual. Una vez has usado tu clave en la tienda de Scirra, puedes descargar tu licencia de C2, que es un archivo llamado c2license.txt. Solamente necesitas copiar esta carpeta en el directorio de instalacin (install directory) o en mis documentos. Reinicia C2 y funcionar como la versin licenciada: el nombre del comprador debe aparecer en la pgina de inicio y en el dilogo Sobre (About), la versin gratuita debe desaparecer de la barra del ttulo, y los lmites deben desaparecer. As mismo, puedes colocar tu archivo de licencia donde quieras y localizarlo clicando cargar el archivo de licencia (Load license file) en el dilogo sobre (About). A menos que la licencia sea comprada por una organizacin, la licencia es para la persona y no para el ordenador. Esto quiere decir que puedes usar tu copia licenciada de C2 en todos los ordenadores que quieras, por lo que debes ser el nico que lo utiliza. Otras personas deben comprar su propia licencia. Recuerda que C2 puede ser usado como software porttil (ver Instalando C2). Puedes poner tu archivo de licencia en un disco externo e instalar tu copia licenciada en cualquier ordenador.

No debes modificar el archivo de licencia. Est protegido por un resumen criptogrfico hash y cualquier modificacin podra causar que C2 rechace la licencia y vuelva a la versin gratuita. No debes compartir tu archivo de licencia! Gurdala al igual que haces con el nmero de serie para otros programas. Adems el archivo de licencia contiene informacin personal, as que es aconsejable mantenerlo en privado.

1.4 Requisitos del Sistema


C2 actualmente solo funciona en Windows. Por favor, ve a FAQ para otros sistemas. A pesar de que slo funciona en Windows, el programa realiza juegos en HTML5 que pueden funcionar en una gran variedad de ordenadores y dispositivos. Ve a la seccin de Tecnologa (Technology) para ms informacin.

Requisitos mnimos del sistema


Windows XP Service Pack 3 o superior 512MB RAM Procesador de 1GHz Un navegador compatible con HTML5 (ver abajo) La ltima versin de tu tarjeta grfica (drivers)

Requisitos del sistema recomendados


Windows 7 o superior 2GB RAM Procesador 2GHz dual-core Una tarjeta grfica nVidia o AMD con los ltimos controladores (drivers). Te recomendamos evitar el uso de hardware grfico Intel debido a la psima actuacin, estabilidad y caractersticas.

Los requisitos de sistema ideales


Puedes conseguir buenos resultados sin ellos, pero si puedes tenerlos sera lo mejor. Solid State drive (SSD) para el sistema operativo y el software Versin de 64-bit de Windows 7 o superior 4GB RAM o ms Una pantalla grande o configuracin de monitor dual Una tarjeta grfica nVidia o AMD con los ltimos drivers, al menos 512MB de memoria para video y soporte para OpenGL 2.0+ Una conexin a internet de banda ancha

Navegadores compatibles con HTML5


Para previsualizar tus juegos en HTML5 necesitas un navegador compatible con HTML5. Los navegadores se pueden descargar e instalar gratuitamente. HTML5 es una nueva tecnologa, as

que es importante mantener tu navegador actualizado a la ltima versin. Los navegadores compatibles son: Internet Explorer 9+ (slo para Windows Vista o superior Windows XP deben usar otro) Mozilla Firefox Google Chrome Opera Scirra recomienda Google Chrome o Mozilla Firefox.

2. Resumen
En esta seccin ofrecemos un resumen de C2, incluyendo la pgina de inicio (start page), interfaz (interface), estructura del proyecto, los dos formatos de guardado, exportacin y publicacin, la tecnologa de tus juegos y algunas buenas prcticas y consejos de actuacin al usar C2.

2.1 Pgina de inicio


La primera vez que inicies C2 debes ver la Pgina de Inicio (Start page) que es algo parecido a esto:

Esta te da un punto de partida til siempre que inicies C2. Tiene algunos enlaces tiles como Crear un nuevo proyecto, Nuevos tutoriales en la web, tus proyectos abiertos recientemente, enlace a nuestro Facebook, Twitter y Google+ y dems.

Tutorial para principiantes


Si eres nuevo, quizs quieras echar un vistazo al enlace al Tutorial C2, Gua para principiantes Beginner's Guide to Construct 2 tutorial . Este es una gua paso a paso para ayudarte a crear tu primer juego.

Ejemplos
Si quieres examinar proyectos existentes para ver cmo funciona C2, puedes abrir las demos de Space Blaster y Ghost Shooter. Estos son ejemplos avanzados as que no te agobies por sus matemticas o su complejidad. Slo sirven para ensear lo que C2 puede hacer en las manos de un usuario avanzado. Hay muchos ejemplos ms simples en el directorio de ejemplos de C2. Clica Mostrar todos los ejemplos (Browse all examples) para verlos. Hay ms de 40 que muestran cmo hacer plataformas simples y demos fsicas. Es altamente recomendable ver todos los ejemplos. Hay varios ejemplos de soluciones a preguntas frecuentes como Cmo configuro los controles comunes? en la carpeta de ejemplos.

Configuracin
Puedes cambiar Mostrar la pgina de inicio cuando enciendas el ordenador Show (Start page on startup) y Cerrar la pgina de inicio cuando cliques en algo (Close the start page when I click on something) en el dilogo de preferencias (Preferences dialog).

2.2 La interfaz
El siguiente grfico resalta las partes importantes de la interfaz de usuario de C2. Tambin se muestra un resumen de cada parte abajo, y ms adelante el manual explica cada seccin con mayor detalle.

1: Men de archivos (File Menu) y barra de herramientas (Ribbon Tabs)

C2 utiliza una barra de herramientas, similar a la Microsoft office 2007 o superior. El botn azul con la flecha para clicar hacia abajo es el men de archivos, y a su derecha hay una barra de herramientas que se despliega con varios botones y opciones. Tambin hay una barra de acceso rpido con los cuatro comandos ms usados: Guardar (Save), Deshacer (Undo), Rehacer (Redo) y Vista previa (Preview). Puedes aadir o quitar botones de esta barra: clicando la flecha hacia abajo pequea que hay a la derecha. Si quieres tener muchos comandos en esa barra puedes optar por mantenerla visible debajo de la barra de herramientas.

2: La vista del Plano


Es un editor visual donde puedes colocar objetos para disear niveles, pantallas de men y dems. Mira The Layout View.

3: Vista de pestaas
Estas pestaas permiten usar diferentes planos y hojas de actividades, para definir la secuencia de actividades en las que se basa el juego. Puedes clicar y arrastrar una pestaa para ver una al lado de otra en la misma pantalla.

4: La barra de propiedades
En esta barra puedes ver una lista de propiedades en las cuales ya has clicado. Puedes ver y cambiar las propiedades de las cosas como planos, objetos, capas y dems. Mira The Properties Bar.

5: La barra del proyecto y la barra de capa


Por defecto, la barra de proyecto y la de capa estn etiquetadas aqu. La barra de proyecto contiene un resumen de todo tu proyecto. La de capa puede usarse para aadir capas a un plano.

6: Pestaas de la Barra de proyecto/Barra de capa


Esta te permite alternar entre la barra de proyecto y la de capa.

7: Barra de objetos
Contiene una lista de objetos de tu juego. Puedes arrastrar y soltar objetos desde aqu para colocarlos en el plano. El men del botn derecho tiene varias opciones para filtrar o mostrar diferentes objetos. Mira The Object Bar.

8: Barra de estado
En la parte de abajo de la ventana se encuentra la Barra de estado. Esta muestra: Qu est haciendo C2 durante una tarea de larga duracin, como exportar o guardar un proyecto. Cuantas actividades hay en el proyecto y su tamao aproximado La capa activa en ese momento, que es la capa donde se colocaran los objetos La posicin del ratn en planos combinados El nivel de zoom actual

9: Botones de la parte de arriba a la derecha

Al igual que los botones minimizar, maximizar y cerrar de Windows existe Fijar Barra (Pin Ribbon) para mantener la barra siempre a la vista, y el botn sobre (About) para abrir el dilogo About con informacin y los crditos de C2.

Personalizacin
Puedes personalizar la interfaz a tu gusto. Algunas de las barras pueden ser arrastradas y soltadas en diferentes posiciones de la ventana. Tambin puedes esconder barras para ahorrar espacio: clica el icono de fijar (pin) de una barra y se convertir en una simple pestaa. Puedes volver a convertirla en barra. Las barras se pueden esconder y mostrar en la pestaa Vista (View) de la barra de herramientas. Puedes crear una pantalla dividida clicando y arrastrando uno de los planos u pestaa de hoja de actividades en la vista principal. Esto es til en monitores grandes.

2.3 Estructura del proyecto


Los proyectos de C2 consisten en los siguientes elementos. Se pueden acceder a ellos va la Barra del proyecto (Project Bar), que contiene un esquema de todos los elementos del proyecto. Los elementos de la barra del proyecto se pueden organizar en subcarpetas (slo la versin con licencia) algo muy importante en medianos y grandes proyectos. Para ms informacin, mira la seccin Proyectos Primitivos (Primitive Projects).

Planos (Layouts)
Niveles, mens, los ttulos de las pantallas y otros planos de objetos predefinidos. En otras herramientas Layout puede referirse a escenas, habitaciones, marcos o etapas. Los planos tambin pueden estar formados por mltiples capas (Layers), que pueden usarse para poner objetos en las capas de fondo y primer plano. Estos se manejan con la barra de capas (Layers bar).

Hoja de eventos (Event Sheets)


Un conjunto de eventos (Events) definen la lgica del juego. En C2, los eventos son la alternativa a programar o a crear la secuencia de comandos. Los planos tienen una hoja de eventos asociada para darle lgica. Las hojas de eventos pueden ser reutilizadas en diferentes planos que puedan incluir una hoja de eventos. La hoja de eventos se edita en la vista de hoja de eventos (Event Sheet View). Para ms informacin sobre eventos, ve a la seccin de Eventos (Events), especialmente a la pgina Como funcionan los eventos (How events work).

Tipos de Objetos (Object Types)


Los tipos de objeto definen la clase a la que pertenece un objeto. Por ejemplo, EnemigoTroll (TrollEnemy) o EnemigoOgro (OgreEnemy) pueden ser distintos tipos de objetos. Se pueden crear distintos ejemplos para un objeto. Es decir, puede haber tres ejemplos para el tipo de objeto EnemigoTroll (TrollEnemy) y 5 ejemplos para el tipo de objeto EnemigoOgro (OgreEnemy)

Es importante aclarar la diferencia entre tipos de objeto y ejemplos: son llamados de forma distinta en el manual. Para ms informacin, ve a las entradas Componentes (Plugins), Tipos de objeto (Object Types) y ejemplos (Instances). Los tipos de objeto pueden agruparse en familias (Families).

Sistema de Objetos (System object)


El sistema de objetos representa la funcionalidad en C2. Es lo nico existente en un proyecto vaco. No puede aadirse de nuevo ni ser quitado de un proyecto. No hay ejemplos para el sistema de objetos: est siempre presente y provee el acceso a los aspectos del motor de C2. Sus condiciones, acciones y expresiones estn documentadas en el sistema de referencia (System reference).

Sonido y Msica
Son archivos de audio usados para efectos sonoros y msica en el juego. Los sonidos deben usarse para efectos de corta duracin que suenan cuando un acontecimiento como una colisin o explosin ocurre. La msica se usa para pistas musicales ms largas. Es importante organizar los archivos de audio porque los sonidos se descargan antes de poder escucharlos, pero la msica es en streaming. Esto significa que si una pista de msica se pone en la carpeta Sonidos, tendr que descargarse completamente (lo que tardar unos minutos) antes de reproducirlo. Adems el audio de la carpeta Msica puede reproducirse inmediatamente porque es en streaming. Ambos, sonidos y msica deben estar disponibles en los formatos Ogg Vorbis (.ogg) y MPEG-4 AAC (.m4a). Esto es porque los navegadores no se ponen de acuerdo en un solo formato para web, as que todos los audios deben estar en los dos formatos! Internet Explorer y Safari usan archivos .m4a y el resto (Firefox, Chrome y Opera) usan archivos .ogg. C2 ayuda a convertir audio a ambos formatos cuando se importan los archivos de audio. Ve al Dilogo de Importar Audio (Import Audio dialog) y Sonido y Msica (Sounds & Music) para ms informacin.

Archivos de Proyecto (Project Files)


Cualquier archivo externo puede ser importado al proyecto. Para ms informacin, ve a Project Files.

Unidades comunes
A veces, en C2 necesitas introducir valores como ngulos, velocidades o tamaos. Para que haya cierta consistencia, C2 siempre usa las mismas unidades, excepto donde se especifique otra cosa en notas o descripciones mostradas en el editor. Las unidades comunes se describen a continuacin. Posiciones (Positions) se miden en pxeles. El origen (0,0) est arriba a la izquierda del plano y el eje Y aumenta hacia abajo (como es habitual en los motores del juego) Tamaos (Sizes) se miden en pxeles ngulos (Angles) se miden en grados. Los 0 grados empiezan a la derecha y se abre en el sentido de agujas del reloj Tiempos (Times) se miden en segundos Velocidades (Speeds) se miden en pxeles por segundo Aceleraciones (Accelerations) se miden en pxeles por segundo

ndices que empiezan en 0


Para ser coherente con el lenguaje de programacin, todas las caractersticas de C2 usan un nmero de cosas de una lista (ndices) que empiezan desde 0 en vez de 1. Esto puede parecer complicado al principio y te costar acostumbrarte, pero en muchos casos esto es mucho ms conveniente que las listas que empiezan en 1. Tradicionalmente las listas son numeradas 1, 2, 3 pero en C2 (y otros lenguajes de programacin) se numeran 0, 1, 2

2.4 Guardar y compartir proyectos


Hay dos tipos de proyecto en los que puedes guardar tu trabajo. Ninguno afecta la funcionalidad del juego, pero tienen ciertas ventajas y desventajas durante la edicin. Debes elegir uno de los tipos cuando crees un proyecto nuevo.

Carpetas de proyectos (Folder projects)


Los proyectos pueden guardarse en una carpeta. Esto almacena diferentes partes del proyecto en diferentes archivos. Por ejemplo, cada plano se guarda en archivos separados en la subcarpeta de Planos (Layouts). Las carpetas de proyectos se guardan y cargan rpidamente. Esto las hace apropiadas para medianos y grandes proyectos. Las carpetas de proyecto son buenas para trabajos en colaboracin con un equipo, porque es fcil para distinta gente trabajar en diferentes archivos de proyecto y ms tarde, fusionarlo. El archivo de proyecto principal tiene la extensin .caproj. Nota que este no contiene el proyecto completo: es solamente una lista de otros archivos usados en el proyecto. Si quieres compartir un proyecto, el archivo .caproj es intil por si solo guarda a un nico archivo de proyecto (.capx) en su lugar.

Archivo de proyecto nico (archivos .capx ) (Single-file projects (.capx files))


Los proyectos guardados en un solo archivo son ms convenientes para proyectos pequeos. Slo hay un archivo para enviar, subir o compartir. Aunque se guardan y cargan ms despacio debido a que C2 tiene que unir y dividir el proyecto de un solo archivo. Tambin es ms difcil para colaboraciones que si estuviese guardado en una carpeta. Los archivos .capx son un simple ZIP de la carpeta de proyecto. Puedes renombrar un archivo .capx con .zip para ver los archivos del proyecto.

Convertir entre tipos


Es fcil convertir un archivo de proyecto nico a una carpeta de proyecto que al contrario en C2. Simplemente abre un proyecto y elige Archivo - Guardar como Proyecto (File - Save As Project...) para guardarlo en un nico archivo de proyecto. Ya que los archivos .capx son ZIPs de la carpeta de proyecto, pueden tambin ser convertidos en una carpeta de proyecto renombrndolo como .zip y extrayendo la carpeta de proyecto que est dentro. De igual manera, una carpeta de archivos puede convertirse en un archivo .capx comprimindolo en un archivo .zip y cambindole la extensin a .capx.

2.5 Pruebas y publicacin


Probando tu juego
Para probar tu juego durante su desarrollo puedes hacer una vista previa clicando play en la barra de acceso rpido o barra de herramientas, presionando F5 o clicando el botn derecho del ratn en un plano en la Barra de Proyecto y seleccionando Vista Previa (Preview). Esto usa un servidor local para mostrarte la vista previa de tu juego. Si tienes mvil, tablet o otros porttiles/ordenadores donde quieres probar el juego, hacer la vista previa usando tu red local (wifi) puede ser fcil. Para ms informacin, mirar el tutorial Como hacer una vista previa en tu red local How to preview on a local network . Debes exportar (export) y publicar (publish) el proyecto antes de poder jugarlo. No puedes compartir la URL en internet durante la vista previa.

Exportar
Para exportar tu proyecto, usa el Men de archivo (File Menu), barra de herramientas o barra del proyecto (Project Bar) para abrir el dilogo de exportacin del proyecto (Export Project dialog). Si ests interesado en los detalles tcnicos al exportar el proyecto, mira la seccin Tecnologa (Technology).

Distribucin del Proyecto


C2 hace juegos en HTML5. Hay muchas formas de publicar y distribuir juegos HTML5. Esto incluye Scirra Arcade , Chrome Web Store , Facebook y ms. La seccin de tutoriales de la web Scirra.com Tutorials section habla sobre todas estas opciones y todas estn resumidas en Publicitar y promocionar tu juego de C2 Publishing and Promoting your Construct 2 game .

2.6 Tecnologa
C2 crea juegos HTML5. Estos funcionan online en navegadores web de gran variedad de dispositivos y sistemas operativos, incluyendo dispositivos mviles como telfonos y tablets, asegurndonos que tu juego es accesible a la mayor cantidad de gente posible. Esta seccin es un resumen de la tecnologa usada para ello. Esto puede ser de inters para gente que le guste la tecnologa y te lo puedes saltar si ests ms interesado en saber cmo usar C2.

Navegadores Web (Web Browsers)


Un navegador es el programa que carga y muestra pginas web en tu ordenador. Los ms populares son: Internet Explorer (solo la versin 9 o superior funciona con HTML5) Mozilla Firefox Google Chrome Opera Los Macs tambin suelen usar Safari . Algunos de estos navegadores tambin estn disponibles para mviles y tablets.

HTML5
HTML significa HyperText Markup Language. HTML es la manera estandar en la que se hacen las pginas web desde los inicios de internet. HTML5 es la quinta revisin de HTML y empez a ganar fama y difusin en 2011. Introduce algunas nuevas caractersticas, pero solo un pequeo nmero de ellas atae a los juegos. De todas formas, HTML5 es todava el ms apropiado para la tecnologa usada por C2. Javascript es el lenguaje de programacin estndar usado para programar webs y tambin se usa para los juegos de C2. De particular inters en HTML5 es la nueva etiqueta <canvas>. Esta crea una superficie rectangular en las webs HTML donde cualquier imagen o contenido puede ser dibujado. Esto es ideal para juegos. Todos los juegos de C2 usan canvas HTML5 para mostrar el juego. HTML5 es compatible con la tecnologa de Adobe Flash que domina los juegos de internet desde 2011. HTML5 se diferencia por ser algo as como un acuerdo de empresas, ms que un producto controlado por una nica compaa como Adobe. Flash tambin funciona como plugin de navegador, que debe ser descargado e instalado de forma separada mientras que HTML5 est dentro del navegador. Esto significa que los juegos HTML5 pueden funcionar en dispositivos donde no hay soporte para Flash, como iPhone y iPad. Dadas sus ventajas, HTML5 reemplazar a Flash en la web.

Javascript
Javascript es el lenguaje de programacin estndar para web. Permite que las pginas web sean ms interactivas trabajando en cierto modo como aplicaciones tradicionales. Esto tambin es un acuerdo entre empresas. Javascript no es Java. Son dos lenguajes de programacin no relacionados que tienen un nombre similar. Java trabaja otra tecnologa para las webs, una totalmente distinta a la de javascript. Intenta no confundir ambos trminos: los juegos de C2 no necesitan java para funcionar.

Navegadores modernos compilan Javascript a cdigos de ordenador (o instrucciones de CPU). Esto asegura que las webs (incluyendo juegos) que usan Javascript funcionan de la forma ms rpida y eficiente posible. Javascript es un tipo de lenguaje que acumula basura, por lo que hace que los juegos se entrecorte o se pause. Los juegos de C2 estn optimizados para crear la menor cantidad de basura posible, reciclando objetos donde es posible. Incluso objetos enteros son reciclados si son destruidos y recreados. Esto ayuda a mejorar la actuacin y asegura que el juego funcione lo ms fluidamente posible.

Plugin y comportamiento SDK


Los programadores de Javascript pueden extender C2 con sus propios Plugins y comportamientos. Mira Javascript SDK documentation para ms informacin.

Lienzos Canvas
El <canvas> de HTML5 tiene dos formas de dibujar el juego en la web: un simple contexto en 2D y el contexto WebGL, basado en OpenGL. WebGL es dos veces ms rpido que 2D y tiene ms caractersticas, incluyendo efectos de soporte, pero no funciona en todas las plataformas. La mayora de los navegadores funcionan con WebGL, pero no Internet Explorer. C2 funciona con las dos tecnologas. WebGL puede ser habilitado o deshabilitado para cada juego en las propiedades del proyecto (Project Properties). Generalmente, es recomendable habilitarlo, porque el juego funcionar ms rpido y los efectos no funcionan sin l. Si el ordenador o dispositivo del usuario no puede usar WebGL o ste est deshabilitado, C2 volver al contexto 2D. En este caso el juego puede seguir jugndose, pero funcionar un poco ms lento y no se ver tan bien. Ya que Internet Explorer no soporta WebGL, si lo usas sera mejor cambiar de navegador como Firefox o Chrome. Quizs tambin quiera avisar a los usuarios de que hagan lo mismo. WebGL puede no funcionar en un ordenador aunque est habilitado. En este caso el contexto 2D funcionar en su lugar. Puedes comprobar que lienzo est usando el juego con la expresin del sistema lienzo (renderer), que puede ser canvas2d o webgl.

Oscurecimiento y empequeecimiento
El cdigo Javascript de tu juego est minimizado y oscurecido con el Closure Compiler de Google. Esto reduce el tamao y lo hace extremadamente difcil de modificar para otros usuarios. Las imgenes del juego estn comprimidas en PNG. Tambin estn comprimidos al exportar para asegurar que la descarga es lo ms pequea posible. Para ms informacin, mira este post Image compression in Construct 2 .

Audio
El motor del juego de C2 soporta Web Audio API en Google Chrome para play-backs de baja latencia o efectos de sonido. En otros navegadores se usa el estndar de audio HTML5.

Soporte Offline
A pesar de que los juegos HTML5 funcionan en un navegador web, los juegos C2 usan el HTML5 AppCache para permitirles funcionar tambin offline. Esto es til para aplicaciones iOS y Chrome, ya que algunos usuarios quizs utilicen el juego offline. Tambin el AppCache ayuda

a ahorrar ancho de banda en los servidores que hospedan el juego: los archivos del juego solo sern descargados una vez y cada visita despus el juego se cargar desde el disco local (mientras se buscan actualizaciones). Mira el tutorial offline support in Construct 2 para ms informacin. Lo ms importante es que tu servidor debe estar configurado para archivos .appcache con el tipo MIME text/cache-manifest si no el soporte offline no funcionar y malgastars mucha banda ancha.

2.7 Buenas Prcticas


Haz copias de seguridad a menudo!
Ni el hardware ni el software de tu ordenador son perfectos. Los ordenadores fallan y el software puede estropearse. Hacer copias de seguridad de tu proyecto te protege de perder todo tu trabajo. Es esencial mantener las copias seguridad fuera del ordenador. Si todas tus copias estn en el mismo ordenador o guardadas en discos en el mismo lugar, eventos catastrficos como fuegos, inundaciones, robos o fallos simultneos de hardware pueden causar la prdida total de todo tu trabajo y copias de seguridad. C2 tiene caractersticas para hacer copias de seguridad fcilmente, incluyendo copias externas usando Dropbox. Para ms informacin ve al tutorial Keep your work safe with Construct 2's backup options . Este consejo no es solo para C2. Es vital adoptar estas prcticas para todos tus trabajos importantes. No esperes hasta haber perdido tu trabajo para empezar a hacer esto. La gente pierde trabajos a menudo por no realizar esto. No seas uno de ellos!

Comprueba en varios navegadores y dispositivos


Es altamente recomendado probar si tu juego funciona debidamente en varios navegadores. Aunque HTML5 es el estndar y en teora funciona en todos los navegadores, en la prctica hay algunas variaciones entre navegadores (por ejemplo en actuacin, caractersticas, renderizacin de textos, etc.) Debes instalar varios navegadores y probarlo para asegurar que tu juego le funcionar a todo el mundo. Usa la vista previa en navegadores (Preview browser) para probar los navegadores fijos y la vista previa en redes locales (preview on a local network ) para probar los navegadores mviles.

Haz uso de pantallas tctiles tambin


Muchos usuarios tienen pantallas tctiles sin ratn ni teclado. Si es posible, debes disear tu juego para poder ser usado en estos dispositivos con controles de toque de pantalla. Para ms informacin, ve al tutorial touch controls .

Formatos de archive recomendados


Quizs desees crear dibujos o audio en otros programas antes de importarlos a C2. Los mejores formatos para ello son: 32-bit PNG para imgenes. Asegrate de elegir 32-bit si tienes eleccin, la versin de 8-bit o inferior son de peor calidad. Los PNG de 32-bit no tienen prdidas y soportan el canal de transparecia alfa (alpha-channel transparency). Ntese que el Paint de Windows no soporta la transferencia PNG. Usa un editor distinto al Paint, como Paint.NET . Puedes elegir diferentes formatos de salida en C2, como JPEG, para reducir el tamao de tu proyecto finalizado. Aunque cuando exportas debes mantener el PNG de 32-bit si es posible, y dejar que C2 los recomprima. Para ms informacin ve al post Image compression in Construct 2 . 16-bit PCM WAV para audio. Estos son los tpicos archivos .wav, pero nota que no todos los .wav son de 16-bit PCM. Suponiendo que ests usando Windows 7 o superior, al importar un archivo .wav de 16-bit PCM a C2 ste se encodear automticamente a los dos AAC y Ogg Vorbis, los dos formatos necesarios. Para ms informacin ve a la seccin del manual Import Audio dialog.

Seguridad
Nunca jams escribas nombres de usuario o contraseas en los eventos. Estos sern visibles como texto plano en Javascript, y usuarios maliciosos podrn controlar tu cuenta fcilmente. Si necesitas conectarte a algo como una base de datos, escribe el script que se ejecuta en el servidor y conecta con la URL o el servidor.

Rendimiento
Hay un gran nmero de consejos sobre el rendimiento del juego (garantizando que el juego siempre funcionar rpido). Lo ms importante es cuando se desarrolla para mviles, hay que probar el dispositivo mvil desde el principio. Tu ordenador funcionar 10 o 20 veces ms rpido que un mvil, y algo que funciona muy rpido en tu ordenador puede no ser imposible de jugar en el mvil por su lentitud. Para ms informacin Performance Tips.

Uso de memoria
Algunos diseadores estn tentados a disear niveles enteros como simples imgenes grandes, por ejemplo 10000x10000 pxeles. Este mtodo debe evitarse a toda costa. No es slo que malgaste memoria, si no que muchos dispositivos no soportan imgenes tan grandes, por lo que no funcionar. Generalmente el mayor tamao que soportan todos los sistemas (incluyendo mviles) es de 2048x2048 pxeles. De todas maneras, evita imgenes de ese tamao tambin, lo ms apropiado es usar fondos adosando imgenes de tamao medios como 512x512 que cubran todo el plano. Despus, compn el diseo de nivel adosando varios objetos. Cada objeto puede ser estirado y rotado individualmente lo que evitar una apariencia repetitiva. Imagina una sola imagen de 10000x10000 que usa 400mb de memoria, que dejara sin espacio a los ordenadores ms potentes. Por otra parte, un nivel compuesto por 512x512 fondos adosados

y 50 objetos diferentes de un tamao de 200x200 usara menos de 20mb de memoria. Sera perfecto para encajar en la memoria de los mviles.

Efectos
Recuerda que los efectos requieren WebGL para funcionar, que no es soportado en todos los ordenadores. Asegrate de configurar recursos apropiados y probar tu proyecto con WebGL deshabilitado para que se vea bien en los sistemas de otros usuarios que no puedan usarlo.

Manejar proyectos
Si trabajas en grupo, probablemente encuentres muy til el software de control SVN para manejar las carpetas del proyecto. ste puede destacar y fusionar los cambios que cada persona hace. Tambin hay un historial de todos los cambios y restauraciones hechos en todo momento. C2 guarda los datos del proyecto en formato XML as que es apropiado para este control.

Trabajar de forma individual


Si ests trabajando t solo, es probable que sea ms fcil usar archivos de proyecto nicos (archivos .capx). Si el proyecto se alarga, C2 tardar ms tiempo en guardar y cargar proyectos (mostrar Decompressing CAPX... o Compressing CAPX en la barra de estado). Llegados a este punto es til convertirlo en una carpeta de proyecto que se salta este paso y har que guardar y cargar sea ms rpido.

2.8 Consejos de actuacin


Mvil
Los ordenadores modernos son muy potentes. El principal problema es hacer funcionar tus juegos correctamente en tablets y mviles. Es ms difcil conseguir buenos resultados en estos dispositivos debido a que: Tienen un hardware ms dbil: CPUs, y chips grficos ms lentos y menos memoria. Javascript funciona ms lento en ellos Algunos dispositivos slo usan software de renderizacin, haciendo muy lento el dibujo de grficos. Debes probar tu juego en mviles desde el principio. Tu ordenador es unas 10 veces ms rpido que tu mvil. Para evitar sorpresas haz pruebas regulares para comprobar la velocidad. La caracterstica Preview on LAN puede hacer esto fcil y rpido. Tu propsito debe ser crear juegos simples para los mviles y tener menores expectativas de ndice de frames (30 FPS es un buen objetivo para mviles). Estos 3 consejos te ayudaran a conseguir un mejor rendimiento del juego en mviles: 1. Activa Pixel rounding ponindolo en On en las Propiedades del Proyecto (Project Properties). Esto evitar dibujar objetos entre pxeles, que pueden ralentizar el juego en algunos dispositivos. 2. Evita usar demasiados objetos o efectos de partcula, ya que los mviles tienen un lmite ms bajo. 3. Posiciona objetos usando la misma combinacin o efecto en la misma capa. Por ejemplo, si tienes muchos objetos que usan la Adicin (Additive) para combinarse (comnmente usado para explosiones, lasers y otros efectos) asegrate de que todos ellos estn situados en su propia capa

(de Adicin). Asegrate tambin de que el objeto se crea en esa capa si ste se genera en tiempo de ejecucin. Alternar entre efectos reduce el rendimiento, y haciendo esto te aseguras de que objetos que usan el mismo efecto se dibujan a la vez. Exportando va CocoonJS o directCanvas puedes mejorar el rendimiento en Android y iOS si el navegador del dispositivo es lento. El rendimiento de los mviles mejorar con el tiempo, as que si ahora tienes problemas, los dispositivos futuros o las actualizaciones lo mejorarn.

Causas comunes de bajo rendimiento


Algunas de las causas de esto estn listadas aqu. No es una lista exhaustiva y puede haber otras razones no listadas aqu para que tu juego vaya muy lento. Demasiados objetos que usan Fsicos (Physics) El comportamiento fsico es muy intensivo en la CPU. Usar demasiados objetos as puede causar una bajada de velocidad. Debes disear tus juegos para usar unos pocos objetos que usen fsicos grandes en vez de muchos pequeos. Crear demasiados objetos Aunque los ordenadores modernos son muy rpidos, todava tienen muchas limitaciones en la capacidad de procesamiento. Crear ms de 1000 objetos causar probablemente un descenso en la velocidad. Intenta disear usando los mnimos objetos posibles. El contador de objetos (objectcount) te indicara cuantos ests usando. Usar demasiados efectos Los efectos son impactantes a la vista, pero pueden hacer ms lento el juego si los usas demasiado, especialmente en mviles. Usar un efecto en objetos con muchos ejemplos es especialmente lento a menudo es ms eficiente situar todos los objetos con ese efecto en la misma capa y aplicar el efecto directamente en la capa. Esto permite al efecto procesar todo de una vez, en vez de hacerlo una y otra vez en un solo objeto. Uso innecesario de efectos Nunca usas efectos para uno esttico en un objeto. Por ejemplo, no uses escala de grises (Grayscale) para hacer que un objeto aparezca as siempre. Esto ralentizar el rendimiento, cuando puedes importar el objeto directamente en escala de grises y no usar ningn efecto. Usar demasiadas partculas El objeto de partculas (Particles object) puede crear cientos de partculas. Cada una es como un objeto pequeo, as que usar capacidad de procesamiento. Evita usar ms de un par de cientos de partculas para ordenadores. Se recomienda evitar su uso para mviles siempre que sea posible; si los usas, usa el mnimo necesario con las tasas ms bajas que puedas. Usa el contador de partculas (ParticleCount) para saber cuntas has creado. Usar objetos pequeos (Sprites) en vez de fondos adosados Crear demasiados objetos puede ralentizar el juego y un error comn es usar cuadrculas de objetos pequeos (Sprites) en vez de fondos adosados. Por ejemplo, una cuadrcula de Sprites de 20x20 tiene 400 objetos, que es bastante. Un nico fondo adosado puede reemplazar la

cuadrcula y cuenta como un solo objeto. stos optimizan unas 400 veces al repetir texturas. salos siempre que sea posible. Usar un navegador lento A veces, el lento Canvas 2D puede ser acelerado por el hardware de la tarjeta grfica del ordenador. Otras veces, sin embargo, no se acelera y usa un software muy lento. No hay una forma fcil de explicarlo, pero esto es debido al peor rendimiento de un sistema. Comprueba en ordenadores distintos para ver si hay diferencias y asegrate de tener actualizados los drivers de tu tarjeta de memoria. Usar demasiados bucles (loops) Esto es menos comn, pero usar muchos bucles como para (for), para cada (for each) y repetir (repeat) puede causar una bajada de velocidad. Bucles anidados son ms propensos a esto. Para probar si hay problemas, intenta deshabilitar temporalmente estos bucles.

Confusiones comunes
Las siguientes confusiones suelen ser acusadas de afectar el rendimiento (como en los tiempos de ejecucin), pero el efecto no es muy grande o directamente no hay: Formatos de imagen (por ejemplo, JPEG, PNG-8, PNG-32) afectan el tamao al descargar pero no afectan al tiempo de ejecucin (se descomprimen todos en 32-bit en el programa). Formatos de Audio solo afectan al tamao al descargar pero nada ms. El Nmero de capas normalmente no afecta, a menos que la mayora de las capas hayan cambiado su opacidad, tengan efectos aplicados, tengan un modo de fusin distinto a Normal o usen forzar una textura force own texture. As que no hay problema en usar muchas capas con una configuracin por defecto. El Nmero de Planos no tiene ms efecto que el tamao de descarga. Tamao, ngulo u opacidad de sprites/fondos adosados y posiciones flotantes (por ejemplo, situar un objeto en X=10,5) no tienen efecto cuando se usa la aceleracin del hardware. Las tarjetas de memoria modernas suelen renderizar un objeto a la misma velocidad sin tener en cuenta si es grande o pequeo, el ngulo, opacidad o posicin. Aunque, si slo se usa el software, puede tener gran impacto en el rendimiento, asegrate de probarlo en diferentes sistemas.

WebGL
WebGL ayuda a que el juego vaya ms rpido: WebGL es unas 2 veces ms rpido que Canvas 2D as que, para mejorar la ejecucin, asegrate de que est habilitado en las propiedades del proyecto (Project properties) Aunque WebGL no es siempre soportado, por lo que esto no es garanta de que el juego vaya a usar WebGL. Usa la expresin del sistema Lienzo (Rederer) para determinar cual usar.

Hay muchas razones por las que WebGL no es soportado, aqu una lista: El navegador puede no soportar WebGL. Por ejemplo, Internet Explorer actualmente no lo soporta y usa Canvas 2. Para mejorar el rendimiento, intenta cambiar a otro navegador que s lo soporte. Tus drivers de la tarjeta grfica pueden no estar actualizados. Para garantizar el funcionamiento, algunos navegadores deshabilitan WebGL si la tarjeta grfica est desactualizada.Actualizarla eliminar el problema. Simplemente tu ordenador es demasiado antiguo o usa hardware que no lo soporta. Si es posible, actualiza tu tarjeta y el resto del hardware. Aunque no debes olvidar que puede seguir funcionando con Canvas 2, solo que ms lento.

Ms consejos
Para ms informacin y consejos, mirar el post Optimisation: don't waste your time .

Medidas y pruebas
Desde el principio tu proyecto debe usar un indicador de ndice de frames (framerate indicator) y controlar el rendimiento. Esto te permite notar si, haciendo algn cambio, ste afecta al rendimiento. Prueba tu proyecto en el mximo nmero de sistemas y navegadores posible. Si crees que algo est causando problemas de rendimiento en tu trabajo, es fcil comprobar tu teora: haz una copia de seguridad, borra lo que pienses que est afectando y mira si el ndice de frames ha mejorado. Si es as, lo que has borrado era la causa, si no debe ser otra cosa. Mide siempre el rendimiento. Los sistemas de un ordenador son muy complejos, y hay muchos resultados y cambios inesperados en su rendimiento. La nica forma de saber qu efecto tiene algo sobre el rendimiento es medirlo. Si no puedes medir la diferencia, entonces el efecto no es significativo.

Como medir el rendimiento


Hay dos expresiones del sistema (system expressions) que determinan el rendimiento: Fps da la tasa de frames por segundo. Normalmente la velocidad mxima es de 60 frames por segundo, pero puede cambiar dependiendo del sistema. Lienzo (Renderer) - con canvas2d o webgl. WebGL es dos veces ms rpido, pero solo funciona en ordenadores y no en todos los navegadores. Para ms informacin, mirar la seccin tecnologa.

Puedes mostrar los dos en un objeto de texto (Text object) para echarle un vistazo al rendimiento mientras pruebas el juego, usando la accin: Configurar texto a: fps & FPS ( & renderer & ) Esto siempre mostrar unos 60 FPS (webgl) indicando ambos, el ndice de frames y el lienzo.

3. Interfaz
Esta seccin trata sobre la Interfaz de usuario. Para un resumen ve a Resumen de Interfaz, de la seccin anterior.

3.1 File menu


Al men de archivos de C2 se accede clicando el botn azul de la parte de arriba a la izquierda de la barra de herramientas.

Los objetos abiertos recientemente aparecen a mano derecha del men que aparece debajo. Nuevo (New) abre Crear un nuevo dilogo de proyecto (Create New Project dialog). Abrir (Open) abre un proyecto existente en el disco. Guardar (Save) guarda el proyecto actual en el disco. Guardar proyecto como (Save as project) y guardar como archivo nico (sabe as single file) lo guarda en una carpeta o archivo diferente. Ver Saving and sharing projects. Exportar el proyecto (Export project) exporta el juego a HTML5, listo para distribucin. Ver Exporting and Publishing.

Cerrar pestaa (Close tab) cierra la pestaa que tengas abierta en ese momento. Tambin se pueden cerrar clicndolas en el centro. Cerrar proyecto (Close project) Cierra el proyecto actual, preguntndote si quieres guardar los cambios.

En la parte de abajo hay cuatro botones adicionales: Ayuda (Help) abre este manual Sobre (About) Abre el About dialog con informacin sobre tu ordenador, la versin de C2 y dems. Preferencias (Preferences) abre el dilogo de preferencias Preferences dialog con configuraciones para C2. Salida (Exit) cierra C2.

3.2 Barra de Herramientas


Barra de Herramientas es el nombre de la barra con pestaas en la parte superior de la ventana, similar al diseo de Office 2007 y superiores. Por defecto esta barra est escondida hasta que clicas una de las pestaas. Puedes mostrarla de forma permanente clicando el botn Pin de la barra arriba a la derecha. Los accesos directos del teclado se ven o pasando sobre un botn de la barra o presionando Alt, que los muestra todos en pantalla.

La pestaa Home (Inicio)

Estas pestaas tienen las funciones ms usadas y comunes a todos los programas: Cortar (Cut), Copiar (Copy), Pegar (Paste), Deshacer (Undo) y Rehacer (Redo). Los botones Borrar (Delete), Seleccionar todo (Select All) y Deseleccionar todo (Select None) afectan la seleccin actual en la Vista de la Hoja de Eventos o la Vista de Plano. Configuraciones (Configurations) te permite configurar diferentes versiones de tu proyecto sin tener que guardar varios proyectos en el disco. Configuracines activas (Active configurations) establece que configuraciones estn siendo editadas. Ya que solo se puede ver una configuracin de una vez, se muestran con el Mostrador de Configuraciones (Display configuration), que debe ser una configuracin activa. La seccin Online contiene algunos enlaces a webs que te pueden ser tiles.

La seccin Vista previa (Preview) tiene botones para hacer una vista previa del proyecto y exportarlo a HTML5 para su distribucin.

La pestaa View (Vista)

La seccin Barras (Bars) te permite mostrar o esconder las diversas barras de la interfaz de C2 clicando en las cajas. La seccin Zoom se usa para hacer zoom en ambos, la Vista de Plano y la Hoja de Eventos. La seccin Cuadrcula de Plano (Layout Grid) slo se aplica a la Vista de Plano. Habilitando Snap to Grid (Ajustar a la cuadrcula) los objetos que muevas y sites se ajustarn a una cuadrcula invisible en la que puedes establecer las medidas. El Tema (Theme) te permite elegir diferentes estilos visuales a la interfaz de C2. Es slo esttico y no afecta a la funcionalidad del editor.

La pestaa Acontecimientos (Events)

Esta pestaa slo se aplica a la Vista de la Hoja de Eventos. Si una vista de plano est activada los botones estarn desabilitados. El botn Add (Aadir) da formas rpidas de aadir un nuevo evento, condicin, accin, subacontecimiento, grupo de aeventos, variables locales o globales, incluir evento o comentario. Si tienes algo seleccionado en la Hoja de Eventos, el nuevo item se aadir al lado de la seleccin.

Deshabilitar (Disable) te permite alternar condiciones, acciones o eventos completos, activndolos o desactivndolos. Un evento desactivado aparecer tachado y si se ha borrado correctamente no afectar ms al juego. Pero siempre puedes volver a activarlo clicando Deshabilitar otra vez. Esto es til para las pruebas. La seccin Bsqueda (Search) te permite filtrar los eventos en las hojas actuales con una bsqueda. Si un acontecimiento contiene el texto que has buscado, aparecer, a no ser que lo hayas eliminado. Esto es til para localizar eventos relacionados con un proyecto concreto o para encontrar algo en una larga hoja de eventos. El botn Eliminar Bsqueda (Clear Search) vuelve a mostrar todos los eventos, tambin pulsando Escape. Mostrar enlaces de Aadir accin (Show 'Add action' links) puede usarse para esconder o mostrar el enlace Aadir accin (Add action) en cualquier evento. Esto ofrece una forma rpida de aadir acciones nuevas. Aunque puede incrementar significativamente la altura dede la hoja de eventos, hacindola difcila para leer o encontrar eventos. Si quieres revisar una hoja de evento es til quitar estos enlaces. Las acciones se pueden seguir aadiendo a los eventos incluso aunque los enlaces estn escondidos usando el botn Aadir accin (Add action) de la barra de herramientas o del men del botn derecho del ratn.

3.3 Barra del Proyecto


La Barra del Proyecto (Project Bar) muestra un resumen de todo tu proyecto. Ve a Project Structure para un resumen de los elementos que conforman tu proyecto o a la seccin (Proyectos primitivos) Project Primitives del manual para ms detalles.

El nombre del proyecto aparece con un asterisco (por ejemplo Space Blaster*) si tiene cambios sin guardar.

Organizando proyectos
La Barra del Proyecto puede usarse para organizar tu proyecto en subcarpetas (solo con licencia). Las Subcarpetas se aaden clicando con el botn derecho en una carpeta y seleccionando Aadir subcarpeta (Add subfolder). Entonces, puedes arrastrar y soltar carpetas e tems para organizarlos.

Manejando el proyecto
Clica con el botn derecho cualquier tem de la Barra del Proyecto y mostrar una lista de opciones. La mayora de los tems pueden ser renombrados y eliminados. Clicando una carpeta con el botn derecho te da la opcin de aadir tems nuevos en esa carpeta, como un plano u hoja de eventos nuevos. Los objetos se suelen aadir en la Vista de Plano, pero tambin puedes aadirlos a la Barra del Proyecto. Clica con el botn derecho el nombre del proyecto en la parte de arriba para cerrar, exportar o abrir la carpeta del proyecto en Windows Explorer.

Borrar objetos
Borrarlos de la Vista de Plano no eliminar un objeto del proyecto. La nica forma de borrarlo completamente es eliminarlo de la Barra del Proyecto.

Importar audio
Clica con el botn derecho las carpetas de Sonido o Msica y selecciona Importar (Import) para abrir el dilogo de importacin de audio (Import Audio dialog). Esto te permitir coger archivos de audio de tu ordenador e importarlos. C2 los convertir a los formatos necesarios. Para audio en play-back asegrate de que aades el Objeto de Audio (Audio object) al proyecto.

Importar archivos
Puedes importar archivos externos adicionales al proyecto. Para ms informacin, ve a Project Files.

3.4 Barra de propiedades


La Barra de Propiedades (Properties Bar) es una parte esencial. Muestra una lista de todos los ajustes que puedes cambiar seleccionndolos. En la imagen de abajo, un plano est seleccionado, as que se muestran las propiedades de ese plano.

Hay demasiadas propiedades en C2 para listarlas aqu. En cambio, las propiedades de diferentes partes del proyecto se explican en su seccin del manual. Por ejemplo, las propiedades de los planos se definen en la seccin Planos. Las propiedades estn organizadas en categoras que pueden expandirse con el botn +. Hay muchos tipos de propiedades, incluyendo campos de nmeros y de texto, listas que se despliegan y enlaces para clicar. El nombre de las propiedades aparece en la columna de la izquierda, y los valores editables en la columna de la derecha. Siempre que algo del proyecto es clicado o seleccionado, sus propiedades aparecen en la Barra de Propiedades. Por ejemplo, seleccionando la vista de plano o clicando tems de la Barra del Proyecto se muestran las propiedades ms relevantes.

Elementos con propiedades


Los siguientes elementos tienen propiedades:

Proyectos (Projects) Planos (Layouts) Capas (Layers) Ejemplos de Objeto (Object instances) Animaciones (Animations)

Muchos comportamientos (behaviors) tienen sus propias propiedades ver Behavior reference Muchos plugins tienen sus propias propiedades ver Plugin reference Muchos objetos tambin tienen efectos que tienen sus propias propiedades. Mira la seccin del manual referente a cada elemento. Tambin hay un enlace de Ayuda (Help) en la parte de debajo de las propiedades que te llevaran a la parte adecuada del manual.

Descripciones de la propiedad
Todas las propiedades tienen una descripcin que ofrece informacin adicional sobre para qu se usa cada una. Esto se muestra en el panel de la parte de debajo de la Barra de Propiedades. Es mejor echarle un ojo ya que contiene informacin til y consejos. Aqu se muestra un ejemplo.

3.5 Barra de objetos


La Barra de Objetos (Object Bar) es ms til en la Vista de Plano. Muestra una lista de objetos con iconos grandes. Los objetos pueden ser arrastrados y soltados para situarlos en el plano. Esto hace que la Barra de Objetos sea til, ya que muestra los objetos que quieres situar, siendo ms rpido en ocasiones que la Barra del Proyecto (que lista todo, no slo objetos). Mira la seccin Objects. La Barra de Objetos tambin da otra forma de acceder a las propiedades del objeto. Seleccionando un icono en la barra puedes ver las propiedades en la Barra de Propiedades. Si una Vista de Plano est abierta, tambin seleccionar todos los ejemplos de ese objeto que

existan en l.

Navegando por los objetos


Por defecto, la Barra de Objetos los muestra organizados en carpetas. Si haces doble clic en una se muestra el contenido. Clica la flecha verde Arriba (Up) para volver a la carpeta general. Si seleccionas una carpeta en la Barra del Proyecto tambin aparece el contenido en la Barra de Objetos. Los objetos tambin se pueden organizar arrastrndolos y soltndolos en carpetas de la Barra de Objetos, pero la Barra del Proyecto es mejor para ello.

Mostrar opciones
El texto de arriba de la barra de ttulo muestra el filtro o carpeta actual si hay. Por defecto slo muestra los objetos del plano actual (por ejemplo Todos los objetos en MyLayout). Esto significa que no mostrar objetos en otros planos, ni objetos del proyecto como el Ratn o el Teclado. Se puede acceder a estos objetos va la Barra del Proyecto y arrastrarlos y soltarlos en el plano desde all. Las opciones de filtro pueden ajustarse para que muestren todos los objetos del proyecto en la Barra de Objetos (ver ms abajo). Clica el botn derecho en un espacio de la Barra de Objeto para mostrar las opciones.

Subir a la carpeta general (Up to parent folder) Un acceso directo del botn verde Subir (Up) de la parte de arriba de la Barra de Objeto. Subir a la raz (Up to root) Volver a la raz (el primer nivel) de la carpeta, como si clicaras Objects types en la Barra del Proyecto. Insertar un nuevo objeto (Insert new object) y Aadir subcarpetas (Add subfolder) Accesos directos de las funciones de organizar en la Barra del Proyecto. Mostrar ruta de la barra (Show path toolbar) Muestra o esconde el texto y el botn Arriba (Up) en la parte de arriba de la Barra de Objetos. Filtrar objetos (Filter objects) Configura a Plano de Objetos Actual (Current layout objetcs) para mostrar solamente los objetos que estn en el plano actual (el plano por defecto) o Todos los objetos del proyecto (All project objects)para mostrar Ver como (View as) Configura la Estructura de la Carpeta (Folder Structure) para mostrar los objetos organizados en sus subcarpetas (las subcarpetas por defectos) o Lista Simple (Simple List) para alistar todos los objetos sin tener en cuenta su carpeta (sin subcarpetas). Estilo de Icono (Icon style) Cambia como se muestran los iconos en la Barra de Objeto, incluyendo en qu direccin se desplaza la barra si hay muchos objetos. Esto es til si pierdes la Barra de Objetos en algn lugar del editor, por ejemplo en la parte de arriba o debajo.

Tamao de Icono (Icon size) Cambia el tamao de los iconos. Los iconos ms pequeos encajan mejor en la ventana, pero los ms grandes son ms fciles de identificar.

3.6 Barra de Capas


La Barra de Capas se usa para aadir, editar y eliminar capas en un plano. Una capa es como un folio de cristal donde se sitan los objetos. Esto permite un manejo ms fcil de los objetos que se superponen a otros objetos, por ejemplo mostrar los objetos en primer plano (foreground) delante de los del fondo (background). Tambin permite hacer efectos de profundidad como la paralasis y las capas pueden ser rotadas y escaladas individualmente. Las capas pueden ser arrastradas y soltadas en la Barra de Capas para cambiar su orden. Las capas de debajo de la lista se muestran al fondo (por ejemplo, objetos de fondo) y las capas de arriba al frente (por ejemplo, objetos HUD). Seleccionando una capa muestras sus propiedades en la Barra de Propiedades y tambin configurarla como capa activa (active layer) en la que poder situar objetos. Mira las propiedades de la capa activa en las propiedades de plano (layout properties) para ms informacin.

La lista de capas
Cada capa de la lista tiene: Una casilla para cambiar la capa visible en el editor (esto no afecta al juego en la vista previa o al exportar) Un icono de candado. Clicando esto la capa se bloquea. Si una capa est bloqueada, los objetos que contenga no se pueden seleccionar. Esto es til para prevenir selecciones accidentales en capas que no se usan casi nunca. Un nmero a la derecha. Esto es un ndice que empieza en 0 (la primera capa es 0, no 1). Si necesitas introducir un nmero de capa en el sistema de eventos, este es el nmero que debes introducir. (Tambin puedes introducir el nombre de capa que sera ms eficiente si reorganizas las capas a menudo).

La Barra de Capas
Los iconos a lo largo de la parte de arriba ofrecen accesos directos para editar las capas. Se pueden aadir capas y hay opciones alternativas para la visibilidad y el bloqueo. Tambin hay unos botones de Renombrar (Rename) y Borrar (Delete), (F2 y Borrar en el teclado respectivamente). Las capas se pueden renombrar clicando una vez sobre ella, al igual que los archivos en Windows. Finalmente, hay unos botones Mover arriba (Move up) y Mover abajo (Move down) que ofrecen la alternativa de arrastrar y soltar para reordenar capas.

3.7 Vista de Plano


La Vista de Plano (Layout View) es un diseador visual para tus objetos. Permite configurar y preparar planos de objetos, como un nivel, men o ttulo de pantalla en un juego. En otras herramientas, plano puede significar escena, habitacin, frame o periodo. Ve a la seccin layouts.

El rectngulo intermitente en la parte de arriba a la izquierda indica el tamao de la ventana en el plano.

Adding, modifying and deleting objects


Haz doble clic en un espacio del plano o clica el botn derecho y selecciona Insertar objeto nuevo (Insert new object) para aadir un nuevo tipo de objeto. Aparecer el dilogo Insert New Object dialog. Para crear nuevos ejemplos de un tipo de objeto existente, otro objeto similar puede ser arrastrado usando la tecla control, copiado y pegado, o arrastrado y soltado desde la Barra del Proyecto o la Barra de Objeto. Asegrate de que tienes clara la diferencia entre tipo de objeto y ejemplo, est en Project Structure). Un acceso directo para importar archivos de imagen como objetos ligeros (Sprites) arrastrar y soltar la imagen desde el explorador de Windows a la Vista de Plano. Esto crea automticamente un nuevo tipo de objeto ligero. Si arrastras varias imgenes, el objeto se convertir en animacin con las imgenes arrastradas como frames de la animacin. Los ejemplos pueden moverse arrastrndolos y soltndolos con el ratn. Mantn presionado shift para fijar el eje a la diagonal. Tambin puedes empujar 1 pixel cada vez que pulsas una flecha del teclado (mantn pulsado shift al empujar y se mover 10 pxeles) o puedes introducir las coordenadas directamente en la Barra de Propiedades. La tecla Borrar o la opcin Borrar del botn derecho elimina ejemplos. Borrar todos los ejemplos de un objeto no eliminar el tipo de objeto del proyecto. Para eliminarlo completamente debes borrarlo va la Barra de Proyecto. Clica objetos para seleccionarlos. No se pueden seleccionar si la capa est bloqueada. Mantn presionado control mientras clicas para seleccionar varios objetos, o clica y arrastra un rectngulo de seleccin. La Barra de Propiedades muestra las propiedades de todos los objetos seleccionados, as que si cambias alguna propiedad ser para todos. Cuando se selecciona un simple objeto aparece con unos ajustes de tamao alrededor:

Clica y arrastra estos ajustes para cambiar el tamao del objeto. Mantn shift presionado para hacerlo proporcionalmente. El tamao de los ajustes se puede cambiar en Preferencias (Preferences).

Los objetos que se pueden rotar tambin tienen unos ajustes de ngulo. Estos pueden ser clicados y arrastrados para cambiar el ngulo del objeto. Tambin puedes introducir un ngulo en la Barra de Propiedades.

Desplazamiento y Zoom
Hay tres formas de desplazarse en la Vista de Plano: Las barra de desplazamiento horizontal y vertical a los mrgenes Mantener presionado el botn central del ratn y arrastrar el ratn Mantener presionada la barra espaciadora (til para porttiles) En ordenadores fijos, usar el botn central y arrastrar el ratn es lo ms conveniente para moverte por el plano. El Zoom es til para enfocar areas pequeas o tener una vista completa del plano completo. Hay diversas formas de hacer zoom: Los botones de Zoom en la Barra de Herramientas (mantiene Shift presionado mientras clicas para ajustar) Mantener control presionado y mover la ruleta del ratn. Mantn pulsado Control y Shift para hacer zoom en intervalos regulares (por ejemplo, 100%, 200%, 400%...) + y en el teclado (Mantn pulsado Shift para ajustar el zoom) El zoom actual se muestra en la Barra de Estado. Presiona Control+0 para volver al zoom 100%.

Otros
Para ir a la Hoja de Eventos asociada, presiona Ctrl+E o Ctrl+Tab o clicar el botn derecho y seleccionar Editar Hoja de Eventos (Edit Event Sheet). El orden de objetos Z dentro de una capa puede ajustarse usando el botn derecho y seleccionando Orden Z Enviar a la primera capa o Enviar a la ltima capa (Z Order - Send to top of layer or Send to bottom of layer). Los objetos pueden ajustarse a la cuadrcula para hacer un mosaico. Esto se puede habilitar en la Barra de Vista en las Herramientas. El editor de imagen o animacin se puede ver haciendo doble clic en un objeto con imagen o animacin como el Fondo Adosado (en mosaico) y los objetos pequeos o Sprite.

Vista previa de efectos


Los efectos se muestran en la Vista de Plano si WebGL est habilitado en las Propiedades del Proyecto. Si WebGL est deshabilitado, la Vista de Plano har una vista previa similar a la ejecucin, sin mostrar efectos ni otros recursos que han sido configurados.

3.8 Vista de la Hoja de Eventos

La Vista de la Hoja de Eventos es donde se pueden aadir, ver y editar Eventos en una Hoja usando el sistema de eventos no programados de C2. El sistema de Eventos tiene muchas caractersticas, as que tiene su propia seccin del manual. Esta seccin solo mostrar las caractersticas bsicas.

Diagrama de un Evento

Los Eventos estn conformados por tres secciones: 1. El Bloque de Eventos (Event Block), que contiene las condiciones. Ntese que el margen (margin) a la izquierda de las Condicines (Condition) te permite seleccionar el evento completo. Las Condiciones (Conditions) estn listadas dentro del Bloque de Eventos. Las Acciones (Actions) estn listadas en la derecha del Bloque de Eventos. Las Condiciones y Acciones pueden seleccionarse clicando sobre ellas. El Evento completo puede seleccionarse (seleccionando tambin todas sus condiciones y acciones) clicando el margen del Evento o la parte de abajo del Bloque de Eventos. Como en la Vista de Plano, se pueden hacer selecciones mltiples manteniendo Control cuando clicas distintos tems. Aunque slo puedes seleccionar eventos, condiciones o acciones de una sola vez (no puedes seleccionar distintos tipos de tems de una vez). Tambin puedes mantener pulsado Shift y clicar el evento, condicin o accin para seleccionar todos los tems entre la seleccin y el evento clicado.

Creando Eventos
Hay varias formas de aadir nuevos Eventos: Haciendo doble clic en un espacio de la Hoja de Eventos Clicando el enlace Aadir Evento (Add event) detrs del ltimo evento. Clicando el botn derecho y eligiendo un tem para aadir en el men. Usar la Barra de Eventos

Cuando aades un Evento nuevo, el dilogo que aparece es para aadir la primera condicin (ver Dilogo de Aadir condicin, Add Condition dialog). Para aadir ms condiciones la Evento, usa el botn derecho en el margen o en una condicin ya creada y selecciona Aadir otra condicin (Add another condition). Se pueden aadir acciones clicando el enlace Aadir accin (Add action) (si no ha sido escondida de la barra), o usando el botn derecho en el margen o en una accin ya creada y seleccionando Aadir otra accin (Add another action). Mirar tambin Dilogo de Aadir accin (Add Action dialog).

Modificar Eventos
Haz doble clic o selecciona y pulsa Enter en una condicin o accin para editarla. Eventos, condiciones y acciones se pueden arrastrar y soltar sobre la Hoja de Eventos. Manteniendo Control y arrastrando se duplica un Evento, condicin o accin. Los tems de Eventos tambin pueden ser cortados, copiados y pegados. Sera conveniente organizar los eventos en Grupos de Eventos (Event Groups), que se pueden activar y desactivar en conjunto.

Desplazamiento y zoom
Hay varias formas de desplazarse en la Vista de Hoja de Eventos: La barra vertical a la derecha de la vista. Usando la rueda del ratn Manteniendo pulsado el botn central del ratn y arrastrndolo. Manteniendo la barra espaciadora y moviendo el ratn (til para porttiles) Usa los botones de zoom de la Barra en la Barra de Vista o mantn pulsado control y mueve la rueda del ratn para hacer zoom. Pulsa Ctrl+0 para volver al zoom 100%. El tamao de fuente en la Hoja de Eventos se puede configurar en Preferencias (Preferences).

3.9 Editor de Imgenes y Animaciones


C2 tiene un editor de imgenes dnde aparecen ventanas adicionales que te permiten crear animaciones con los objetos. Nota: actualmente el editor de imgenes est en proceso de creacin y no est completo. Para abrir este editor, haz doble clic en un objeto con imagen o animacin en la Vista de Plano. Tambin puedes clicar con el botn derecho en la Barra de Propiedades o Barra de Objetos y seleccionar Editar Imagen (Edit image) o Editar Animacin (Edit animations).

El editor de imagen

El Editor de imagen se usa para editar imgenes para fondos adosados y animaciones usando Sprites.

Los botones de arriba modifican la imagen completa: Imagen transparente (Clear image) Hace que se vuelva transparente. Abrir (Open) Importa un archivo de imagen del disco en formatos PNG, JPEG, BMP, TIF, GIF o WMF. PNG es el recomendado ya que no tiene prdidas, se suele comprimir bien y soporta transparencia alfa. Guardar (Save) Exporta la imagen a un archivo del disco en formatos PNG, JPEG, BMP, TIF o GIF. PNG es el recomendado. Ajustar formato de exportacin (Set export format) Abre el dilogo de Formato de Imagen (Image Format dialog) permitindote configurar el formato de exportacin a PNG-32, PNG-8 o JPEG. Espejo (Mirror) Espeja la imagen horizontalmente. Mantn Shift para espejar la imagen completa. Voltear (Flip) Voltea la imagen verticalmente. Mantn Shift para voltear la imagen completa. Rotar 90 grados en el sentido de las agujas del reloj/sentido contrario (Rotate 90 degrees clockwise/anticlockwise) rota la imagen. Mantn Shift para rotar la animacin completa. Recortar (Crop) Quita la transparencia que sobra a los mrgenes de la imagen, haciendo el lienzo lo ms pequeo posible para que quepa la imagen. Se recomienda para ahorrar memoria y hacer las colisiones ms precisas y eficientes. Mantn Shift para recortar la animacin entera. Ajustar tamao (Resize) Ajusta la imagen al tamao del lienzo, con opciones de centrar, alinear a la izquierda o ajustar al lienzo. Botones de Zoom (Zoom buttons) Hacen zoom a una imagen. Tambin puedes mantener Control y mover la rueda del ratn. Cambiar el brillo del fondo (Toggle background brightness) Cambia la sombra del fondo de dbil a fuerte. La sombra fuerte es ms til para editar imgenes brillantes como puntos de luz, nubes, etc.

La Vista del Editor de imagen tambin puede ser desplazada manteniendo el botn central del ratn y arrastrando. Los botones de la izquierda son herramientas: Seleccin rectangular (Rectangle select) Selecciona, borra, corta, copia y pega secciones rectangulares. Borrador (Eraser) Borra secciones de la imagen. Lpiz (Pencil) Dibuja pxeles individuales o, arratrandolo, crea lneas de 1 pxel de grosor. Pincel (Brush) Dibuja con un pincel redondo. Lnea (Line) Dibuja lneas de colores. Rectngulo (Rectangle) Rellena un rea rectangular de color. Fill (Rellenar) Rellena un rea completa con color. Seleccionador de color (Color Picker) Selecciona un color primario o secundario de la imagen. Un acceso directo es manteniendo Control y clicando la imagen, aunque ests usando otra herramienta. Ajustar origen y puntos de la imagen (Set origin and image points) Abre el dilogo de Puntos de imagen Image Points dialog. Esto te permite ajustar el origen de la imagen (su punto de rotacin) y situar puntos focales de la imagen como la punta de un arma. Se puede acceder a estos puntos en el sistema de eventos para crear objetos. Algunos objetos, como fondos adosados, no usan origen no puntos de imagen. Ajustar colisin poligonal (Set collision polygon) Ajusta la forma de una colisin para una imagen o frame. Por defecto, C2 intuye la forma, pero no siempre es preciso. Clica y arrastra los puntos de la colisin poligonal para delinear su forma. Clica el botn derecho para mostrar el men con opciones adicionales para la colisin, como aadir y borrar puntos (adding and deleting points). Algunos objetos, como fondos adosados, no usan colisiones poligonales.

Barra de Animaciones
En la Barra de Animaciones se pueden crear varias animaciones a partir de pequeos objetos o Sprites.

Clica el botn derecho en un espacio par aadir una nueva animacin o una subcarpeta para organizar animaciones. Clica el botn derecho en una animacin y selecciona Vista previa (Preview) para hacer una vista previa de la animacin en el juego.

Cuando seleccionas una animacin, la Barra de Propiedades muestra sus ajustes. Estos son: Velocidad (Speed) El nmero de frames por segundo. Por ejemplo, si est en 5, cada frame de la animacin durar 1/5 de segundo. Si no quieres que la animacin se mueva ponlo a 0 (si un mosaico se hace con baldosas distintas en cada frame). Bucle (Loop) Vuelve a empezar la animacin siempre que acaba. Repetir (Repeat count) Si no hay bucle, el nmero de veces que quieres repetir la animacin. Repetir en (Repeat to) El nmero de frame (ndice 0) en el que quieres repetir si hay bucle o repeticin. Ping-Pong a animacin va hacia delante y hacia atrs.

Barra de Frames
La Barra de Frames muestra la lista de frames de la animacin actual.

Selecciona una imagen para activar el Editor de Imagen y editar el frame de la animacin. Tambin puedes arrastrar y soltar frames para ajustar la secuencia. Clica el botn derecho en un espacio de la Barra de Frames para: Aadir frame (Add frame) Aade un frame blanco al final de la secuencia. Duplicar el ltimo frame (Duplicate last frame) Hace una copia del ltimo frame y lo aade a la secuencia. Invertir frames (Reverse frames) Invierte el orden de todos los frames. Importar frames (Import frames) Abre un dilogo para seleccionar una o ms imgenes del disco. Se aaden como frames de animacin. Importar tira de Sprites (Import sprite strip) Importa una tira de Sprites o mosaico, donde una imagen simple contiene distintos frames alineados en una cuadrcula. Esto se hace con el dilogo de importacin de tiras de Sprites (Import Sprite Strip dialog). Cargar archivos del disco (Reload files from disk) Carga todas las imgenes desde la carpeta del proyecto. Esto es til si has editado las imgenes de la carpeta del proyecto mientras C2 estaba abierto y quieres que el programa reconozca los cambios. (Esta opcin estar deshabilitada si no usas una carpeta del proyecto). Tamao miniatura (Thumbnail size) Ajusta el tamao de los iconos en miniatura de cada frame de la barra. Seleccionando un frame se muestran sus propiedades en la Barra de Propiedades: Velocidad del frame (Frame speed) que es un multiplicador del tiempo que usa un frame. Por ejemplo, un frame a velocidad 2 usar dos veces ms tiempo, 0,5 la mitad, etc. en relacin con la velocidad actual de la animacin.

3.10 Dilogos
Esta seccin lista todos los dilogos en el editor de C2. Quizs no necesites usarlos todos, depende de las caractersticas que uses. Cada dilogo tiene un enlace a su seccin en este manual. Quizs prefieras usarlos para leerlos cuando los necesites en vez de leerlos todos ahora.

3.10.1 Sobre (About)


Si ests buscando ayuda general en C2, intenta con la portada del manual. Esta pgina te describe el dilogo Sobre (About).

El dilogo Sobre contiene: Nmero de edicin (Release number) Por ejemplo, Release 70 C2 no utiliza el sistema numrico a.b.c. Las versiones son un nmero simple en el que se incrementa 1 con cada nueva edicin. Debes mantenerte actualizado a la ltima versin para obtener ms caractersticas, mejor rendimiento y la mayor estabilidad.

Ingeniera de la edicin (Release architecture) 32-bit o 64-bit Esto determina si ests usando la versin de 32-bit o la de 64-bit. Si ests usando un ordenador de 64-bit es recomendable usar la versin de 64-bit, a menos que ests usando la versin porttil. Ve a Instalando C2 Installing Construct 2 para ms informacin. Tipo de edicin (Release Type) Despus del nmero y la ingeniera puede aparecer la palabra checked. Ests ediciones son para pruebas y pueden mostrar dilogos de fallos indicando un posible problema. Debes informar de esto a Scirra. Si la palabra checked no aparece, indica que la versin de C2 es estable y apropiada para el uso diario. Fecha de creacin (Build timestamp) Incluye la fecha en la que esa programa C2 concreto fue creado por Scirra. Esta fecha puede ser usada por Scirra para diagnsticos. Informacin de OpenGL (OpenGL information) Esta seccin muestra tu tarjeta grfica y las capacidades bsicas. Es importante mantener los drives de la tarjeta actualizados. Muchos fallos en el plano (como objetos que no aparecen o secciones cortadas) son causados por los drivers. Actualizar a la ltima versin arregla estos problemas casi siempre. Si no lo has hecho antes de instalar C2, te recomendamos que busques el enlace de actualizacin y lo ejecutes. Quizs necesites permisos del administrador para hacerlos funcionar. Informacin de la Licencia (License Information) Contiene la informacin si has comprado una licencia. Ve a la seccin, usar una licencia Using a license. Pgina de Crditos Lista todas las personas y organizaciones que han trabajado en la creacin de C2.

3.10.2 Aadir comportamiento (Add behavior)


El dilogo de Aadir comportamiento te permite aadirlo a un tipo de objeto. Algunos comportamientos solo se pueden aadir una vez a un objeto, as que no aparecern en el dilogo si ya est aplicado. Puede abrirse desde el dilogo de Comportamientos de objeto Object Behaviors dialog. Para saber sobre cada comportamiento ve a la seccin de comportamientos del manual.

Simplemente, haz doble clic en el comportamiento que quieras aadir. Seleccinalo para ver una breve descripcin bajo los iconos. Los comportamientos disponibles se pueden filtrar por nombre o tipo en el cuadro de bsqueda arriba a la derecha.

3.10.3 Aadir condicin/accin (Add condition/action)


El dilogo de Aadir condicin y el dilogo de Aadir accin son muy similares. Estos te permiten aadir o editar condiciones o acciones en una Hoja de Eventos. Aadir una accin o condicin consta de tres pasos: 1. Elegir el objeto que tendr la condicin o accin 2. Elegir la condicin o accin en ese objeto 3. Introducir parmetros, si es el caso, como las coordinadas X, Y para ajustar la posicin. Los botones Siguiente (Next) y Anterior (Back) se usan para moverse adelante y atrs por estos pasos.

Paso 1: Elige el objeto


En este paso aparece una lista de todos los tipos de objeto. El Sistema de objeto (System object), que representa la funcionalidad, siempre aparece primero y el resto de objetos estn ordenados alfabticamente.

Haz doble clic en un objeto para seleccionarlo. Escribe en el cuadro de bsqueda para un filtro rpido cuando hay muchos objetos. Las condiciones y acciones que cada objeto contiene se relacionan con el tipo de objeto que es (Sprite, teclado o audio). Por ejemplo, para situar la accin Reproducir sonido (Play sound) en el dilogo, primero haz doble clic en el objeto de Audio. Recuerda que el Sistema de objeto tiene algunas condiciones que se pueden usar en cualquier objeto, como Recoger aleatoriamente (Pick random) y Para cada (For each).

Paso 2: Elegir una condicin o accin


En este paso aparece una lista de condiciones y acciones en el objeto elegido. Estn ordenados en categoras. Abajo se muestra una lista de las condiciones del Sistema de objeto.

Haz doble clic en una condicin o accin para elegirla. Como antes, escribir en el cuadro de bsqueda ayuda a localizarlos ms rpido en una lista. Para ms informacin de cada condicin y accin, ve a Plugin reference. Si el objeto elegido tiene algn Comportamiento, se pueden aadir condiciones y acciones extra en el dilogo. Algunas condiciones y acciones requieren parmetros. Por ejemplo, La accin Ajustar posicin (Set position) para un Sprite requiere las coordenadas X, Y. Esto se hace en el dilogo de parmetros en el siguiente paso. Otras no los usas, como Destruir (Destroy). En este caso el proceso ya estara completo.

Paso 3: Introducir parmetros


Si la condicin o accin elegida requiere parmetros, el dilogo de parmetros aparece. Ver Parameters dialog para ms informacin.

3.10.4 Aadir configuracin (Add configuration)


El dilogo de aadir configuracin se usa para la caracterstica Configuraciones que est en proceso de creacin. Vuelve pronto para ms detalles!

3.10.5 Dilogo de efectos (Effects dialog)


El dilogo de efectos te permite aadir o quitar efectos de objetos, capas y planos. Se puede abrir desde la Barra de Propiedades cuando las propiedades de un objeto aceptan efectos.

Los efectos se pueden aadir con la barra de arriba o clicando el botn derecho y seleccionando Aadir efecto (Add effect). Esto abre el dilogo de Aadir Efecto. Ambas formas tambin te permiten renombrar (F2) o borrar (Del) efectos. Se pueden ordenar los efectos usando los botones Arriba (Up) y Abajo (Down) de la barra o arrastrando y soltndolos. El orden de los efectos es importante porque define el orden en el que son procesados, que puede alterar el resultado visual. Para ms informacin, mira la seccin Effects.

3.10.6 Grupo de eventos (Event group)


El dilogo de Aadir/Editar grupo de eventos (Add/Edit Event Group) contiene los ajustes de los mismos.

Nombre (Name) Un nombre identifica un grupo de eventos y se muestra en grande en la Hoja de Eventos. Cuando habilitas o deshabilitas un grupo de eventos, el nombre identifica qu grupo es. Descripcin Opcional (Description Optional) Una descripcin opcional da un resumen de lo que hacen los eventos del grupo, con propsitos organizativos. Se muestra en el letrero pequeo debajo del nombre de grupo. Activo desde el principio (Active on start) Determina si un grupo de eventos est o no habilitado cuando se comienza el proyecto. Si no est seleccionada, el grupo de eventos estar deshabilitado y ninguno de los eventos que contiene funcionar hasta que se habilite seleccionando Activar grupo (Set group active) en el sistema de accin system action.

3.10.7 Variable de evento


El dilogo de Aadir/Editar Variable de evento (Add/Edit Event Variable dialog) te permite ajustar el nombre, tipo y valor inicial de una variable local o global en una Hoja de eventos.

El Nombre (Name) identifica la variable del evento. Se escriben usando expresiones para recuperar el valor de la variable del evento. Algunos nombres no se pueden usar, como expresiones del sistema ya que se podran confundir. El Tipo (Type) especifica qu tipo de de valor tiene la variable. La variable de un evento puede almacenar un Nmero o Texto (tambin llamado string). El tipo de variable de evento no cambia no puedes almacenar texto en una variable numrica ni viceversa. El Valor inicial (Initial value) es el primer Nmero de una variable numrica, o la inicial de un Texto en una no numrica. Este cuadro se puede dejar vacio. La inicial no necesita comillas. En otras palabras, Hola es una entrada vlida y si introduces Hola la inicial incluir las comillas. Nota que esto es diferente a introducir textos que requieran comillas. La Descripcin (Description) es un comentario opcional que describe brevemente para qu se usa la variable. Se muestra al lado del nombre para recordarte el uso de la variable.

3.10.8 Export project


El dilogo de Exportar objetos (Export Project) exporta el proyecto en un formato preparado para publicar. Para ms informacin, ve a Exporting and Publishing.

Si ests buscando consejos para publicar tu juego, ve al tutorial Publishing and promoting your Construct 2 game . Si ests interesado en detalles tcnicos de la exportacin, mira la seccin Tecnologa (Technology) Exportar para (Export for) Hay varias formas de publicar juegos en HTML5. Para ms informacin, ve a Exporting and Publishing.

Carpeta de archivos (Folder for files) Todos los archivos exportados se generan en esta carpeta. Incluye una variedad de archivos HTML, Javascript, PNG y ms. Se recomienda usar una carpeta nueva y vaca. La carpeta por defecto puede elegirse en Preferencias (Preferences). Subcarpeta de imgenes (Subfolder for images) Todas las imgenes y frames de animacin del proyecto estarn en esta subcarpeta. Djala vaca para exportar las imgenes a la carpeta de exportacin. Subcarpeta de archivos del proyecto (Subfolder for project files) Todos los archivos del proyecto (audio y msica) estarn en esta carpeta. Djala vaca para exportar los archivos a la carpeta de exportacin. Recompresin PNG (PNG recompression) Las imgenes exportadas estn en formato PNG y pueden recomprimirse sin prdidas para reducir ms el tamao. Esto puede tardar bastante ms en exportarse. Usa Ninguno (None) para saltarse este paso los archivos sern ms grandes pero el proceso de exportacin ms rpido. Se recomienda la compresin Estndar (Standard) para asegurar que el tamao de descarga es lo ms pequeo posible. En bruto (Brute) se puede usar si tienes objetos extremadamente grandes o si es importante ahorrar mucha banda ancha, pero el proceso de exportacin ser muy largo. Para ms informacin sobre tcnicas de recompresin de C2, mira este post Image compression in Construct 2 . Minimizar texto (Minify script) El cdigo Javascript exportado se puede comprimir con el Closure Compiler de Google para reducir el tiempo de descarga. Esto se llama minimizar. Al mismo tiempo que el cdigo se oscurece para dificultar su acceso. Por esta razn se recomienda minimizar el script al exportar. Esto requiere que Java est instalado (distinto de Javascript).

3.10.9 Panel de expresiones (Expressions panel)


El Panel de expresiones es un diccionario de todas las expresiones disponibles en tu proyecto. Se muestran al lado del Dilogo de parmetros. Por defecto aparece semitransparente y no te distrer mientras introduces los parmetros. Se puede esconder o mostrar pulsando F4.

El cuadro de bsqueda en la parte de arriba se usa para filtrar objetos rpidamente. Haz doble clic en un objeto para listar todas sus expresiones. Las descripciones se muestran tambin al lado de cada expresin para indicar el valor de recuperacin. Haz doble clic en una de las expresiones de la lista para introducirla en la expresin actual en el Dilogo de parmetros. Pulsa Escape o clica el botn Atrs (Back) para volver a la lista de objetos. Las expresiones de comportamiento se muestran tambin en objetos con comportamientos. La pgina del Sistema lista todas las expresiones del sistema y variables globales y locales (mira Event Variables).

3.10.10 Formato de imgen (Image format)


El dilogo de formato de imagen se abre en el editor de imgenes/animaciones para ajustar el formato de una imagen cuando se exporta el proyecto.

Las imgenes del proyecto se guardan siempre en formato PNG-32. Este es el nico formato que preserva una imagen con el canal alfa (alpha chanel). Estos ajustes slo se aplican cuando el proyecto se exporta. Son principalmente para reducir el tamao de los archivos de imagen para que el juego ocupe menos. Las imgenes en PNG se recomprimen al exportarlas para reducir el tamao sin afectar la calidad de imagen. Para ms informacin, mira el post Image compression in Construct 2 . El dilogo de formato de imagen tiene las siguientes opciones: Formato (Format) El formato de la imagen al exportar. En resumen, los formatos son: PNG-32 (por defecto) puede almacenar colores verdaderos sin prdidas (perfectamente, sin perder calidad) con la transparencia del canal alfa. Pero, los archivos son ms grandes. PNG-8 es una versin de 256 colores. Soporta el canal alfa pero slo dentro de los 256 colores. Imgenes retro o de pocos colores se vern igual en PNG-8. Imgenes con ms de 256 colores se reducirn a estos y puede degradar la calidad. Por otra parte, C2 usa un algoritmo avanzado (PNGNQ ) para alcanzar esta reduccin de color. Esto significa que muchas imgenes permanecern idnticas. Los archivos en PNG-8 son mucho ms pequeos que en PNG-32, as que es una forma til de reducir el tamao del juego. JPEG es un formato de imgenes de diseo para fotografa o imgenes muy detalladas. No soporta transparencia, as que no es apropiado para imgenes que tienen transparencias o canales alfa (aparecern con fondo negro). Pero este formato puede conseguir los archivos ms pequeos, dependiendo de los ajustes de calidad. El formato es mejor para minimizar el tamao de las imgenes de un fondo grande. Para ms informacin sobre estos formatos busca en Wikipedia PNG o JPEG .

Calidad (Quality) Los ajustes de calidad cuando usas el formato JPEG. La calidad va desde 0 (peor calidad, archivo ms pequeo) a 100 (mejor calidad, archivo ms grande). Las calidades por encima de 85 son difciles de distinguir del original.75 es la recomendada en relacin calidad tamao. Aplicar este ajuste a (Apply this setting to) Te permite hacer el mismo ajuste de formato para muchas imgenes de una vez. Este frame (This frame) o Esta imagen (This image) aplica los ajustes slo a la imagen/frame actual. Esta animacin (This animation)-slo para sprite, aplica los ajustes a todos los frames de la animacin actual. Todas las animaciones (All animations) solo para sprite, aplica los ajustes al objeto entero, todas sus frames en todas sus animaciones. El proyecto entero (Entire Project) aplica los ajustes a todas las imgenes del proyecto. salo con cuidado, ya que se modifica cualquier ajuste de formato hecho previamente en cualquier objeto del proyecto y no se puede deshacer.

3.10.11 Importar audio (Import audio)


El dilogo de importar audio permite aadir archivos de audio al proyecto desde el disco. Se accede a l seleccionando Importar Sonidos (Import Sounds) o Importar Msica (Import Music) en el men del botn derecho de la carpeta de Sonidos o Msica en la Barra del Proyecto. Asegrate de que aades Objetos de audio a tu proyecto para que tenga msica y efectos de sonido.

Antes de que aparezca el dilogo, se te sugerir seleccionar algn archivo de audio desde el disco. Puedes seleccionar ms de uno. Los archivos aparecen en el dilogo de Importar audio antes de ser realmente importados, mostrando si esos formatos son o no vlidos. Tambin puedes clicar Aadir ms archivos (Add more files) para aadir ms archivos a la lista. Clica Importar (Import) para empezar a importar la lista de archivos al proyecto. Esto puede tardar si los audios son muy largos (como canciones enteras); una barra de progreso aparecer durante el proceso. Solo se importarn los audios que tengan un formato vlido para el programa. Una vez el proceso haya finalizado, la lista mostrar los archivos que se hayan importado correctamente. Clica Hecho (Done) para cerrar el dilogo. Es recomendable importar archivos PCM .wav ya que son aceptados en la mayora de dispositivos y C2 puede encodearlos en Ogg Vorbis y MPEG-4 AAC (slo para Windows 7+).

Los dos formatos de audio requeridos


Los creadores de navegadores no se han puesto de acuerdo en que formato de audio usar en ellos. Internet Explorer y Safari usan MPEG-4 ACC (.m4a) y el resto (Firefox, Chrome y Opera) usan el formato gratuito Ogg Vorbis. Para poder reproducir el audio en todos los navegadores, tus audios deben estar en los dos formatos. C2 te ayuda encodeando y descomprimiendo el audio que importas al formato .m4a o .ogg automticamente. Aunque slo lo har automticamente en Windows 7 o superior. Los usuarios de Windows XP y Vista deben encodear ellos mismos los archivos .m4a. La extensin del archivo ser .m4a. Hay encodeadores gratuitos; busca en la web AAC encoders. El formato Ogg Vorbis ser encodeado en cualquier sistema. C2 favorece el formato Ogg Vorbis. Cuando eliges un sonido en el sistema de eventos, slo aparecern los archivos .ogg. El otro formato se considera como un apoyo para aquellos navegadores que no soportan Ogg Vorbis. Esto significa que si importas un archivo en .m4a sin el correspondiente .ogg, este no aparecer en el sistema de eventos. C2 no transformar archivos .m4a a .ogg ni viceversa; se recomienda importar archivos PCM .wav para que C2 los encodee. Transformarlos significara perder calidad.

Categorizar correctamente archivos de audio


Es importante organizar de forma apropiada los archivos de audio, porque los archivos de la carpeta Sonidos se descargan completamente antes de reproducirlos pero los de la carpeta Msica se reproducen en streaming. Esto significa que si una cancin se pone en la carpeta Sonidos tendr que descargarse completamente (lo que tardara unos cuantos minutos) antes de reproducirse, mientras que en la carpeta Msica pueden empezar inmediatamente desde el servidor.

Formatos de audio aceptados


Hay muchos formatos y muchos de ellos son aceptados a distintos niveles. Adems, muchos tienen sub-formatos y no todos los sub-formato son aceptados. Esto hace complicado describirlos. Pero te recomendamos que solo importes archivos PCM .wav, que son los ms aceptados y pueden encodearse en los dos formatos necesarios .m4a y .ogg. Nota que hay distintos tipos de archivos .wav a parte de PCM y stos pueden no ser aceptados. Cualquier buen software de codecs podr convertirlos a PCM .wav. Intenta evita formatos con prdidas antes de importarlos a C2, porque la calidad empeorara al encodearlos a .ogg y .m4a. La siguiente lista de formatos est ordenada por su extensin y si C2 puede o no convertirlos a Ogg Vorbis (.ogg) o MPEG-4 AAC (.m4a). .wav (PCM o similar): Ambos .flac (FLAC): Ambos .ogg (Ogg Vorbis): Se puede importar pero no convertir a .m4a .m4a (MPEG-4 AAC): Se puede importar pero no convertir a .ogg .aif, .aiff, .aifc (AIFF): solo a .ogg .aac (MPEG-4 AAC): solo a .m4a .mp3 (MPEG-1 layer 3): solo a .m4a .wma (Windows Media Audio): solo a .m4a

3.10.12 Puntos de imagen


El dilogo de Puntos de imagen te permite hacer ajustes en el origen del objeto (el punto de rotacin) y en los puntos de la imagen (puntos arbitrarios a los que se puede acceder en eventos). Se accede a travs del editor de imgenes y animaciones. El Origen (Origin) es un punto especial que define el cetro del objeto, o su punto de rotacin. Es diferente, de color rojo. Se incluye dentro de los puntos de imagen y tienen un ndice que empieza en 0, en el que el 0 es siempre el origen. No se puede renombrar. Los Puntos de la imagen (Image points) son tiles para crear puntos derivados en otros objetos. Ya que puedes crear objetos en un punto de imagen en Eventos, es til situar puntos en lugares como la punta del arma del jugador. Estos puntos s que pueden renombrarse, para referirse a ellos en Eventos por su nombre.

Debajo, se sita un punto de imagen en la punta del arma de un jugador.

Selecciona un punto de imagen de la lista para que aparezca en la imagen. Clica el botn derecho para situar el punto bajo el ratn. Las flechas del teclado tambin pueden moverlo 1 pxel cada vez. Se puede situar un punto rpidamente usando los nmeros, 1 para la esquina izquierda y 5 para el centro. Tambin puede clicarse con el botn derecho el punto en el dilogo de puntos de imagen y elegir la opcin en el men de acceso rpido. Clicar con el botn derecho un punto de imagen en el dilogo tambin da la opcin de Aplicar a toda la animacin (Apply to whole animation). Esto sita el punto en el mismo lugar en todos los frames. Si el punto no existe en alguno de los frames, esta opcin lo crea. Mantener shift mientras sitas el punto es un acceso directo.

3.10.13 Importacin de banda de sprites (Improt sprite strip)


Este dilogo te permite importar una imagen que contenga la animacin completa en una cuadricula. Se accede a ella va la Barra de frames de animacin. Tras elegir Importar banda de sprites (Import sprite strip) aparece un dilogo para seleccionar el archivo de imagen. Despus de elegirlo, aparece el siguiente dilogo para que introduzcas cuantos frames hay en la animacin.

Por ejemplo, la siguiente imagen tiene 7 celdas horizontales y, puesto que solo hay una fila, una celda vertical:

Esta imagen est en una cuadrcula que tiene 4 celdas horizontales y 4 verticales:

En ambos casos, C2 separar cada celda en un frame distinto de la animacin.

3.10.14 Insertar nuevo objeto

El dialogo para importar un Nuevo objeto aparece despus de hacer doble clic en un espacio de la Vista de Plano. Te permite elegir el tipo de objeto a insertar (cada tipo se conoce como plugin). Insertando un nuevo objeto creas un nuevo tipo de objeto. Mira Estructura del Proyecto (Project Structure) para una descripcin de la diferencia entre tipos y ejemplos de objeto. Tambin mira Plugin Reference para ms informacin sobre plugings.

Los plugins se ordenan en grupos. Dentro de cada uno estn ordenados alfabticamente. Seleccionando un tem se muestra una breve descripcin de lo que el plugin hace en el campo Descripcin (Description) en la parte baja del dilogo. Escribir en el cuadro de bsqueda de arriba filtrar rpidamente la lista para ayudarte a encontrar lo que buscas. El Nombre que introduces indica el nombre del tipo de objeto que aparecer en el proyecto tras insertarlo. Por defecto se nombrarn numricamente como Sprite2, Sprite3, etc. Sera buena idea darles nombres descriptivos para no confundirte ms tarde. Puedes introducir un nombre descriptivo en este cuadro, pero si no puedes renombrarlo tambin a travs de la Barra de propiedades o la Barra del proyecto. Haz doble clic en un tem para insertarlo. Si el objeto puede situarse en un plano y est abierta la Vista de plano, el cursor se convertir en una mira para situar el primer ejemplo del objeto. Para

objetos con imgenes o animaciones, tras haber situado el ejemplo el editor de imgenes o animaciones aparecer para poder disear sobre ella. Otros tipos de objeto (como el teclado o un objeto de audio) no necesitan ser situados en el plano. Tras insertarlos, el dilogo se cierra sin necesidad de situarlo. En su lugar aparecer una barra notificadora indicando que ya est disponible en todo el proyecto. Este tipo de objetos solo pueden ser insertados una vez y desaparecern de la lista si vuelves a abrir el dilogo.

3.10.15 Variable de ejemplo (Instance variable)


El dilogo de Aadir/Editar Variable de ejemplo te permite ajustar el nombre, tipo y valor inicial de una variable de ejemplo en un tipo de objeto. Puede abrirse desde el dilogo de Variable de ejemplo de objeto (Object Instance Variables dialog).

El Nombre (Name) identifica la variable de ejemplo. sto se escribe como expresiones tras el nombre de objeto (por ejemplo, Sprite.MyVariable) para poder recuperar el valor de la variable. Algunos nombres no se pueden usar si entran en conflicto con otras expresiones o comportamientos de objeto. El Tipo (Type) especifica qu tipo de valor tiene la variable. Una variable de objeto puede almacenar Nmero (Number), Texto (Text)-(tambin llamado string) o Booleano (Boolean)-(un valor on/off, tambin llamado flag). El tipo de una variable de ejemplo no cambia por ejemplo, no puedes almacenar texto en una variable numrica. El Valor inicial (Initial value) es el primer nmero o inicial del texto o verdadero/falso en un Booleano. El texto inicial se puede dejar vacio y si lo introduces no son necesarias comillas. En otras palabras Hola es una entrada vlida, pero si introduces Hola la inicial incluir las comillas. Nota que eso es diferente a si la expresin necesita comillas. La Descripcin (Description) es un comentario opcional que te describe brevemente para que se usa la variable. Se muestra al lado del nombre en el editor para recordarte su uso. Tambin se muestra en la Barra de Propiedades cuando la variable est seleccionada.

3.10.16 (Nuevo proyecto) New project


El Dilogo de Nuevo proyecto aparece cuando creas un Nuevo proyecto. Te permite elegir entre distintos tipos de proyecto.

Elige entre un proyecto de un solo archivo o una carpeta del proyecto. Ve a project types para ms informacin. Un proyecto de un solo archivo puede crearse inmediatamente, pero una carpeta del proyecto requiere que se cree la carpeta antes de empezarlo. Los proyectos de un solo archivo son mejores para proyectos pequeos y los de carpeta para proyectos grandes. El tipo se puede cambiar en cualquier momento eligiendo Guardar como proyecto (Save as project) o Guardar como un solo archivo (Save as single file) en el Men de Archivos.

3.10.17 Variables de ejemplo de objeto (Object instance variables)


El dilogo de Variables de ejemplo de objeto enumera todas las variables de ejemplo que un tipo de objeto tiene. Se puede abrir desde la Barra de Propiedades mientras se muestran las propiedades del objeto, o clicando el botn derecho en el objeto en la Barra del Proyecto o en la Barra de Objeto y seleccionando Variable de ejemplo... (Instance variables...)

Las variables de ejemplo se pueden aadir con la barra superior o clicando el botn derecho y seleccionando Aadir variable de ejemplo (Add instance variable). Esto abre el dilogo de Aadir variable de ejemplo (Add Instance Variable dialog). La barra superior y el men del

botn derecho tambin te permiten renombrar (rename)-F2 o borrar (delete)-Del variables de objeto. Haz doble clic en una variable de ejemplo de la lista para editarla. Las variables de ejemplo pueden reordenarse usando los botones Arriba (Up) y Abajo (Down) en la barra, o arrastrndolas y soltndolas. El orden es solo para organizacin no afecta a cmo funcionan. Si todos los ejemplos de un tipo de objeto tienen el mismo valor inicial para una variable de ejemplo, se mostrar en la columna Valor inicial (Initial Value). De todas formas, los ejemplos pueden tener diferentes valores iniciales ajustados en la Barra de Propiedades. Si es as la columna Valor inicial (Initial value) mostrar <varies>. Editar una variable de ejemplo variando los valores y cambiando el valor inicial en el dilogo de Editar variables de ejemplo dar un nuevo valor inicial para todos los ejemplos, sobrescribiendo los valores previos.

3.10.18 Comportamientos de Objeto (Object behaviors)


El dilogo de Comportamientos de Objeto enumera todos los comportamientos que tiene un tipo de objeto. Se puede abrir desde la Barra de Propiedades mientras se muestran las propiedades del objeto o clicando el botn derecho en el objeto en la Barra del Proyecto o en la Barra de Objeto y seleccionando Comportamientos (Behaviors) Para informacin sobre los comportamientos, ve a la seccin Behavior Reference.

Los Comportamientos se pueden aadir con la barra superior o clicando el botn derecho y seleccionando Aadir comportamiento (Add behavior). Esto abre el dilogo de Aadir Comportamiento. La barra y el men del botn derecho tambin te permiten renombrar (rename)-F2 o borrar (delete)-Del comportamientos. El comportamiento aparece por su nombre en el sistema de eventos. Los comportamientos se pueden reordenar usando los botones Arriba (Up) y Abajo (Down) en la barra, o arrastrndolas y soltndolas. El orden es solo para organizacin no afecta a cmo funcionan.

3.10.19 Parmetros (Parameters)


El dilogo de parmetros aparece despus del dilogo de aadir condicin o accin, o cuando editas una condicin o accin. Te permite introducir parmetros como las coordinadas X e Y para Ajustar la posicin (Set position) de los objetos (sprite). No aparece para acciones o condiciones que no usen parmetros, como Destruir (Destroy). Se introducen expresiones, que pueden ser cualquier cosa, desde un nico valor numrico a una sofisticada cuenta matemtica. El panel de expresiones (expressions panel) aparece al lado del dilogo de parmetros dndote una lista de todas las expresiones que puedes introducir. Por defecto, el panel de expresiones est difuminado a menos que pases el ratn sobre l. Tambin se puede esconder o mostrar pulsando F4.

Usa el panel de expresiones para localizar expresiones del sistema, expresiones de objeto, expresiones de comportamiento, variables locales o globales o variables de ejemplo. Tambin puedes usar autocompletar (autocomplete): tecleas una expresin hasta el punto (por ejemplo Sprite.) y aparecer una lista de todas sus expresiones. Esta lista muestra las expresiones de objeto, sus variables de ejemplo y los comportamientos. Usa las flechas arriba y abajo del teclado para seleccionar una y Enter para entrar en ella.

Algunas expresiones tambin tienen consejos para ayudarte a recordar cmo usarla. Aparece cuando escribes un parntesis abierto ( al lado de la expresin. Esto es muy til en expresiones del sistema que suelen tener muchos parmetros.

Pulsa el tabulador para ir al siguiente parmetro o Shift + Tabulador para ir a la anterior. Enter es un acceso directo de presionar Hecho (Done) quizs tengas que pulsa Enter dos veces si ests usando autocompletar: una para elegir la entrada de autocompletar y otra para cerrar el dilogo.

3.10.20 Preferencias (Preferences)


El dilogo de preferencias contiene ajustes para el editor de C2. Se puede abrir desde el Men de archivos. Los ajustes estn organizados en 3 pestaas: General (General), Exportador HTML5 (HTML5 exporter) y Copia de seguridad (Backup).

General
Esta seccin contiene ajustes generales de C2.

Cambiar el tamao de los controladores de tamao (Resize handle size) Cambia el tamao de los controladores de tamao en la Vista de Plano. Por defecto es Pequeo (Small). Fuente de la Hoja de evento (Event sheet font) Cambia la fuente usada en la Vista de Hoja de evento. Por defecto es Segoe UI, 9pt. Mostrar la pgina de inicio al ejecutar (Show start page on startup) Si lo seleccionas, la pgina de inicio siempre aparecer al ejecutar C2. Si lo deshabilitas, aparecer una pantalla vaca al inicio. Cerrar la pgina de inicio cuando clicas en algo (Close the start page when I click on something) Si lo seleccionas, la pgina de inicio se cerrar en cuanto cliques alguno de los enlaces (por ejemplo, un proyecto reciente). Si no, la pgina de inicio continuar abierta. Comprobar actualizaciones (Update checking) Elige una opcin entre: Don't for updates: C2 no acceder a internet para buscar nuevas versiones. Esto no se recomienda pues las nuevas versiones suelen incluir mejoras significativas. Check for beta updates: Buscar nuevas versions betas, para pruebas de Scirra. Check for updates: Buscar nuevas versiones de Scirra que ya han sido probadas por otra gente.

Restaurar dilogos (Reset dialogs) Clica este botn para restaurar todos los dilogos y barras en la interfaz a su posicin y tamao por defecto. Se te preguntar para que lo confirmes, y despus debes reiniciar C2 para que los cambios se apliquen. Esto es til si quieres volver a los valores por defecto. Si por alguna razn los dilogos tienen fallos o simplemente no aparecen cuando los intentas abrir, restaurar con esta opcin puede solucionarlo.

HTML5 exporter

Esta seccin contiene ajustes para el exportador de HTML5, adems de los servidores locales para la vista previa.

Navegador por defecto de vista previa (Default previewer browser) Elige los ajustes del navegador de vista previa de tus nuevos proyectos. Esto no afecta a ningn proyecto ya existente. Navegador personalizado (Custom browser) Elige cualquier archivo ejecutable del disco para hacer una vista previa cuando el Navegador de vista previa est en Personalizar (Custom). Por ejemplo, quizs quieras instalar un navegador en pruebas (beta) junto a la versin estable y as tienes la opcin de hacer la vista previa en el beta. Adems, a veces C2 no detecta los navegadores tradicionales aunque estn instalados, as que puedes especificarlo manualmente aqu. Carpeta de exportacin por defecto (Default export folder) Elige la carpeta para exportar en el Dilogo de exportacin de proyectos. Por este camino <project name> se sustituye por el nombre del proyecto, o el nombre del proyecto se agregar a la ruta si no est presente. La opcin predeterminada es el escritorio. Puerto del servidor HTTP (HTTP server port) El puerto que usar al hacer una vista previa. Por defecto es 50000. No debes cambiarlo a menos que sepas que hay alguien ms que usa este puerto en tu ordenador. C2 tambin probar los siguientes 100 puertos si el elegido est en uso. Debes reiniciar C2 antes de que se apliquen los cambios. Vista previa de la direccin LAN (Preview on LAN address) Introduce la direccin IP de tu ordenador en red de rea local (LAN) para permitir compartir la vista previa con cualquier dispositivo en tu LAN. Clica el botn de la derecha para ver una lista de posibles direcciones IP de tu ordenador. Para usar esta funcin, tambin debes permitir que el puerto del servidor HTTP pase a travs del Firewall, y C2 debe funcionar con los permisos del administrador. Si no, introduciendo localhost solo puedes ver la vista previa en tu ordenador, pero no requiere permisos. Para ms informacin sobre como ajustar y usar esta funcin, mira el tutorial How to preview on a local network .

Copia de Seguridad (Backup)

Esta seccin contiene ajustes que te ayudan a fijar una copia de seguridad automtica para tu trabajo. Esto es esencial para mantenerlo a salvo de fallos del hardware, robos, fuegos o inundaciones. Para ms informacin, mira el tutorial Keep your work safe with Construct 2's backup options .

Copia de seguridad automtica (Auto-backup) Guarda copias de seguridad de archivo nico (.capx) en la misma carpeta que tu proyecto siempre que seleccionas Guardar (Save). Tienen la extensin .capx.backupN. Por ejemplo, si se han creado 3 copias, myfile.capx.backup1 ser la ltima guardada, myfile.capx.backup2 ser la penltima y myfile.capx.backup3 la antepenltima. Por defecto, C2 siempre conserva una copia, permitindote recuperar el trabajo desde ah. De todas formas, puedes perder tus copias de seguridad a la vez que el proyecto, por lo que se recomienda guardar estas copias, de vez en cuando, en un disco externo o similar. Carpetas de copias de seguridad (Backup folders) Para asegurar tu trabajo, es vital guardar tus copias en distintos lugares, como otro ordenador o un disco duro. (Subindolas a Dropbox estn totalmente protegidas). Para ayudarte a hacer esto, C2 puede guardar tus copias en diferentes carpetas a intervalos regulares. Puedes elegir 3 carpetas y el inte4rvalo de guardado. Las copias se guardan en un solo archivo (.capx) ms un texto al azar para evitar dos archivos con el mismo nombre que puedan sobreimprimirse (por ejemplo, myfile-abc123.capx y myfile-def456.capx). Nota: las copias slo se realizan si seleccionas Guardar (Save). Simplemente abriendo un archivo que otra persona te ha enviado no crea una copia de seguridad, debes modificarlo y darle a Guardar (Save).

3.11 Accesos directos de teclado (Keyboard Shortcuts)


General
Ctrl + X Cortar (Cut) Ctrl + C Copiar (Copy) Ctrl + V Pegar (Paste) Ctrl + Arrastrar el ratn con el botn derecho Duplicar (Duplicate) Ctrl + Z Deshacer (Undo) Ctrl + Y Rehacer (Redo) Ctrl + A Seleccionar todo (Select all) Ctrl + N Nuevo proyecto (New project) Ctrl + O Abrir proyecto (Open project) Ctrl + S Guardar proyecto (Save project) Alt + F4 Cerrar C2 (Close Construct 2) Tambin puedes presionar Alt para navegar por la barra de herramientas. Cuando lo presionas, aparecen las teclas de acceso directo de cada herramienta. F4 Vista previa desde el primer plano (Preview project from first layout) F5 Vista previa del plano actual (Preview current layout) F6 Exportar proyecto (Export project) Ctrl + Rueda del ratn hacia arriba o Nmeros del teclado + Ms Zoom Ctrl + Rueda del ratn hacia abajo o Nmeros del teclado Menos Zoom Aadir shift para ajustar la distancia del zoom. Ctrl + 0 Regreso al zoom 100% (Return to 100% zoom) Arrastar el botn central del ratn o Mantener pulsado espacio y mover el ratn Mueve la vista (Pan the view) Borrar Borrar elementos seleccionados (Delete selected items) F2 Renombrar el element seleccionado (Rename selected item) Ctrl + clic Aade o elimina de la seleccin el elemento clicado Shift + clic Como el anterior, pero en la Vista de hoja de eventos selecciona todo entre lo ltimo seleccionado y el clic. Escape Cancelar el movimiento, la situacin o la bsqueda de eventos. Ctrl + Tab Ir a la siguiente pestaa a la derecha. Ctrl + Shift + Tab Ir a la siguiente pestaa a la izquierda.

Vista de plano (Layout view)


Mirar tambin: Layout View Ctrl + E o Shift + Tab Ir a la Hoja de eventos asociada. Flechas del teclado (Arrow keys) Mueve el objeto seleccionado 1 pxel mantn shift pulsado para 10 pxeles. Mantn shift mientras cambias el tamao para mantener la proporcionalidad Mantn shift mientras rotas para girar de 5 en 5 grados. Mantn shift mientras arrastras para mover sobre el eje (slo a lo largo o en diagonal) Ctrl + D Deseleccionar todo (Unselect all)

Vista de hoja de eventos (Event Sheet View)


Ver tambin: Event Sheet View Ctrl + L o Shift + Tab Ir al plano asociado (si hay algunas hojas de eventos no tienen) Flecha del teclado hacia arriba y hacia abajo Mueve la seleccin arriba y abajo en la hoja Flecha del teclado izquierda y derecha Mueve la seleccin a ambos lados de la hoja entre eventos, condiciones y acciones. Enter Editar el elemento seleccionado Escape Borrar la bsqueda de eventos A Aadir accin (Add action) B Aadir subevento vaco (Add blank subevent) C Aadir condicin (Add condition) D Deshabilita los elementos seleccionados (Toggle selected items disabled) E o Numeracin del teclado + Aadir elemento debajo (Add event below) Shift + E o Numeracin del teclado Aadir elemento arriba (Add event above) G Aadir grupo (Add group) I Invertir la seleccin (Invert selected conditions) N Aadir inclusin (Add include) Q Aadir comentario (Add comment) S Aadir subevento (Add subevent) V Aadir variable (Add variable) X Aadir Ms (Else) evento tras evento (Add 'Else' event following selected event) Y Bloquear (Toggle 'Or' block)

Dilogo de parmetros (Parameters dialog)


El dilogo de parmetros es donde introduces expresiones, por ejemplo las coordenadas X e Y.

F4 Hace visible el panel de expresiones. Muestra todas las expresiones que puedes usar. Tab Parmetro siguiente Shift + Tab Parmetro anterior Escape Cancelar (Cancel) Enter Hecho (Done)

Editor de imgenes y animaciones (Image and Animations editor)


Ver tambin: Image and Animations editor Asigna rpidamente el origen y los puntos de imgen: Nmero del teclado 1 o Fin (End) Abajo a la izquierda Nmero del teclado 2 Abajo Nmero del teclado 3 o Avanzar pgina (Page down) Abajo a la derecha Nmero del teclado 4 Izquierda Nmero del teclado 5 Centro Nmero del teclado 6 Derecha Nmero del teclado 7 o Inicio (Home) Arriba a la izquierda Nmero del teclado 8 Arriba Nmero del teclado 9 o Retroceder pgina (Page up) Arriba a la derecha Flechas del teclado Mover 1 pxel Mantn Shift para aplicar estos puntos a la animacin completa. Shift + Clic tambin lo hace. Shift + Botn recortar (Crop button) Recorta la animacin completa Shift + Botn espejar (Mirror button) Espeja la animacin completa Shift + Botn voltear (Flip button) Voltea la animacin completa Shift + Rotar en el sentido de las agujas del reloj (Rotate Clockwise button) Rota la animacin completa en el sentido de las agujas del reloj. Shift + Rotar en el sentido contrario a las agujas del reloj (Rotate Anticlockwise button) Rota la animacin completa en el sentido contrario a las agujas del reloj. Slo para animaciones: Ctrl + Izquierda o Frame anterior Ctrl + Derecha o + Frame siguiente P Hacer vista previa

4. Proyectos primitivos
Esta seccin rene todos los primitivos (elementos bsicos) de los proyectos. Estos primitivos ofrecen los bloques con los que se forman juegos complejos. Para una vista por encima ver el apartado Estructura del Proyecto (Project structure) de la seccin Resumen. C2 usa un sistema de eventos de programacin libre para disear. Si no conoces el sistema de eventos, la seccin Cmo funcionan los eventos (How events work) te lo explica.

4.1 Proyectos
Un proyecto es un juego o aplicacin completa hecha con C2. Los proyectos contienen todos los elementos que componen el juego, desde eventos a archivos de sonido. Se muestra un resumen del proyecto en la Barra del Proyecto y all se pueden aadir, renombrar, eliminar y ordenar en carpetas los elementos. Mira la Estructura del Proyecto (Project structure) para ver un resumen de todos los elementos. A continuacin se tratan ms detalles sobre cada una de las partes. Los proyectos se pueden abrir, cerrar y exportar desde el Men de archivos. Mira tambin Guardar y compartir proyectos (Saving and sharing projects) y Exportar y publicar (Exporting and Publishing). Si ests interesado en aspectos tcnicos ve a la seccin Tecnologa (Technology). Se recomienda seguir los consejos de Buenas Prcticas (Best practices) cuando trabajas en un proyecto.

Propiedades del proyecto


Las propiedades del proyecto se pueden editar en la Barra de Propiedades tras seleccionar el nombre del proyecto en la Barra del Proyecto o usando los accesos directos de las propiedades del proyecto en las propiedades del plano. El Nombre (Name), Autor (Author) y Descripcin (Description) se usan en algunas opciones de exportado, as que asegrate de rellenarlos correctamente. Nombre (Name) El nombre o ttulo del proyecto. Autor (Author) El nombre de la persona o equipo que desarrolla el proyecto. Descripcin (Description) Una frase o dos que resuman el proyecto. Versin (Version) Un nmero que identifique la versin o revisin del proyecto. Puedes usarlo para tus propias copias pero a veces es til al exportar para identificar una nueva versin del mismo proyecto. Es buena idea incrementar el nmero cuando publiques una nueva versin.

Primer plano (First layout) Selecciona que plano es el primero en aparecer cunado exportes el proyecto. Cuando haces una vista previa en el editor suele ser de un solo plano especfico, as que este ajuste no se aplicar hasta la exportacin. Redondeo de pxeles (Pixel rounding) Por defecto los objetos de C2 pueden situarse en posiciones con decimales (por ejemplo, 100,3 o 200,8). Si el navegador usa un filtro lineal, el pxel puede verse borroso. Si seleccionas Redondeo de pxeles (Pixel rounding) los objetos de C2 redondearan su posicin a un nmero entero (por ejemplo, 100 o 201). Esto evita que se vea borroso y que se solapen objetos en la cuadrcula. Nota que esto no afecta a las coordenadas X e Y, que pueden seguir estando entre pxeles slo afecta cuando los objetos aparecen en la pantalla. Usar un plano de carga (Use loader layout) Usa un Primer plano especial que se muestre mientras el resto de planos se cargan. La expresin del sistema proceso de carga (loadingprogress) muestra el proceso de 0 a 1 (0,5 sera la mitad). Para ms informacin, mira el tutorial how to make a custom loading screen . Tamao de la ventana (Window size) El tamao de la ventana en el juego, en pxeles. Solo se aplica si la Pantalla completa del navegador (Fullscreen in browser) est apagada. Aparece una lnea discontinua en la Vista de Plano indicando el tamao. Navegador para la vista previa (Preview browser) Elige que navegador se utiliza para hacer una vista previa de tu proyecto. Aparecen todos los navegadores ms usados para Windows. Marca por defecto (default) para usar el navegador por defecto de tu sistema. Marca personalizar (custom) para usar un navegador personalizado en Preferencias (Preferences). Se recomienda probar el proyecto en varios navegadores antes de lanzarlo. Pantalla complete en el navegador (Fullscreen in browser) En vez de mostrar el proyecto en un rectngulo dentro de la web (si esta opcin est deshabilitada), se puede utilizar el navegador completo. Hay dos formas: Modo de recorte (Crop mode) que simplemente hace la ventana ms grande, o Modo de escala (Scale mode) que tambin escala el contenido de la ventana para que se ajuste a la pantalla. Para ms informacin mira el tutorial supporting multiple screen sizes . Uso de pantalla de retina iOS (Use iOS retina display) Algunos dispositivos iOS, como el iPhone 4S o el iPad 3 usan pantallas de alta resolucin retina. Aqu la resolucin es doble y hay 4 pxeles por cada pxel de un dispositivo normal. Si esta en S el Uso de pantalla retina de iOS el juego se cargar usando la resolucin total del dispositivo, y el ancho y alto de la ventana ser doble (as que debes usar diferentes tamaos de ventana mira supporting multiple screen sizes ). Si est en No el juego cargar a una resolucin ms baja. Entonces se estirar para ocupar toda la pantalla (con filtro bilineal). La baja resolucin mejorar el rendimiento pero no usa los grficos ms ntidos de estas pantallas. Por defecto la opcin est en S pero si tu trabajo no es para pantallas de retina, quizs quieras apagarlo para mejorar el rendimiento. Habilitar WebGL (Enable WebGL)

Habilita el WebGL ms rpido y potente que puedas. Se usar el lienzo canvas 2D se si WebGL no se puede usar. Mira la seccin Tecnologa (Technology) para ms informacin sobre lienzos. Si WebGL est habilitado, tambin se podr hacer vista previa de los efectos en la Vista de plano. Muestra (Sampling) Elige entre muestra linear (ntida) o point (pixelada) cuando cambies el tamao de las imgenes. Se recomienda linear para juegos modernos con grficos de alta resolucin y point para juegos retro que usan bloques pixelados. Estilo del cargador (Loader style) Cambia el cargador por defecto que se muestra cuando el juego est cargando o mientras el propio plano de carga todava est cargando. Mira el tutorial how to make a custom loading screen . Aclarar fondo (Clear background) Salta aclarar fondo al principio de cada frame. Esto es til para mejorar el rendimiento en mviles (mira Consejos sobre rendimiento Performance Tips). Cada vez, el frame se convierte en negro claro, despus en el color de la capa de abajo (si no es transparente) y finalmente en el suyo propio. Aclarar fondo indica si hacer el primer paso. La propiedad de capa transparente indica si hacer el segundo paso. Si todos los planos contienen capas opacas puedes seleccionar No en Aclarar fondo ya que la capa de fondo siempre aclarar la pantalla. Si los planos son totalmente opacos por sprites u otros objetos, puedes ajustar todas las capas a transparente para saltar ambos pasos. En este caso, ningn rea descubierta por los objetos tendr fallos o estar llena de pixeles extra.

4.2 Planos
Un plano se conformas de un diseo de objetos. Puede corresponder a un nivel del juego, al men o a una pantalla de ttulos. En otras herramientas tambin pude significar escenas, habitaciones, frames o etapas. Se pueden aadir, renombrar y borrar en la Barra del Proyecto. Los planos se editan en la Vista de plano. Cada plano tiene una hoja de eventos asociada que define como funciona. Los planos contienen diversas capas. Los objetos que aparecen en la pantalla no pertenecen directamente al plano, si no a la capa que est en el plano. Los planos no tienen un fondo de color. Para asignar un color al fondo, haz que la capa de abajo sea opaca y asgnale un color. Se puede hacer en la Barra de Capas. Tambin se le pueden aplicar efectos, que se aplican a todos los elementos que aparecen en la pantalla.

Layout properties
Las propiedades de un plano se pueden editar en la Barra de Propiedades tras clicar un espacio en el plano o seleccionando el nombre del plano en la Barra del Proyecto. Nombre (Name) El nombre del plano.

Hoja de eventos (Event sheet) La Hoja de eventos asociada que define como funciona el plano. Estas hojas se pueden usar en ms de un plano usando incluye (includes) en planos con los mismos eventos. Capa activa (Active layer) Esta es la capa en la que se sitan los objetos. Se selecciona en la Barra de Capas. La activa se muestra en la Barra de Estado mostrndose tambin consejos cuando introduces un nuevo objeto. Todos los objetos nuevos se aaden a la capa activa. Desplazamiento ilimitado (Unbounded scrolling) Por defecto la ventana del juego no puede desplazarse ms all de los lmites del plano. Selecciona S (Yes) para permitir un desplazamiento sin lmites, incluso fuera de los lmites del plano. Tamao del plano (Layout size) El tamao, en pxeles, del rea del plano. Aunque est seleccionado el desplazamiento ilimitado, esto sigue afectando a la parte del plano que se muestra en la Vista de plano. Mrgenes (Margins) El tamao, en pxeles, de los mrgenes, que son las reas grises fuera del plano. Slo se ven en la Vista de plano y no aparecen al hacer la vista previa. Propiedades del proyecto (Project properties) Un acceso rpido para ver las propiedades del proyecto.

4.3 Capas
Una capa es como una lmina de cristal en la que se sitan los objetos. Se pueden usar para superponer diferentes grupos de objetos, tanto en el fondo como en el primer plano. Las capas pertenecen a un plano y se editan en la Barra de Capas. Se pueden desplazar a ritmos diferentes para crear efectos de paralaje, as como escalar o girar, todo para conseguir efectos visualmente ms poderosos en los juegos. Tambin son importantes para aadir interfaces estticas (o HUDs o UIs) a juegos dinmicos. Una capa con el paralaje a 0, 0 no se mover, as que cualquier objeto en ella siempre estar en el mismo lugar. Un conjunto comn de capas sera: HUD (capa superior barra de vida del personaje, informacin UI, etc) Primer plano (los objetos principales del juego) Plano intermedio (capa de fondo con paralaje) Fondo (ltima capa el fondo) Tambin se pueden aplicar efectos a las capas, que afectan a todo el contenido de la capa.

Propiedades de capa
Las propiedades de la capa se pueden editar en la Barra de Propiedades tras clicar la capa en la Barra de Capa. Nota que esto modifica cual es la capa activa mira las propiedades de la capa activa en Propiedades del Plano. Nombre (Name) El nombre de la capa, para referirte a ella en el sistema de eventos. Visibilidad inicial (Initial visibility) Si la capa es visible o no al inicio cuando haces la vista previa. Esto es diferente de la propiedad Visible en el editor (Visible in editor) que slo afecta a la Vista de plano. Color del fondo (Background color) El color de fondo para la capa. Este paso se ignora si la transparencia est activa. Transparencia (Transparent) Ignora el color de fondo y hace que la capa sea transparente. Opacidad (Opacity) Ajusta la opacidad (o semitransparencia) de la capa, de 0 (invisible) a 100 (opaca). Forzar la textura (Force own texture) Fuerza a la capa a mantener cierta textura en vez de mostrarla directamente en la pantalla. Es til para algunos efectos. Aunque disminuye la velocidad de renderizacin, as que debes seleccionar No a menos que sea necesario. ndice de escala (Scale rate) Cambia el ndice al que est escalada la capa si es el caso en la capa o plano, parecido al paralaje pero para el zoom. Un ndice de escala a 0 significa que la capa siempre estar a escala 100% aunque se aplica un escalado. Un ndice de escala 100 significa que se escalar tanto como indiques. Paralaje (Parallaz) Cambia el ndice al cual se desplaza la capa en direccin vertical y horizontal. En un paralaje de 100, 100 significa desplazamiento normal, 0,0 significa que no se mueve (til para UIs), 50 significa que se mueve a la mitad de velocidad, etc. Tambin es til para mltiples fondos en movimiento.

Visible en el editor (Visible in editor) Si se muestra la capa o no en la Vista de plano. Nota que esto es diferente a la Visibilidad inicial (Initial visibility) que slo afecta a la vista previa. Se puede acceder tambin a travs de la Barra de capas. Bloqueada (Locked) Si una capa est o no bloqueada en la Vista de plano. Los objetos en capas bloqueadas no se pueden seleccionar. Se puede acceder tambin a travs de la Barra de capas.

Paralaje en el editor (Parallax in editor) Si est habilitado, las propiedades del paralaje tambin se aplicarn a la Vista de plano, permitindote hacer una vista previa de cmo se veran los efectos.

4.4 Objectos
En C2 los objetos son lo ms til en un proyecto. La mayora de las cosas que ves en un juego de C2 son los objetos, incluyendo los objetos ocultos con otros propsitos (por ejemplo el audio de fondo). Cuando introduces un nuevo objeto, eliges en primer lugar un plugin en el dilogo (por ejemplo, Sprite). Esto crea un tipo de objeto (por ejemplo, EnemigoTroll-TrollEnemy). Cuando el ratn se convierte en una mira puedes situar el primer ejemplo y puedes duplicarlos para crear ms ejemplos del mismo tipo. Las diferencias entre tipo y ejemplo de objeto son esenciales para usarlos correctamente. Los objetos constan de varias partes, explicadas debajo. Tambin hay secciones del manual que dan ms detalles de cada una. Plugins Un plugin se define como objeto. Por ejemplo, un Sprite es un tipo de objeto, y un Audio es otro distinto. Se definen como Sprite plugin y Audio plugin respectivamente. Los programadores de Javascript pueden crear plugins nuevos (y comportamientos) usando Javascript SDK. Tipos de objeto (Objects type) Los tipos de objetos definen la clase del objeto. Por ejemplo, EnemigoTroll (TrollEnemy) y EnemigoOgro (OgreEnemy) pueden ser tipos distintos del plugin Sprites. Tienen animaciones distintas y se les pueden aplicar eventos de forma individual para hacerlos parecer y actuar distintos, a pesar de pertenecer ambos a Sprites. Ejemplos (Instances) Usando el ejemplo anterior, si hay cuatro objetos de EnemigoTroll en un plano, estos son ejemplos del tipo de objeto EnemigoTroll. Slo hay un tipo EnemigoTroll. As mismo, puede haber mltiples ejemplos del tipo de objeto EnemigoOgro. Variables de ejemplo (Instances variables) Las variables de ejemplo se aaden al tipo de objeto y almacenan nmeros o textos por cada ejemplo. Por ejemplo, si quieres que todos los monstruos tengan su propio contador de salud (health counter) debes aadir la variable de ejemplo salud (health). Esto es esencial para hacer los juegos ms interesantes cada ejemplo actuar de diferente forma. Comportamientos (Behaviors) Se pueden aadir comportamientos a los tipos de objeto para aadir cierta funcionalidad. Por ejemplo la Direccin 8 (8 direction) se puede aadir a un Sprite, y podr ser movido con las flechas del teclado. Esto ayuda a agilizar el desarrollo e incrementa la productividad. Los comportamientos no estn para hacer todo por ti: en el sistema de eventos es donde la mayora de la lgica del juego se define. Los comportamientos son, bsicamente, atajos. La mayora de ellos pueden repetirse con eventos, pero as ahorras ms tiempo. Los comportamientos son muy

personalizables, si uno de ellos no hace exactamente lo que quieres que haga, puedes personalizarlo usando un evento. Todos los ejemplos y tipos de objetos usan comportamientos. No puedes aadir comportamientos solo a algunos ejemplos aunque quizs puedas habilitarlos y deshabilitarlos en cada uno de ellos. Efectos (Effects) Los efectos cambian la apariencia visual del objeto. No funcionan en todas las plataformas, porque requiere WebGL. Se pueden ajustar los recursos para que todo aparezca razonablemente bien aunque no funcione WebGL. Nota que los efectos son distintos de mezclar movimientos (blend move) que funciona en todas las plataformas. Familias (Families) Las familias son grupos de tipos de objeto. Te ayudan a repetir eventos en distintos tipos de objetos en grandes proyectos.

4.4.1 Plugins
Los plugings son los objetos. Por ejemplo, un Sprite es un tipo de objeto, y un Audio es otro distinto. Se definen como Sprite plugin y Audio plugin respectivamente. Mira Referencia de plugings (Plugin reference) para ms informacin de cada uno. Los programadores de Javascript pueden crear plugins nuevos (y comportamientos) usando Javascript SDK. La mayora de los plugings definen sus propiedades en la Barra de Propiedades. Para ver una lista completa, sita el pluging en Referencia de plugings (Plugin reference). Hay tres tipos de plugings: Visuales (Visual plugings) como los Sprites, que aparecen fsicamente en el plano y la pantalla. Escondidos (Hidden plugings) como la Matriz (Array), que se sitan en un plano en particular pero no aparecen en la pantalla. Del proyecto completo (Project-wide plugings) como el Ratn o el Audio, que se aaden a todo el proyecto una sola vez. Solo puede haber un tipo de objeto y ejemplo de este tipo de plugings. Solamente proporcionan una capacidad (como poder usar el ratn). Son muy tiles en el sistema de eventos. C2 est diseado modularmente. Esto significa que no hay mucha funcionalidad: debes insertar un plugin antes de poder usar sus funciones. Por ejemplo, no puedes reproducir ningn audio antes de aadir el plugin de Audio al proyecto. Hacerlo puede parecer innecesario, pero hay muchos plugings del proyecto completo y no todos los proyectos necesitarn todos. Por ejemplo, si el plugin de Audio se aplicara automticamente en cada proyecto, los que no lo necesiten gastaran rendimiento, espacio en el disco y dems. As que recuerda que si no aades un plugin no estar realmente en el proyecto y har que este sea ms ligero y eficiente al exportar.

4.4.2 Tipos de objeto


Los tipos de objeto son la parte central del diseo de juegos en C2. Definen la clase de un objeto. Por ejemplo, EnemigoTroll (TrollEnemy) y EnemigoOgro (OgreEnemy) pueden ser tipos

distintos del plugin Sprites. Tienen animaciones distintas y se les pueden aplicar eventos de forma individual para hacerlos parecer y actuar distintos, a pesar de pertenecer ambos a Sprites. Hay mltiples ejemplos de un tipo de objeto en el proyecto. Por ejemplo, quizs quieras que haya cuatro objetos de EnemigoTroll esperando al jugador. Estos cuatro ejemplos comparten la animacin, imgenes, comportamientos, variables de ejemplo y eventos. (En el caso de las variables de ejemplos, cada ejemplo almacena un valor nico como la salud- y comportamientos que funcionan independientemente del resto de ejemplos.) Los tipos de objeto no tienen una posicin, ngulo o tamao. Estas son propiedades de los ejemplos de ese tipo de objeto. La Barra del proyecto y la Barra de objeto muestran los diferentes tipos de objetos del proyecto, pero no los ejemplos. Los eventos son para aadir a un tipo de objeto. El evento filtra los ejemplos que cumplen esa condicin. Por ejemplo, el evento Bala impacta en el Alien ("Bullet collides with Alien") se aplica a todos los ejemplos de los tipos de objeto Bala (Bullet) y Alien. Aunque cuando el evento funciona, las acciones solo se aplican a los ejemplos especficos envueltos en el impacto. Para ms informacin ve a Cmo funcionan los eventos (How events work). Los tipos de objeto pueden agruparse en familias. Te puede ayudar a evitar repetir los mismos eventos en diferentes tipos de objeto.

4.4.3 Ejemplos
Los ejemplos son los objetos reales que puedes ver en el juego: un ejemplo de un tipo de objeto. Por ejemplo, si hay cuatro EnemigoTroll en un plano, hay cuatro ejemplos del tipo de objeto EnemigoTroll. Son los ejemplos los que tienen una posicin, ngulo y tamao en el plano. Los tipos de objetos no tienen estas propiedades solo definen la clase de objeto. Se pueden crear ejemplos en el tiempo de ejecucin en el sistema de eventos (por la accin Crear Objeto (Create Object) y Generar objeto (Spawn an objet)). Tambin puedes prepararlos de antemano en los planos con la Vista de plano para disear niveles y pantallas de ttulo. Seleccionando un ejemplo en la Vista de plano muestras sus propiedades en la Barra de Propiedades. Hay un conjunto de propiedades comn a todos (o casi todos) los objetos, y algunas propiedades inherentes al plugin. Las propiedades ms comunes se definen abajo, y las inherentes al plugin se describen en Referencia de plugins (Plugin reference.)

Propiedades de ejemplo communes


Las siguientes propiedades son comunes a la mayora de los objetos, dependiendo de sus capacidades. Nombre (Name) El nombre del tipo de objeto al que pertenece. Plugin Un recordatorio del plugin al que pertenece. Global Por defecto, todos los ejemplos se destruyen cuando finaliza el plano (cuando se pasa al siguiente). Si est seleccionado Global ninguno de los ejemplos de ese tipo de objeto se destruir al cambiar. Capa (Layer) La capa en la que est situado el ejemplo. ngulo (Angle) El ngulo en grados en el que est orientado el ejemplo. Tambin puede cambiarse por el ngulo en la Vista de plano. Opacidad (Opacity) La opacidad del objeto (o semitransparencia) de 0 (tranparente) a 100 (opaco). Posicin (Position) Las coordenadas X e Y en el plano, en pxeles. Se mide desde el origen del objeto (mirar puntos de imagen). Tambin pueden cambiarse moviendo el ejemplo en la Vista de plano. Tamao (Size) La altura y anchura de los ejemplos, en pxeles. Tambin se puede modificar recortando el tamao en la Vista de plano cuando el ejemplo est seleccionado. Editar variables (Edit variables) Abre el dilogo de Variables de ejemplo de objeto. Editar comportamietnos (Edit behaviors) Abre el dilogo de Comportamientos de objeto. Editar efectos (Edit effects) Abre el dilogo de Efectos.

4.4.4 Variables de ejemplo


Las variables de ejemplo se aaden a los tipos de objeto pero almacenan nmeros, textos o booleanos (on/off) a cada ejemplo de forma individual. Esto los hace ideales para contadores de salud (health counters) ya que cada ejemplo tiene su propio valor. Las variables de ejemplo se aaden con el dilogo de Variables de ejemplo de objetos y el valor inicial de cada ejemplo puede introducirse en la Barra de propiedades. Las variables de objeto tambin se pueden usar para ayudar a controlar los ejemplos. Por ejemplo, una variable de ejemplo booleana puede usarse para determinar si un enemigo caza al jugador (verdadero-true) o si escapa (falso-false). Si todos los ejemplos tienen diferentes valores, la condicin aplicada variable de ejemplo booleana puede usarse para aplicar acciones a enemigos que cazan al jugador. Invirtiendo la condicin (seleccionando ejemplos con el valor falso-false) se pueden usar para aplicar acciones a enemigos que escapan. El resultado final es un nmero de ejemplos del mismo tipo actuando de forma independiente: algunos cazarn y otros escaparn. ste es un ejemplo sencillo, pero se puede aplicar a casos ms complicados. En otras palabras, el estado de un ejemplo se puede controlar usando variables de ejemplo. Las variables de ejemplo tambin pueden agruparse en familias. Todos los tipos de objeto en la familia tendrn la misma variable de ejemplo.

4.4.5 Comportamientos
Los comportamientos dan a los tipos de objeto una funcionalidad concreta. Se pueden aadir con el Dilogo de comportamientos de objeto. Mira la Referencia de comportamientos (Behavior reference) para ms informacin sobre cada uno. Un ejemplo de comportamiento es el de 8 direcciones (8 direction). Este permite que un objeto se mueva usando las flechas del teclado. Te ayuda a agilizar el desarrollo e incrementar la productividad. Los comportamientos no estn para hacer todo por ti: en el sistema de eventos es donde la mayora de la lgica del juego se define. Los comportamientos son, bsicamente, atajos. La mayora de ellos pueden repetirse con eventos, pero as ahorras ms tiempo. Los comportamientos son muy personalizables, si uno de ellos no hace exactamente lo que quieres que haga, puedes personalizarlo usando un evento. Todos los ejemplos de un tipo de objeto tienen comportamientos. No puedes aadir un comportamiento slo a ciertos ejemplos - pero puedes habilitarlos o deshabilitarlo en cada uno de ellos. Algunos comportamientos aaden sus propiedades a la Barra de Propiedades. Ve a Referencia de comportamientos (Behavior reference) para ver las de cada uno. Algunos comportamientos tambin transmiten a los objetos a los que se les aplica sus propias condiciones, acciones y expresiones. As, stas se muestran junto con las propias del objeto en el dilogo de Aadir condicin o accin y en el Panel de expresiones. Los comportamientos se pueden agrupar en familias. Todos los tipos de objeto en la familia tendrn el mismo comportamiento.

4.4.6 Efectos
Los efectos cambian la apariencia visual de los objetos. Se pueden aadir con el Dilogo de efectos. Tambin se pueden aadir a capas y planos, aunque los efectos que se combinan con el fondo no se pueden usar en planos. Los efectos tambin son llamados shaders o WebGL shaders effects, ya que se estos son la tecnologa oculta que hace posibles los efectos. Debajo hay un ejemplo de Efecto agua (Water effect) en una imagen.

C2 tiene una biblioteca con ms de 70 efectos. Al aadirlos se muestran en la Vista de Plano si WebGl est habilitado en las propiedades del proyecto. (Si WebGL est deshabilitado la Vista de plano no mostrar ningn efecto). Se dan gran nmero de ejemplos de efectos en la Carpeta de Ejemplos (Examples folder) de C2. Se pueden aplicar varios efectos a un objeto, capa o plano. En este caso se encadenan los efectos. Los resultados del primer efecto son procesados por el segundo, los del segundo por el tercero y as sucesivamente.

Soporte (Support)
Para que se muestren los efectos es necesario que el dispositivo soporte WebGL. Para ms informacin mira la seccin Tecnologa (Technology) en la parte de Lienzo Canvas. En resumen, no todas las plataformas u ordenadores soportan WebGL as que los efectos no se ven en estas plataformas. Para asegurar que tu proyecto siga funcionando correctamente aunque el dispositivo no soporte WebGL, mira la seccin Recursos (Fallbacks). Si se ven o no los efectos se puede comprobar con la Condicin del sistema (system condition) Se muestran efectos (Effects are supported).

Modo de mezcla (Blend mode)


La propiedad Modo de mezcla (Blend mode) funciona en todas las plataformas ya que tambin funciona con el lienzo Canvas 2D. Es el nico efecto que no requiere WebGL ni otros recursos para funcionar. El Modo de Mezcla ofrece unas sencillas formas predeterminada para mezclar objetos con el fondo. Para ver un ejemplo de cmo funciona este Modo, mira el ejemplo Blend modes.capx en la carpeta de ejemplos de C2.

Si se usan mltiples efectos, el Modo de mezcla se aplica slo al ltimo efecto. Por ejemplo con tres efectos, los efectos se encadenaran con normalidad, y el Modo de mezcla se usar solo para mezclar el resultado del tercer efecto con el fondo.

Recursos (Fallbacks)
Si el dispositivo no soporta WebGL, puedes especificar qu hacer usando la propiedad Recursos (Fallbacks) en la categora Efectos (Effects) en la Barra de Propiedades.

La propiedad Recursos no aparece si no se aaden efectos, y no hay necesidad de preocuparse de si los efectos funcionan o no.

Por defecto, la propiedad Recursos cambia el Modo de mezcla a Normal si no se pueden soportar los efectos. (Recuerda que la propiedad Modo de mezcla siempre funciona, en cualquier

plataforma u ordenador.) Esto har que el objeto aparezca como si no tuviera ningn efecto cuando no se soporta WebGL. Las otras opciones de Recursos te permiten cambiar la propiedad Modo de mezcla a otra opcin. Por ejemplo, cuando usas el efecto pantalla (Screen effect) puedes conseguir un resultado similar usando Aditivo (Additive) en el Modo de mezcla, as que puedes poner en Recursos - Aplicar mezcla Aditivo (Set Additive blend). Si se soporta WebGL el objeto se mostrar con el efecto pantalla (Screen effect). Si no, no funcionar este efecto pero s el Aditivo (Additive) del Modo de mezcla, pareciendo algo similar al efecto. Finalmente, los recursos te permiten configurar un objeto para que se destruya (o que la capa se esconda). Esto se puede usar en objetos opcionales con un uso meramente esttico, por lo que si no puede mostrar el efecto, simplemente no aparecer dicho objeto.

Pruebas (Testing)
Asegrate de probar tu proyecto con WebGL habilitado y deshabilitado en las propiedades del proyecto para comprobar que los recursos funcionan correctamente y el contenido se muestra de una forma razonablemente correcta. No puedes asumir que todos los usuarios tendrn soporte para WebGL, incluso si usan un navegador que soporta WebGL, ya que un hardware antiguo o unos drivers caducados harn que no se pueda usar WebGL. Hacer pruebas es la mejor forma de proceder.

Cambiar efectos en tiempo de ejecucin (Changing effects at runtime)


Los objetos que pueden tener efectos ofrecen acciones para habilitar y deshabilitar efectos, o configurar los parmetro del efecto. Esto te permite activar efectos o ajustar sus parmetros en tiempo de ejecucin, dando ms posibilidades y usos creativos. Para habilitar y deshabilitar efectos de plano o capa, o cambiar sus parmetros, usa las acciones del sistema pertinentes.

Rendimiento (Performance)
Usar demasiados efectos puede ralentizar el rendimiento, especialmente en mviles. Intenta usar los efectos solamente cuando sea necesario. Crear muchos ejemplos de un objeto que contiene efectos puede resultar ineficiente, ya que los efectos deben procesarse muchas veces en pequeos objetos. Si muchos ejemplos necesitan usar efectos, sera ms apropiado situar todos los ejemplos en la misma capa y aplicar el efecto a la capa. Esto mejorar el rendimiento manteniendo el mismo efecto. Nunca uses efectos para crear un efecto esttico en un objeto. Por ejemplo, no uses Escala de grises (Grayscale) para que un objeto aparezca en escala de grises. En su lugar, aplica la escala de grises a la propia imagen en el editor e imprtala as al proyecto. Tiene el mismo efecto visual y evitas que el efecto se degrade al procesarlo. Los efectos como Escala de grises (Grayscale) se deben usar solamente para transiciones o para que los objetos aparezcan en escala de grises slo ocasionalmente. Para ms informacin, mira la seccin del manual Consejos para el rendimiento (performance tips).

4.4.7 Familias (Families)


In C2, las Familias son agrupaciones de grupos de objetos. Todos los tipos de objeto de una familia deben provenir del mismo plugin (p.e Sprite objetcs) y no una mezcla como Sprites o Fondo mosaico. Las familias evitan que no repitas eventos. Por ejemplo, en vez de tener los mismos eventos para los objetos Enemy1, Enemy2 y Enemy3, puedes aadir los eventos una sola vez a la familia Enemigos (Enemies). Automticamente se aplicaran a todos los tipos de objeto dentro de la familia. El ejemplo de Families.capx en la carpeta de ejemplos de C2 te muestran las ventajas de usarlas. Hay siete tipos de enemigos, y todos se destruyen con el laser. Sin usar familias, se necesitan siete eventos separados, como se muestra debajo:

Usando familias slo es necesario usar uno:

Esto hace la tarea ms fcil, agrupando objetos que funcionan de la misma forma.

Cmo crear una familia (How to create a family)


Haz clic con el botn derecho en la carpeta de Familias (Families) en la Barra del Proyecto y selecciona Aadir familia (Add family). Aparece entonces el dilogo de Editar Familia (Edit Family):

Los objetos de la izquierda son los objetos del proyecto que puedes aadir a la familia. Los de la derecha son los que ya has aadido. Haz doble clic en un objeto para pasarlo al otro lado. Puedes seleccionar varios objetos a la vez manteniendo pulsado Control y clicando varios de ellos, despus pulsas el botn del centro del dilogo para transferirlos. Cuando hayas terminado, clica OK y la familia aparecer en la Barra del Proyecto. Se puede expandir para ver todos los objetos que contiene:

La familia, y los objetos que contiene, se pueden editar clicando el botn derecho sobre ella y eligiendo opciones en el men, como Quitar de la familia (Remove from family) o Editar familia (Edit family). Se pueden aadir objetos a mltiples familias. Todos los eventos de la familia se aplicarn al objeto.

Variables de ejemplo de la familia (Family instance variables)


Las Variables de ejemplo tambin se pueden aadir a una familia, clicando el botn derecho en el nombre de la familia en la Barra del Proyecto y seleccionando Variables de ejemplo de la familia (Family instance variables).

Si aades una variable de ejemplo a una familia, todos los tipos de objetos dentro de ella adquieren esa variable. Por ejemplo, aadiendo la variable de ejemplo Salud (Health) a la familia Enemigos (Enemies) en el ejemplo de arriba, BladeEnemy, BugEnemy, CrescentEnemy, FighterEnemy, SaucerEnemy, ScytheEnemy y SlicerEnemy adquirirn la variable Salud (Health). Aparecer tambin en el editor, junto a esta nueva variable, la propia de cada objeto. Pero en la Vista de hoja de eventos la familia solo mostrar su propia variable de ejemplo (slo los aadidos directamente a la familia). Esto significa que cualquier variable de ejemplo que quieras habilitar para los eventos de la familia debes aadirla a la propia familia y no a los objetos dentro de ella. Si un tipo de objeto pertenece a distintas familias, adquiere todas las variables de las familias.

Comportamientos de la familia (Family behaviors)


Tambin se pueden aadir comportamientos a la familia clicando con el botn derecho el nombre de la familia en la Barra del Proyecto y seleccionando Comportamientos de la familia (Family behaviors). Al igual que con las variables de ejemplo, si aades un comportamiento a una familia, todos los tipos de objeto de la familia adquirirn el comportamiento. El comportamiento aparecer en los eventos para cada objeto y para el conjunto de la familia. Por ejemplo, si aades el comportamiento Bala (Bullet) a la familia llamada Balas (Bullets) significa que la accin Ajustar velocidad (Set speed) de bala estar disponible para todos los objetos de la familia o para la propia familia en conjunto. Si un objeto pertenece a varias familias, adquirir los comportamientos de todas ellas.

Efectos de la Familia (Family effects)


Los efectos tambin se pueden aadir a una familia entera clicando el botn derecho del nombre de la familia en la Barra del proyecto y seleccionando Efectos de la familia (Family effects). Al igual que con las variables de ejemplo y los comportamientos, si aades un efecto a una familia, todos los tipos de objeto de la familia adquirirn el efecto. Esto es til para aplicar objetos rpidamente a diferentes objetos. Si un objeto pertenece a varias familias, adquirir los efectos de todas ellas.

Seleccionar familias en los eventos (Picking families in events)


Las familias seleccionan ejemplos de la hoja de eventos independientemente del tipo de objeto que haya en la familia. Por ejemplo, considerando que la Familia1 (Family1) contiene SpriteA y SpriteB, las condiciones de la Familia1 no afectarn a todos los ejemplos de los tipos SpriteA y SpriteB. Solo afectar a aquellos ejemplos que aparezcan cuando sucede una accin para la Familia1. As mismo, condiciones para ejemplos de SpriteA y SpriteB no afectarn a todos aquellos contenidos en la Familia1. En otras palabras, en la hoja de eventos se trata a las familias

como tipos de objeto propios que contienen ejemplos de otros tipos de objeto. Esto es til si necesitas que un solo evento seleccione dos listas distintas de ejemplos del mismo tipo objeto.

Resumen (Summary)
Las familias son una funcin muy importante y esencial para ayudarte a simplificar los proyectos. Las variables de ejemplo y los comportamientos que se aaden a las familias son adquiridos por todos los objetos dentro de ella, lo que permite aplicar la lgica a varios objetos a la vez.

4.5 Eventos
Los eventos son la principal funcin de C2: en vez de complicados lenguajes de programacin y scripts con una sintaxis enrevesada, en la que es fcil cometer errores, puedes definir cmo quieres que funcione el juego usando un sistema lgico de bloques. Los bloques se refieren a los eventos, aunque hay varios bloques que conforman una hoja de eventos. El sistema de eventos de C2 puede no resultar familiar a los nuevos usuarios. Lee Como funcionan los eventos (How Events Work) para ver un resumen. Los eventos no son bloques prediseados que limitan lo que quieres hacer. Estn diseados para darte las herramientas bsicas para crear juegos sofisticados. Los conceptos bsicos de los eventos son que las condiciones filtran los ejemplos que cumplen la condicin, entonces las acciones funcionan solamente para esos ejemplos. Un malentendido comn es que todos los ejemplos deben funcionar de la misma forma. se no es el caso: la funcin de los eventos es filtrar ejemplos de forma individual, y aplicar acciones en aquellos que cumplen cierta condicin. Los eventos se editan en la Vista de hoja de eventos usando el dilogo de Aadir condicin/accin (Add condition/action), el dilogo de Parmetros (Parameters) y el Panel de expresiones (Expressions panel). Debajo se muestra un sencillo diagrama. (No incluye todas las funciones de los eventos el resto estn explicados en esta seccin).

Las partes que forman los eventos se resumen debajo. Revisa todas las secciones relevantes del manual para ms informacin de cada una. Mira tambin, Cmo funcionan los eventos (How events work). Los eventos consisten en condiciones que se deben reunir, acciones que funcionan si es el caso y, opcionalmente, ms sub-eventos que prueban ms condiciones, activas ms acciones, etc. Por ejemplo, si la condicin Las balas impactan en el Alien (Bullet collides with alien) aparece, la accin Destruir Alien (Destroy Alien) funcionar, y la accin de dest5ruir slo afectar a aquellos ejemplo que tengan dicha condicin.

Las condiciones indican el criterio que se debe reunir. Filtran los ejemplos que s los renen. Las acciones hacen que sucedan cosas. Solamente afectan a los ejemplos filtrados por las condiciones. Las expresiones pueden ser sumas que resolver para obtener valores, o recuperarlos de objetos, como lq coordenada X de un Sprite. Los sub-eventos siguen a los eventos, apareciendo la sangra en la Hoja de eventos. Los grupos organizan los eventos. Se pueden habilitar o deshabilitar en conjunto. Los comentarios te permiten escribir notas y descripciones de los eventos. Se sitan normalmente encima del evento que ests describiendo. Esto es importante para mantener ordenados tus proyectos. Incluir (Includes) puede intercambiar hojas de eventos entre planos. Esto evita que tengas que copiar y pegar los eventos de forma individual en cada plano. Aadir incluir es como hacer un copia-pega automtico del contenido de una hoja de eventos en otra. Las variables de evento pueden almacenar nmeros y textos de forma global (para todos los planos) o local (para un rango especfico de eventos). Las hojas de evento son una lista de eventos. Se pueden asignar a un plano especfico, o incluirlas en otra hoja de eventos.

Scripting
C2 slo usa el sistema de eventos y no funciona con ningn script. Esto es porque el sistema de eventos es suficientemente potente para sustituir cualquier script. Aunque, si eres programador, quizs te interese extender C2 usando Javascript SDK.

4.5.1 Como funcionan los eventos (How events work)


Si eres nuevo en los eventos de C2, esta seccin te da un resumen de cmo funcionan. Es esencial que los principiantes lo lean! Hars juegos ms eficientes si conoces bien cmo funcionan los eventos. Los eventos estn diseados para ser fciles de manejar y muy intuitivos. Aunque tienen ciertas formas especficas de funcionar, que se describen aqu. Funcionan filtrando ciertos ejemplos que renen cierta condicin. Las acciones entonces funcionan slo para esos ejemplos. Por ejemplo, tenemos el siguiente ejemplo:

Cuando una Bala (Bullet) colisiona con un Monstruo (Monster) la condicin tiene lugar. Los ejemplos de Balas y Monstruos envueltos en la colisin son seleccionados por el evento.

Entonces, la accin slo funciona para los ejemplos seleccionados por la condicin. Por ejemplo, si hay otras 3 balas en la pantalla, slo la que est incluida en la colisin se destruye por la accin Bala: Destruir (Bullet: Destroy). Tambin, slo el Monstruo que es golpeado resta una unidad de salud (Subtract 1 from health) que es una variable de ejemplo. Sera muy difcil hacer buenos juegos si esto no funcionara as y las acciones afectaran a todos los ejemplos de monstruos y balas! As que recuerda que las condiciones filtran o recogen los ejemplos para que las acciones funcionen en ellos. Otra forma de pensar en los eventos es la de Si todas las condiciones se renen en un ejemplo, entonces las acciones funcionan.

Varias condiciones (Multiple conditions)


Aadir ms condiciones a un evento filtra los ejemplos para que las acciones funcionen. Por ejemplo: Este ejemplo funciona as: 1. Primero, se seleccionan todos los Monstruos que hay en la pantalla (is on-screen). 2. Entonces, en esa seleccin, se reduce a aquellos que tienen menos de 5 unidades de salud(health <5). 3. Las acciones hacen que todos los monstruos que estn en pantalla y que tienen menos de 5 unidades de salud miran directamente al jugador (set angle toward (Player.X, Player.Y)). No afecta a los monstruos de fuera de la pantalla o los que tienen 5 o ms de 5 unidades de salud. Usando varias condiciones puedes hacer funcionar las acciones solo en los ejemplos que cumplen todos los criterios. Los usuarios de lenguajes de programacin u otras herramientas reconocern esto como AND. Todas las condiciones de un evento deben reunirse para que se aplique la accin. Si no hay monstruos en pantalla o ninguno de los que hay tiene menos de 5 unidades de salud la accin no funciona.

Objetos sin referencia (Unreferenced objects)


chale un vistazo al siguiente evento:

Si el usuario presiona la barra espaciadora y el booleano del Jugador PowerupEnabled est activado, la accin sera Monstruo: Destruir (Monster: Destroy). Nota que no hay ninguna condicin para filtrar los ejemplos de Monstruo en este evento. En este caso, todos los ejemplos de Monstruo se destruyen. En otras palabras, si en un evento no se hace referencia a las condiciones de un efecto, las acciones se aplicarn en todos los ejemplos. Para empezar, piensa en condiciones que cumplan todos los ejemplos y despus, progresivamente, ves seleccionndolas y filtrndolas. Si no hubiese condiciones, entonces se seleccionaran todos los ejemplos, afectndoles las acciones a todos.

Borrar recoger eventos entre uno y otro (Picking resets between events)
Cuando un evento finaliza, el siguiente comienza desde cero. Sus condiciones empezarn a filtrar todos los ejemplos de nuevo. Por otra parte, los sub-eventos (que aparecen con sangra) continan la tarea desde donde la dej el evento del que provienen. Un sub-evento filtrar an ms los ejemplos dejados por el evento que vena antes de l. Si un evento tiene dos sub-eventos, ambos recogern ejemplos del mismo grupo del que recoga el padre (el primer sub-evento no afecta al segundo). En otras palabras, los eventos en el mismo nivel de sangra siempre recogen del mismo grupo de ejemplos, y los eventos de nivel ms bajo siempre trabajan con los ejemplos filtrados desde ms arriba.

El objeto Sistema (The System object)


El objeto Sistema en C2 representa la funcionalidad integrada. No tiene ejemplos. Esto significa que la mayora de condiciones de sistema no recogen ningn ejemplo: slo son o verdaderos o falsos. Si son falsos el evento deja de funcionar, de lo contrario el evento contina sin recoger los ejemplos que han sido cambiados. Aunque hay excepciones: si una condicin del sistema usa un objeto, como Recoger un ejemplo aleatoriamente (Pick random instance), afectar a los objetos seleccionados. Las acciones de sistema no funcionan en los objetos recogidos: solo si todas las condiciones del evento se renen.

Los eventos funcionan de arriba a abajo (Events run top to bottom)


El orden de los eventos es importante. Cada evento se comprueba a menudo (sobre 60 veces por segundo en la mayora de ordenadores), y funcionan de arriba a abajo en la Hoja de eventos. La pantalla se crea cada vez que funciona un nuevo evento, as que el proceso empieza de nuevo. Esto significa que si un evento hace una cosa y el siguiente la deshace, no ocurrir nada. Lo mismo pasa dentro de los propios eventos: las condiciones se comprueban de arriba a abajo, y las acciones funcionan de arriba a abajo. Aunque hay una excepcin, los detonantes (triggers). Mira la flecha verde a la izquierda de Teclado: al presionar espacio (Keyboard: On Space pressed) en el ejemplo anterior:

Esto indica que el evento est detonado. En lugar de ejecutarse siguiendo los pasos, este evento funciona (o se detona) cuando ocurre algo. En este caso, el evento funciona cuando el usuario pulsa la barra espaciadora del teclado. No aparece en ningn otro momento. Los detonantes hacen que un evento no siga la secuencia de ejecucin de arriba a abajo. Esto significa que el orden de los eventos con un detonante no es relevante (excepto en relacin con otros detonantes del mismo tipo, que siguen actuando de arriba a abajo). Slo puede haber un detonante por evento, porque dos no pueden funcionar simultneamente. Pero varios detonantes s pueden agruparse en bloques o (ver la explicacin siguiente).

Bloques o
Como se ha mencionado antes, se tienen que reunir todas las condiciones para que un evento funcione. Esto se llama Lgica Y (Logica AND), porque la condicin 1 Y la condicin 2 Y la condicin 3... deben cumplirse. Pero puedes modificar un evento para que funcione cuando cualquiera de las tres condiciones se cumpla. Esto se llama Lgica O (Logical OR), porque el evento funcionar si la condicin 1 O la condicin 2 O la condicin 3 se cumplen. Normalmente los bloques funcionan como bloques Y (AND). Para crear bloques O (OR), clica sobre el bloque con el botn derecho y selecciona Crear bloque O (Make Or block). Entonces aparecer un -or- entre cada condicin, como se muestra abajo.

Date cuenta que normalmente slo puedes poner un detonante por evento, pero puedes juntar varios en un bloque de este tipo, por lo que el evento funcionara si cualquiera de los tres se da. Puedes combinar los tipos de bloques usando sub-eventos. Esto te permite construir una lgica ms compleja, como un bloque O seguido de uno Y.

Condiciones enlazadas
Algunos eventos se enlazan, es decir, se repiten sus acciones varias veces. Date cuenta que las flechas circulares en el ejemplo siguiente indican esto.

Esto significa que, cuando comienza el plano, la accin Crear objeto (Create object) se repite 10 veces. El resultado final es la creacin de 10 monstruos en lugares al azar dentro del plano. Puede haber ms condiciones que sigan la condicin Repetir (Repeat). Se comprueban en todas las repeticiones y deben cumplirse para que la accin se desencadene. Puede haber ms de un enlace en un evento, pero no es frecuente.

Familias
Date cuenta que las familias recogen sus ejemplos independientemente a los tipos de objeto que contienen. Para ms informacin ve a la seccin Seleccionar familias en los eventos (Picking families in events).

Resumen
Usando este sistema de eventos es posible crear una lgica sofisticada que hace juegos de forma rpida y fcil. Es una alternativa muy poderosa a los lenguajes de programacin para personas que no estn acostumbradas al uso de estas tcnicas. Aunque esta seccin ha descrito las partes esenciales del sistema de eventos, todava no ha cubierto todo. El resto de la seccin de Eventos trata ms caractersticas que puedes usar.

Behavior reference, Plugin reference y System reference tambin hablan de las condiciones, acciones y expresiones en C2.

4.5.2 Hojas de evento


Las Hojas de Evento son simplemente listas de eventos. Se editan en la Vista de Hoja de Evento. Todas las Hojas de Evento del proyecto aparecen en la Barra del Proyecto. Los Planos tienen asociada una Hoja de Evento que define como funciona el plano. Hay dos formas de compartir eventos entre capas: 1. Establecer la propiedad Hoja de Evento a varios planos en la misma hoja. 2. Crea una hoja de evento independiente con los eventos comunes e inclyela en otras hojas. La segunda opcin es preferible ya que no ests forzado a usar los mismos eventos para diferentes planos slo aades unos cuantos eventos extra para personalizarlos.

4.5.3 Condiciones
En los Eventos, las condiciones filtran los ejemplos que renen ciertos criterios. Aparecen a la izquierda del evento. Todas las condiciones en un evento deben reunirse para al menos un ejemplo para que la accin funcione. Las acciones solo se aplican a los ejemplos que tienen esas

condiciones. El sistema de condiciones no selecciona ejemplos: simplemente son verdaderos o falsos, a menos que se refieran especficamente a un objeto, como Recoger un ejemplo al azar (Pick random instance). Hay tres tipos de condiciones: las normales, las detonadas y las enlazadas. Mira la seccin Cmo funcionan los eventos (How events work) para ms informacin.

Invertir condiciones
Las condiciones se pueden invertir, lo que cambia aquello que comprueba. Por ejemplo, la condicin Monstruo se superpone a Jugador (Moster is overlapping Player) es verdadera siempre que el monstruo toca al jugador. Pero, si se invierte, aparece un icono rojo tachado que significa Monstruo no se superpone a Jugador (Monster is not overlapping Player).

No se pueden invertir todas las condiciones (los detonadores no se pueden, ya que el evento no tendra sentido en ese caso).

4.5.4 Acciones
En los eventos, las acciones hacen algo, como crear un objeto o ir a otro plano. Aparecen a la derecha del evento.

Las acciones solo afectan a los ejemplos que renen las condiciones del evento. Mira la seccin Cmo funcionan los eventos (How events work) para ms informacin.

4.5.5 Expresiones
En los eventos, las expresiones se usan para calcular sumas o recuperar informacin de un objeto, como la coordenada X de un Sprite. Las expresiones se introducen el Dilogo de parmetros. El Panel de Expresiones se muestra a la vez que da un catalogo de todas las expresiones del sistema y de objeto disponibles en el proyecto.

Algunos ejemplos de expresiones, que pueden ir desde un nmero simple a un clculo complejo, son: 0 random(360) Sprite.X (Player1.X + Player2.X) / 2 Sprite.8Direction.Speed Sprite.X + cos(Sprite.Angle) * Sprite.Speed * dt

Nmeros
Los nmeros simplememnte se introducen como dgitos con un decimal opcional separado por un punto. Por ejemplo: 5 o 1.2.

Texto (Secuencias/Strings)
El texto, tambin conocido como secuencias (strings) en programacin y a veces en C2. El texto en las expresiones debe ser entrecomillado, por ejemplo Hola (Hello). Las comillas no se incluyen como parte del texto, as que establecer que un objeto de texto muestre la expresin Hola (Hello) har que aparezca Hola (Hello), sin comillas. Para incluir comillas en una secuencia debers duplicarlas, por ejemplo l me dijo hola (He said hi to me) se convertir en l me dijo hola (He said hi to me). Puedes usar & para crear cadenas de texto y nmeros, por ejemplo Tu puntuacin es: & puntuacin (Your score is: & score)

Para aadir un salto de lnea a la secuencia usa la expresin del sistema lnea nueva (newline), por ejemplo, Hola & lnea nueva & mundo ("Hello" & newline & "world").

Operadores (Operators)
Puedes usar los siguientes operadores en las expresiones: + (suma) - (resta) * (multiplicacin) / (divisin) % (mdulo, el resto tras la divisin) ^ (incrementar el poder) & (crear secuencias) Tambin hay operadores de comparacin =, <>, <, <=, >, >= para comparar valores. Vuelven a 1 si la comparacin es verdadera o a 0 si es falsa. & tambin se puede usar en la lgica Y (AND) y | para la O (OR). Es til usarlos junto a los comparadores, por ejemplo puntuacin < 0 | salud < 0 (score < 0 | health < 0), que vuelve a 1 si es verdadero y 0 si es falso. ?: es un operador condicional, que te permite probar condiciones en las expresiones. Es til usado con los operadores de comparacin y de lgica. Toma la forma de condicin resultado_si_verdadero: resultado_si_falso (condition ? result_if_true : result_if_false) Por ejemplo, salud < 0 | puntuacin < 0 Fin del juego! : Vuelve a intertarlo! (health < 0 | score < 0 ? "Game over!" : "Keep going!"). La condicin cuenta como verdadera si no es cero, y falsa si lo es.

Expresiones de objeto (Object expressions)


Los objetos tienen sus propias expresiones para comprobar la informacin sobre el objeto. stos aparecen como Sprite.X (El nombre del objeto, un punto, y el nombre de la expresin). El Panel de expresiones muestra todas las expresiones disponibles en el proyecto, y estn ms detalladas en la seccin del manual Referencia (Reference). La expresin Mismo (Self) se puede usar como acceso directo para referirse al proyecto actual. Por ejemplo, en una accin para el Jugador, Self.X se refiere al Jugador.X (Player.X). Puedes aadir un ndice de objeto basado en 0 para conseguir expresiones para distintos ejemplos de objeto. Por ejemplo, Sprite(0).X consigue la primera posicin X del ejemplo, y Sprite(1).X consigue la segunda. Para ms informacin mira el ndice IDs (IIDs) en las caractersticas comunes. Tambin puedes aprobar otra expresin para el ndice. Los nmeros negativos empiezan en el extremo opuesto, as que Sprite(-1).X consigue la ltima posicin de X.

Expresiones de comportamiento (Behavior expressions)


Si un objeto tiene un comportamiento con sus propias expresiones, aparecen escritos como Objeto.Comportamiento.Expression (Object.Behavior.Expression), por ejemplo Sprite.Direccin8.Velocidad (Sprite.8Direction.Speed).

Expresiones del sistema (System expressions)


El sistema de expresiones fijas aparece en la referencia (reference). Estas incluyen algunas funciones matemticas bsicas como sqrt (raz cuadradra).

4.5.6 Sub-eventos
Los sub-eventos aparecen detrs de otros eventos. Estos continan recogiendo ejemplos del evento padre. Siguen funcionando tras el trmino de la accin que activa el evento padre. Debajo un ejemplo.

Este evento funciona as: 1. Comprueba que todos los ejemplos de Monstruo estn superpuestos al Jugador. Si es as, los ejemplos involucrados se recordarn. 2. Las acciones del evento superior funcionarn despus, pero en este caso no tiene. 3. El segundo evento (que est sangrado) comprueba entonces si la variable de ejemplo Escudo del Jugador est activado (Players ShieldEnable). Si es as, sustrae 1 punto de salud del Monstruo que se solapa con el Jugador. 4. El tercer evento (tambin sangrado) comprueba si el Escudo del Jugador no est activado (Players ShieldEnable) (mira invertir condiciones). Si es as sustrae 1 punto de salud del Jugador. En otras palabras, los monstruos hieren al jugador al tocarlo, a menos que el jugador habilite su escudo, en cuyo case el herido ser el monstruo. Esto funciona porque el objeto seleccionado por el evento superior se recuerda y se usa tambin para los sub-eventos. Si el segundo y el tercero no fueran sub-eventos (no apareceran sangrados) el segundo evento sustraera 1 punto de salud de todos los Mostruos, ya que no habra referencia alguna en el evento. (Mira Objetos sin referencia (Unreferenced objects) en la seccin de cmo funcionan los eventos para ms informacin). Los sub-eventos pueden tener sus propios sub-eventos tambin, que hacen que sean ms poderosos y flexibles para ajustar la lgica de avance del juego. Nota que los sub-eventos funcionan despus de las acciones solamente si las hay en el ejemplo de arriba, si ningn monstruo se solapa con el jugador, ni la accin ni el evento o sub-evento funcionan.

Detonadores en los sub-eventos


Si hay un detonador en un sub-evento todas las condiciones del evento principal deben cumplirse al tiempo que el detonador se activa, de otra forma no funcionar. Puede haber solamente un detonador en un conjunto de sub-eventos. En otras palabras, los eventos que estn sobre el detonador no pueden contener otro.

4.5.7 Grupos
Los grupos de eventos sirven principalmente para organizar eventos. Se pueden abrir y cerrar usando los botones + o -. Se editan con el Dilogo de grupo de evento.

Los eventos se pueden arrastrar y soltar dentro y fuera del grupo. Grupos enteros tambin pueden ser habilitados y deshabilitados con la accin del sistema Activar Grupo (Set Group Active), lo que es til en pausas del juego.

4.5.8 Comentarios
Los comentarios del evento son notas que te ayudan a recordar cmo funcionan los eventos y qu hacen. Son muy importantes para ayudarte a recordar cmo funcionan las cosas en grandes proyectos! Los comentarios tienen el fondo amarillo y aparecen sobre el evento que estn describiendo.

Se pueden editar haciendo doble clic sobre ellos. Puedes hacer un comentario con un salto de lnea manteniendo pulsado shift y pulsando Enter. Si usas C2 muy a menudo, encontrars esenciales los comentarios para ayudar a organizarte y entender el funcionamiento de trabajos grandes. Volver a un proyecto tras unos pocos meses sin ningn comentario sera difcil, as que no los subestimes. Los comentarios no afectan en absoluto al funcionamiento de tu proyecto. Slo son informativos. Nada que escribas all se exportar al juego.

4.5.9 Adjunto
La Hoja de eventos adjunta te permite incluir una hoja de evento en otra. Es como un copiapega automtico del contenido de una hoja a otra. Esto es til para compartir eventos comunes en varios planos. Por ejemplo, puedes usar diferentes hojas de eventos para distintas partes de la lgica del juego. Puedes tener hojas de eventos llamadas Entrada del Jugador (Player input), Control del enemigo (Enemy control), Efectos (Effects) y dems. Entonces cada nivel del juego puede incluir estos eventos habituales en la propia hoja de evento de ese plano. Esto te permite compartir eventos entre mltiples planos sin tener que copiar y pegar todos los eventos una y otra vez.

Los adjuntos pueden aadirse haciendo doble clic en un espacio de la Hoja de eventos, o usando la Barra de Eventos.

4.5.10 Variables
Las Variables de Evento son los valores numricos o textuales para el proyecto global o local, para un conjunto de eventos. Se modifican con el Dilogo de Variables de evento.

Las Variables de evento se modifican con el sistema de acciones en la categora de Variables Globales y Locales (Global & local variables). Se pueden recuperar usando su nombre en expresiones (expressions).

Variables globales
Las variables globales aparecen con el icono un globo terrqueo (como en la imagen de arriba). Estn en el nivel ms alto de la hoja de eventos- no son sub-eventos ni estn dentro de un grupo. Almacenan sus valores entre planos. Los eventos en cualquier plano pueden acceder a las variables globales.

Variables locales
Las variables locales se sitan tras otros eventos o dentro de un grupo. Aparecen con el icono de un diamante en vez de un globo.

Hay dos diferencias importantes entre variables locales y globales: 1. Las locales vuelven a su valor inicial en cada paso. Esto es por diseo e intentando imitar lo que hacen las variables locales en los lenguajes de programacin. 2. Las locales solo son accesibles en su radio de alcance. El radio de alcance de una variable de evento est diseado tambin para coincidir con los lenguajes de programacin reales. El radio de alcance ce una variable local es su nivel de subeventos. El resto de eventos a su nivel, o a ms bajos, pueden acceder a la variable local. Los eventos por encima (menos sangrados) no pueden acceder a ellas. Esto hace que las variables locales sean apropiadas para un grupo reducido de eventos o eventos de corta duracin. Por ejemplo, si una variable de evento est en un grupo de eventos se convierte en una variable local. Entonces, solo aparecer como opcin para los eventos de ese grupo. En otros grupos o en otras hojas de eventos no aparecer por lo que no podr ser accedida. Esto hace que el radio de alcance sea el lugar en el que est contenida la variable.

4.6 Archivos
Cualquier archive externo puede ser importado a tu proyecto usando la Barra del Proyecto. Es til para incluir cualquier otro recurso que tu proyecto pueda necesitar, como videos, imgenes extras, datos JSON, datos XML, datos de texto, documentos, o otros archivos generales que quieras permitir descargar a los usuarios. Para ver ideas sobre usos de archivos en tu proyecto, mira el tutorial Using project files in Construct 2 . Se pueden importar archivos clicando el botn derecho en la carpeta de archivos (files) en la Barra del Proyecto y seleccionando Importar archivos (Import files).

Por defecto puedes aadir cualquier tipo de archivo a tu proyecto, pero tambin puedes filtrar los archivos para mostrar slo aquellos del tipo que buscas. Importar archivos del proyecto tiene los siguientes efectos: 1. El archivo se copia en tu carpeta del proyecto o se almacena dentro del archivo .capx (No hay referencia del lugar de almacenamiento del archivo, as que si cambias el archivo original, no se actualizar en el proyecto). 2. Cuando haces la vista previa, tambin se puede acceder al archivo desde el servidor de vista previa (localhost), que te ayuda a probar los archivos dentro del proyecto. 3. El archivo se exporta junto al proyecto. 4. Cuando lo publiques, el archivo estar disponible para su uso offline junto con el resto del proyecto. Para ms informacin mira el tutorial Offline games in Construct 2 . Los archivos del proyecto pueden ser solicitados por AJAX en tiempo de ejecucin mediante la accin Request project file de objetos AJAX. Esto es til para datos XML o JSON en tiempo de ejecucin.

4.7 Sonido y Msica


Los Sonidos y la Msica en C2 son archivos de audio. Cualquier archivo de sonido que use el proyecto ser exportado junto con l. Ya que los creadores de navegadores no se ponen de acuerdo en un formato de audio para la web, se debe encodear en dos formatos: Ogg Vorbis (.ogg) y MPEG-4 AAC (.m4a). Para importar y reproducir audio en C2, debes seguir los siguientes pasos: 1. Importa sonidos clicando el botn derecho en las carpetas de Sonido (Sound) y Msica (Music) en la Barra del Proyecto y seleccionando Import sounds o Import music.

2. Importa el audio mediante el dilogo de Importar audio. 3. Aade el objeto de audio al proyecto y aade eventos para reproducir el audio. Para ms informacin a la hora de importar audio, ve a la seccin Dilogo de Importar audio Import Audio dialog.

Tipos MIME (MIME types)


Para que tu servidor enve los archivos de audio correctamente, deben estar configurados los siguientes tipos MIME: .ogg como audio/ogg .m4a como audio/mp4 Sin estos tipos MIME quizs no puedas escuchar el audio tras subir el proyecto al servidor, o al entrar a la URL del archivo de audio te aparecer 404 Not Found error.

5. Referencia de
Comportamientos
Est seccin nos da una referencia de todos los comportamientos oficiales que vienen con C2. Cada uno tiene un resumen de su uso, una lista de propiedades y una detallada lista de acciones, condiciones y expresiones especficas del comportamiento. Los comportamientos transmiten sus condiciones, acciones y expresiones al objeto al que son aadidos, apareciendo junto a las propias caractersticas del objeto en el Dilogo de Aadir Condicin/Accin y en el Panel de expresiones. Los comportamientos se pueden aadir y quitar a un objeto va Barra de Propiedades, que abre el Dilogo de Comportamientos de objeto y el de Aadir comportamiento.

Personalizar controles
Por defecto, los movimientos del comportamiento controlados por el usuario usan unos controladores estndares ya fijados (normalmente basados en las flechas del teclado). Para cambiarlos, cambia la propiedad Controles por defecto (Default controls) a No, y configura algunos eventos usando la accin Control simulado (Simulate control). Para un ejemplo, ve al ejemplo Paltform 4 (custom controls).capx en la carpeta de ejemplos en el directorio de instalacin de C2. Utiliza los siguientes eventos para cambiar las flechas del teclado a W, A y D:

La accin Control simulado (Simulate control) no tiene que manejarse con el teclado. Por ejemplo, se puede usar con un toque para crear controles de toque de pantalla o con un mando. Tambin puedes configurar eventos para que controlen ejemplos automticamente con la accin Control simulado (Simulate control). Esto te permite configurar enemigos controlados por el ordenador o personajes sin jugador (NPCs), a veces referidos como AI.

5.1 8 direcciones
El comportamiento de 8 direcciones permite que un objeto se mueva arriba, abajo, izquierda, derecha o en las diagonales, controlado por las flechas del teclado por defecto. Suele ser til para controlar al jugador en juegos con vista cenital. Tambin se puede simplificar a 4 direcciones (arriba/abajo, izquierda/derecha) til para deslizarse o para nadar. El comportamiento de 8 direcciones est bloqueado para cualquier objeto que contenga el comportamiento Slido (Solid). Para configurar los controles, mira el resumen de referencias de comportamiento (behavior reference summary).

Propiedades de las 8 direcciones


Velocidad Mxima (Max speed) La velocidad mxima a la que un objeto puede viajar en cualquier direccin, en pxeles por segundo. Aceleracin (Acceleration) La tasa a la que acelera el movimiento, en pxeles por segundo por segundo. Al invertir el movimiento actual, la aceleracin y la deceleracin contribuyen a disminuir la velocidad. Deceleracin (Deceleration) La tasa a la que decelera el movimiento para descansar cuando no hay movimiento, en pxeles por segundo por segundo. Al invertir el movimiento actual, la aceleracin y la deceleracin contribuyen a disminuir la velocidad. Direcciones (Directions) Ajusta cuantas direcciones tiene el movimiento. Por defecto son 8, incluyendo las diagonales. Las 4 direcciones no usan las diagonales y, Arriba&Abajo e Izquierda&Derecha solo permiten el movimiento a lo largo de esos ejes. Ajustar ngulo (Set angle) Si hay o no movimiento afectar al ngulo del objeto. 360 grados siempre establece el ngulo del objeto en el ngulo actual del movimiento. Los intervalos de 45 grados ajustarn el objeto en las 8 direcciones posibles. Los intervalos de 90 grados lo ajustarn en las 4 direcciones posibles. No significa que el comportamiento no ajustar el ngulo del objeto, lo que es til si quieres controlarlo t mismo con eventos (para hacer que el objeto se encare al segn el cursor del ratn). Controles por defecto (Default controls) Si S, el movimiento se controla con las flechas del teclado. Cmbialo a No para customizarlos usando la accin Control simulado (Simulate control). Para ms informacin ve a Personalizar controles en el resumen de referencias de comportamiento (behavior reference summary).

Condiciones de las 8 direcciones


Cotejar velocidad (Compare speed) Coteja la velocidad del objeto en pixeles por segundo. Se est moviendo (Is moving) Verdadero si el objeto tiene una velocidad distinta de cero (no est parado). Invirtelo para comprobar si el objeto est parado.

Acciones de las 8 direcciones


Opuesto (Reverse) Invierte la direccin del movimiento. Una forma sencilla de rebotar el objeto para evitar un obstculo. Ajustar aceleracin (Set acceleration) Ajustar deceleracin (Set deceleration) Ajustar velocidad mxima (Set max speed) Estos ajustan las propiedades correspondientes, descritas en las propiedades de las 8 direcciones. Habilitar (Set enable) Habilita o deshabilita el movimiento. Si est deshabilitado, el movimiento no tendr efecto en el objeto. Selecciona ignorar entrada (Set ignoring input) Establece si se ignora la entrada, Si se ignora, el presionar las teclas de control no tendr efecto. Pero, al contrario que deshabilitar el comportamiento, el objeto podr continuar movindose. Ajustar velocidad (Set speed) Ajusta la velocidad del objeto, en pxeles por segundo. Simular control (Simulate control) Simula uno de los controles de movimiento mientras se mantiene pulsado. Es til cuando ajustas los Controles por defecto a No. Mira los Controles personalizados en el resumen de referencias de comportamiento (behavior reference summary) para ms informacin. Parada (Stop) Un acceso directo para poner la velocidad a cero.

Expresiones de las 8 direcciones


Aceleracin (Acceleration) Deceleracin (Deceleration) Velocidad mxima (MaxSpeed) Restablece las propiedades correspondientes, descritas en las propiedades de las 8 direcciones. Mover ngulo (MovingAngle) Da el ngulo del movimiento (que puede ser diferente al ngulo del objeto) en grados. Velocidad (Speed) Da la velocidad del movimiento del objeto, en pxeles por segundo. VectorX VectorY Da la velocidad del objeto en cada eje, en pxeles por segundo. Por ejemplo, si el objeto se mueve a la izquierda a 100 pxeles por segundo, el VectorX es -100 y el VectorY es 0.

5.2 Ancla (Anchor)


El comportamiento Ancla es til para posicionar objetos automticamente en relacin al tamao de la ventana. Importante para soportar varios tamaos de pantalla. Para ms informacin de las caractersticas que soportan mltiples tamaos de pantalla, mira el tutorial Supporting multiple screen sizes . Este comportamiento slo tiene un efecto til cuando la propiedad pantalla completa en el navegador est activada tanto en On (crop mode) como en On (scale mode). Los objetos que usan el Ancla deben estar en una capa cuyo paralaje sea 0,0. De otra forma, mientras el juego avanza el objeto podra quedarse atrs en la pantalla.

Posicionar objetos en relacin al tamao de la ventana


En la parte superior izquierda de la Vista del plano, un cuadro intermitente representa el tamao por defecto de la pantalla del juego. Los objetos anclados deben posicionarse dentro del rea del cuadro de puntos, como se muestra a continuacin.

Ahora, si la ventana cambia su tamao durante la vista previa, los objetos mantendrn sus posiciones relativas, como se muestra abajo:

Esto es til para elementos de la interfaz como notificaciones y pantallas de visualizacin frontal (HUDs).

Posiciones relativas
El Borde izquierdo (Left edge) y el Borde derecho (Right edge) posicionan el objeto en relacin a las esquinas de la ventana, sin cambiar el tamao del objeto. Por ejemplo, si el borde izquierdo (left edge) se ajusta a la ventana derecha, (window right) el objeto siempre estar a la misma distancia del borde derecho de la ventana. El Borde derecho (Right edge) y el Borde del fondo (Bottom edge) ajustan el tamao del objeto en relacin a las esquinas de la ventana. Por ejemplo, si quieres que un Fondo adosado (mosaico) se extienda ms all del ancho de la ventana, ajusta el borde derecho (right edge) a la ventana derecha (window right).

Condiciones, acciones y expresiones del Ancla


El Ancla solo tiene una accin: Habilitar (Set enabled) Ajusta si el comportamiento est habilitado o deshabilitado. Si est deshabilitado, el comportamiento no alterar el tamao o posicin del objeto.

5.3 Atado al plano (Bound to layout)


El comportamiento Atado al plano solo evita que el objeto desaparezca por los bordes del plano. Es ms til en objetos que se mueven pero no deben salir del rea del plano. No tiene condiciones, ni acciones ni expresiones, solo la siguiente propiedad: Atado por (Bound by) Ajusta al Borde (Edge) para evitar que cualquier parte del objeto se salga del plano. El objeto se parar en esa posicin como se muestra a continuacin:

Ajusta al Origen (Origin) slo para evitar que el objeto salgo completamente del plano. El resultado depende de donde hayas marcado el origen del objeto, pero con un origen centrado se parar en una posicin similar a la siguiente imagen:

5.4 Bala (Bullet)


El comportamiento Bala simplemente mueve el objeto hacia delante en un ngulo. Pero tambin tiene opciones extra como gravedad o rebotar lo que te permite usar el objeto como una pelota que rebota. Como el nombre sugiere, es ideal para proyectiles y balas, pero tambin es til para

controlar automticamente otro tipo de objetos como enemigos que caminan hacia delante constantemente. Para dos ejemplos del comportamiento Bala ve a Bouncing balls.capx y Bouncing bullets.cap en la carpeta de ejemplos en el directorio de instalacin de C2.

Propiedades de Bala
Velocidad (Speed) La velocidad inicial de la bala, en pxeles por segundo. Aceleracin (Acceleration) La tasa de aceleracin de la bala en pxeles por segundo por segundo. Cero mantendr una velocidad constante, los valores positivos la acelerarn y los negativos la decelerarn hasta pararse (el objeto no puede volver). Gravedad (Gravity) La fuerza de la gravedad que hace que la bala descienda, en pxeles por segundo por segundo. Cero deshabilita la funcin de la gravedad que es til en juegos con vista cenital. Los valores positivos hacen que la bala dibuje una parbola mientras avanza, por efecto de la gravedad. Rebotar contra slidos (Bounce off solids) Si lo ajustas a S, la bala rebotar en cualquier objeto con el comportamiento Slido (Solid). Tambin calcular en ngulo de reverberacin para que sea realista dependiendo de la forma y el ngulo del objeto. Ajustar ngulo (Set angle) Si est en No, el comportamiento nunca cambiar el ngulo del objeto. Si est en S, el comportamiento siempre ajustar el ngulo del objeto al del movimiento.

Condiciones de la Bala
Cotejar velocidad (Compare speed) Coteja la velocidad actual de la bala, en pxeles por segundo. Cotejar la distancia viajada (Compare distance travelled) Coteja la distancia total que la bala ha recorrido, en pxeles. Esto no tiene en cuenta la alteracin de la posicin del objeto llevada a cabo por otras acciones como Ajustar posicin (Set position).

Acciones de la Bala
Rebotar en objeto (Bounce off object) Hace que la bala rebote en un objeto si lo toco. Ya que la bala solamente toca el objeto, es til usar el evento Colisin (On collision). Tambin calcular el ngulo de reverberacin para rebotar de forma realista dependiendo de la forma y ngulo del objeto. Si la bala no se solapa al objeto, o se queda atascada dentro, est accin no tendr efecto. Ajustar aceleracin (Set acceleration) Ajusta la aceleracin de la bala en pxeles por segundo por segundo. Ajustar ngulo de movimiento (Set angle of motion) Ajusta el ngulo al que se mueve la bala, en grados.

Habilitar (Set enabled) Habilita o deshabilita el movimiento. Si est deshabilitado, el comportamiento dejar de mover la bala, pero recordar la velocidad, aceleracin, etc. si la vuelves a habilitar. Ajustar gravedad (Set gravity) Ajusta la aceleracin causada por la gravedad, en pxeles por segundo por segundo. Ajustar velocidad (Set speed) Ajusta la velocidad de movimiento de la bala, en pxeles por segundo.

Expresiones de la Bala
Aceleracin (Acceleration) Da la aceleracin actual en pxeles por segundo por segundo. ngulo de Movimiento (AngleOfMotion) Da el ngulo al que la bala se est moviendo (que puede ser distinto al del objeto), en grados. Distancia viajada (DistanceTravelled) Da la distancia total que la bala ha recorrido desde su creacin en pxeles. No tiene en cuenta movimientos del objeto realizados por otras acciones como Ajustar posicin (Set position). Velocidad (Speed) Da la velocidad de movimiento de la bala en pxeles por segundo.

5.5 Coche (Car)


El comportamiento Coche permite que un objeto acelere hacia delante y hacia atrs pudindose manejar. Tambin tiene una funcin de deriva con la que el objeto puede derrapar en las esquinas (sealando a una direccin diferente a la que se est moviendo). Para un ejemplo del comportamiento Coche ve a Car behavior.capx en la carpeta de ejemplos de C2. Por defecto el objeto se controla con las flechasd el teclado (Arriba para acelerar, Abajo para frenar, Izquierda y Derecha para moverse). Para customizar los controles ve al resumen de referencias de comportamientos behavior reference summary. El comportamiento coche rebotar en cualquier objeto con el comportamiento Slido. El efecto en el movimiento depende del ngulo de impacto colisiones de refiln movern al coche de su ruta, mientras que colisiones de frente lo pararn. La cantidad de velocidad perdida depender de la propiedad Friccin (Friction).

Propiedades de coche
Velocidad mxima (max speed) La velocidad mxima, en pxeles por segundo, a la que el coche puede acelerar. Aceleracin (Acceleration) La tasa a la que el coche acelera, en pxeles por segundo por segundo. Deceleracin (Deceleration)

La tasa a la que el coche frena, en pxeles por segundo por segundo. Velocidad de manejo (Steer Speed) La tasa a la que el coche rota cuando conduces, en grados por segundo. Recuperacin de la deriva (Drift recover) La tasa a la que el coche se recupera cuando se va a la deriva, en grados por segundo. En otras palabras, la tasa del ngulo de movimiento se actualiza con el ngulo del objeto. El ngulo de movimiento no puede ser nunca ms de 90 grados respecto al ngulo del objeto. Si la recuperacin de la deriva (Drift recover) es superior o igual a la Velocidad de manejo (Steer Speed) el coche no se ir a la deriva. Cuanto ms despacio se recupere de la deriva, ms derrapar en las esquinas. Friccin (Friction) La cantidad de velocidad perdida cuando se colisiona con un slido, de 0 (parada) a 1 (no afecta a la velocidad). Por ejemplo, para bajar la velocidad a la mitad cuando se colisiona, ajusta la Friccin a 0,5. Ajustar ngulo (Set angle) Si S, el comportamiento ajustar el ngulo del objeto. Si No, el comportamiento nunca cambiar el ngulo. Controles por defecto Si S, el movimiento del coche se controla con las flechas del teclado. Si No, con controles personalizados. Para ms informacin ve al resumen de la referencia de comportamientos behavior reference summary.

Condiciones de coche
Cotejar velocidad (Compare speed) Coteja la velocidad actual del coche, en pxeles por segundo. Se est moviendo (Is moving) Verdadero si la velocidad del momento es distinta de cero. Invirtelo para comprobar que el coche est parado.

Acciones de coche
Ajustar aceleracin (Set acceleration) Ajustar deceleracin (Set deceleration) Ajustar recuperacin de la deriva (Set drift recover) Ajustar friccin (Set friction) Ajustar velocidad mxima (Set max speed) Ajustar velocidad de manejo (Set steer speed) Ajustan las propiedades correspondientes. Mira las propiedades de coche para ms informacin. Habilitar (Set enabled) Habilita o deshabilita el movimiento. Si est deshabilitado, el movimiento no tendr efecto sobre el objeto. Selecciona ignorar entrada (Set ignoring input)

Ajusta si se ignorar la entrada. Si se ignora, presionar las flechas del teclado no tendr efecto. Pero, si deshabilitas el comportamiento, el objeto continuar movindose. Ajustar velocidad (Set speed) Ajusta la velocidad actual a la que el objeto se mueve, en pxeles por segundo. Simular control (Simulate control) Simula uno de los controles de movimiento mientras se mantiene pulsado. Es til cuando ajustas los Controles por defecto a No. Mira los Controles personalizados en el resumen de referencias de comportamiento (behavior reference summary) para ms informacin.

Parada (Stop) Un acceso directo para poner la velocidad a cero.

Expresiones de coche
Aceleracin (Acceleration) Deceleracin (Deceleration) Recuperacin de la deriva (DriftRecover) Friccin (Friction) Velocidad mxima (MaxSpeed) Velocidad de manejo (SteerSpeed) Dan las propiedades correspondientes. Mira las propiedades de coche para ms informacin. ngulo de movimiento (MovingAngle) Da el ngulo de movimiento actual (que puede ser distinto del ngulo del objeto), en grados. Velocidad (Speed) Da la velocidad actual del objeto, en pxeles por segundo. VectorX VectorY Da la velocidad del objeto en cada eje, en pxeles por segundo. Por ejemplo, si el objeto se mueve a la izquierda 100 pxeles por segundo, VectorX ser -100 y VectorY 0.

5.6 Personalizar movimiento (Custom movement)


El comportamiento Personalizar movimiento no implica ningn movimiento para el objeto. Pero tiene funciones que hacen ms fcil incluir tus propios movimientos personalizados (basados en eventos). Los diferentes movimientos no se pueden explicar en esta seccin del manual. Pero s que se har un resumen de los comportamientos bsicos de movimiento y lo que hacen. Para un ejemplo de movimiento estilo asteroides usando movimientos personalizados, ve al ejemplo Custom movement (asteroids).capx en la carpeta de ejemplos de C2. Para muchos juegos, los comportamientos predefinidos como Platafora (Platform) y las 8 Direcciones (8 Direcction) son suficientes. Modificar comportamientos existentes con la herramienta de personalizar se debe evitar, ya que son ms difciles de hacer funcionar correctamente. Los predefinidos han sido probados concienzudamente y tienen ms funciones de las que puedas imaginar (como la deteccin de inclinacin en Plataforma), y son ms rpidos y fciles de usar que los personalizados.

Resumen de los movimientos personalizados


La mayora de los movimientos en C2 funcionan manipulando dos valores: la velocidad en el eje X (dx) y la velocidad en el eje Y (dy). Tambin se llaman VectorX y VectorY en algunos comportamientos. Por ejemplo, si un objeto se mueve a la izquierda 100 pxeles por segundo, dx ser -100 y dy 0. El objeto se puede acelerar a la derecha aadiendo a dx. Esta es el funcionamiento de la mayora de los comportamientos de C2 (como Plataforma y 8 Direcciones).

El comportamiento de movimiento personalizado almacena los valores de dx y dy, y proporciona funciones para aadir los algoritmos y la matemtica necesarios para el movimiento. A cada vez, el movimiento personalizado ajusta la posicin del objeto dependiendo de los valores dx y dy. Esto se llama paso. Tambin puede usar mltiples pasos por vez, lo que ayuda a detectar colisiones de forma ms precisa si el objeto se mueve muy rpidamente. Cada paso detonar En el paso (On step), En el paso horizontal (On horizontal step) o En el paso vertical (On vertical step) dependiendo en la propiedad Modo de paso (Stepping mode).

Propiedades de movimiento personalizado


Modo de paso (Stepping mode) Como avanzar un paso en el movimiento por cada vez. El nmero de pasos dado depende de la propiedad Pxeles por paso (Pixels per step). None mueve el objeto un paso por vez de acuerdo a su velocidad. Linear mover el objeto en una lnea recta hacia su posicin de destino, detonando On step (En el paso). Horizontal then vertical mover el objeto a su destino primero en el eje X (detonando On horizontal step) y despus en el eje Y (detonando On vertical step). Vertical then horizontal lo har al contrario que el anterior. Pxeles por paso (pixels per step) Si el modo de paso est en None, esta es la distancia en pxeles a la que avanzar por vez y por paso. Por defecto es 5, lo que significa que se mover 20 pxeles por vez, se mover en pasos de cuatro o cinco pxeles.

Condiciones de movimiento personalizado


Cotejar velocidad (Compare speed) Coteja la velocidad actual del movimiento, en pxeles por segundo. Horizontal y Vertical cotejan la velocidad de dx y dy respectivamente y Total (Overall) coteja la magnitud del vector (dx, dy) (la cantidad total). Se est moviendo (Is moving) Verdadero si dx o dy son distintas de cero. Invierte para comprobar si est parado. On horizontal step On vertical step Detonados para cada paso a lo alrgo de un eje cuando el modo de paso est en Horizontal then vertical o en Vertical then horizontal. Se usa para detectar colisiones de forma precisa si hay solapamiento (Is overlappeing). On step Detonado para cada paso cuando el modo de paso est en Linear. Se usa para detectar colisiones de forma precisa si hay solapamiento (Is overlappeing).

Acciones de movimiento personalizado


Habilitar (Set enabled) Habilita o deshabilita el comportamiento. Si est deshabilitado no modificar la posicin del objeto. Rotar en el sentido de las agujas del reloj (Rotate clockwise) Rotar en el sentido contrario a las agujas del reloj (Rotate counter-clockwise) Ajustar (Set) Ajusta el ngulo de movimiento. Calcular nuevos valores para dx y dy reflejando un nuevo ngulo de movimiento con la misma velocidad total. Acelerar (Accelerate) Acelera el movimiento total o el movimiento en un eje especfico. Acelerar hacia ngulo (Accelerate toward angle) Acelerar hacia posicin (Accelerate toward position) Acelera el movimiento hacia el ngulo o la posicin. Apartar slido (Push out solid) Slo vlido cuando el comportamiento se solapa con un objeto con el comportamiento slido. Mueve automticamente el objeto hasta que no se solape con el slido. No tiene efecto si el objeto no se solapa. Se pueden usar las siguientes tcnicas: ngulos opuestos (Opposite angles) invierte (o recalcula) el objeto desde el ngulo de movimiento actual hasta que no se solape. Ms cercano (Nearest) mueve el objeto en una espiral dentro de las 8 direcciones un pxel por vez hasta que no se solape. El objetivo es que el objeto acabe en el espacio libre ms cercano, pero como se usan slo 8 direcciones el resultado ser una aproximacin. Arriba, Abajo, izquierda y derecha (Up, down, left and right) mueven el objeto a travs de un eje especfico hasta que no se solape. Apartar slido en el ngulo (Push out solid at angle) Slo vlido cuando el comportamiento se solapa con un objeto con el comportamiento slido. Mueve el objeto con un ngulo dado hasta que no se solape con el slido. No tiene efecto si el objeto no se solapa. Invertir (Reverse) Invierte el movimiento volteando los valores de dx y dy. Ajustar velocidad (Set speed) Ajusta la velocidad del movimiento en pxeles por segundos del eje horizontal, del vertical, o del total. Ajustando la velocidad horizontal o vertical das valores a dx y dy directamente. Si la ajustas al total se calculan nuevos valores para dx y dy para que se reflejen la nueva velocidad total manteniendo el mismo ngulo de movimiento. Parada (Stop) Un acceso directo para poner la velocidad a cero.

Paras pasos (Stop stepping) Slo vlido para On step, On horizontal step y On vertical step. Para el modo de pasos en esa vez. El objeto puede volver a su Antigua posicin (dnde estaba la vez anterior) o mantenerse en su posicin actual (probablemente a medio camino entre las dos posiciones).

Expresiones de movimiento personalizado


dx dy Da los valores de movimiento dx y dy, que es la velocidad en pxeles por segundo de cada eje. Movimiento de ngulo (MovingAngle) Da el ngulo de movimiento, en grados, calculado como el ngulo de vector (dx, dy). Velocidad (Speed) Da la velocidad total en pxeles por segundo, calculados como la magnitud del vector (dx, dy).

5.7 Destruir fuera del plano (Destroy outside layout)


El comportamiento Destruir fuera del plano destruye automticamente cualquier objeto que salga del rea del plano. Slo lo destruye si sale completamente (ninguna parte de su cuadro delimitador est dentro del plano). Este comportamiento no tiene propiedades, condiciones, acciones ni expresiones. Este comportamiento es til para evitar que balas y otros proyectiles permanezcan todo el tiempo volando sobre el plano. Por ejemplo, sin el comportamiento, si el usuario dispara a un enemigo y falla, la bala continuara volando fuera del plano para siempre. Con el avance del juego, ms y ms balas se aadiran, todas movindose ms lejos y continuamente, lo que usara ms y ms memoria haciendo que el ordenador y el juego vayan ms despacio. Esto se puede evitar fcilmente aadiendo Destruir fuera del plano a las balas, para que se vayan eliminando de forma gradual cuando salen del plano.

5.8 Arrastar y Soltar (Drag & Drop)


El comportamiento Arrastrar y Soltar hace que los objetos puedan ser arrastrados y soltado con el ratn o tocndolos en una pantalla tctil. En dispositivos multi-tctiles varios objetos se pueden arrastrar y soltar a la vez. Un objeto se arrastra clicando sobre l con el ratn o con el dedo. La accin finaliza cuando se suelta el ratn o se deja de tocar. Arrastrar y Soltar no tiene propiedades

Condiciones de Arrastrar y Soltar


Se est arrastrando (Is dragging) Verdadero si el objeto est siendo arrastrado en ese momento. Comenzando a arrastrar (On drag start) Detonado cuando el objeto es clicado o tocado. Soltando (On drop) Detonado cuando el objeto se est arrastrando y se suelta.

Acciones de Arrastrar y Soltar


Habilitar (Set enable) Habilita o deshabilita el comportamiento Arrastrar y Soltar. Si est deshabilitado, al clicar o tocar el objeto no habr ningn efecto y el objeto no se podr arrastrar. Adems, se vuelve transparente al tocarlo, haciendo que objetos por debajo puedan ser arrastrados y soltados. Si el objeto se arrastra cuando est deshabilitado, se cancelar y no se detonar la condicin Soltando (On drop).

Expresiones de Arrastrar y Soltar


El comportamiento Arrastrar y Soltar no tiene expresiones.

5.9 Desvanecerse (Fade)


El comportamiento Desvanecerse aumenta o disminuye la opacidad del objeto haciendo que aparezca y desaparezca. Por defecto, hace que el objeto se desvanezca 1 segundo antes de destruirse. Desvanecerse funciona en el orden siguiente. Si alguno de los tiempos es 0, el paso se salta: 1. El objeto aparece desde invisible a la opacidad seleccionada, en el tiempo de fundido (fade in time). 2. El objeto mantiene su opacidad durante el tiempo de espera (wait time). 3. El objeto se desvanece hasta hacerse invisible, en el tiempo de desvanecimiento (fade out time). 4. Si Destruir (Destroy) se establece tras Despus de desvanecerse (After fade out), el objeto se destruir. Por ejemplo, si cada paso est ajustado a 1 segundo, el objeto aparecer desde invisible durante 1 segundo, esperar durante 1 segundo y se desvanecer durante 1 segundo. Se recomienda establecer Destruir (Destroy) tras Despus de desvanecerse (After fade out). Si lo estableces a No, el objeto seguir existiendo tras desvanecerse, pero invisible. Si muchos objetos usan este comportamiento, puede haber muchos objetos invisibles lo que ocupar memoria y el juego ir lento.

Propiedades de desvanecerse
Activar al inicio (Activate at start) Si S, el objeto empezar a desvanecerse tan pronto como sea creado. Si No, el desvanecimiento no empezar hasta que uses la accin Empezar (Start). Tiempo de fundido (Fade in time) Tiempo, en segundos, de aparecer desde invisible. Si est a 0 se salta este paso. Tiempo de espera (Wait time) Tiempo, en segundos, de espera entre aparecer y desvanecerse. Si est a 0 se salta este paso. Tiempo de desvanecimiento (Fade out time) Tiempo, en segundos, de desvanecerse hasta invisible. Si est a 0 se salta este paso. Destruir (Destroy) Si se establece tras Despus de desvanecerse (After fade out), el objeto ser automticamente destruido tras la accin. Si No, el objeto no se destruir con el comportamiento. Asegrate de destruir los objetos cuando no sean necesarios, ya que aquellos que estn siendo invisibles pueden causar que el juego se ralentice.

Condiciones de desvanecerse
Terminar desvanecerse (On fade out finished) Detonado cuando se termina el desvanecimiento.

Acciones de desvanecerse
Comenzar desvanecimeinto de nuevo (Restart fade) Hace funcionar el desvanecimiento otra vez desde el principio. Comenzar desvanecimiento (Start face) Si Activo en el inicio (Active on start) est en No, esto detonara el desvanecimiento.

Expresiones de desvanecerse
No hay expresiones para este comportamiento.

5.10 Flash
El comportamiento Flash hace que un objeto parpadee cambiando su visibilidad de forma intermitente durante un periodo de tiempo. No tiene propiedades ni expresiones. Solamente aadiendo Flash a un objeto no haces nada. Debes usar una accin de Flash para hacerlo funcionar.

Condiciones de Flash
Esta haciendo flash (Is flashing) Verdadero si el objeto est en dentro de un periodo de flash. Flash terminado (On flash ended) Detonado cuando se llega al final del periodo de flash, y el objeto es visible de nuevo.

Acciones de Flash
Flash Hace que el objeto parpadee cambiando su visibilidad de forma intermitente. El On es el tiempo en segundos en el que el objeto est visible. El Off es el tiempo en segundos en el que es invisible. El objeto alternar entre estos dos estados durante los segundos establecidos. El objeto siempre volver a ser visible tras la accin. Parar flash (Stop flashing) Si el objeto est flasheando, esto lo para y vuelve el objeto visible. Si el objeto no est flasheando en ese momento esta accin no tendr efecto.

5.11 Saltar a travs (Jump-thru)


El comportamiento Saltar a travs permite que al comportamiento Plataforma estar sobre el objeto, y saltar sobre l desde abajo. Este es diferente al comportamiento slido, sobre el que el comportamiento plataforma puede estar, pero no saltar desde abajo. La imagen siguiente ilustra la diferencia.

El comportamiento Saltar a travs no tiene propiedades, condiciones, acciones ni expresiones. Por ello, tambin se le llama atributo, ya que slo habilita que se pueda saltar a travs de un objeto con el comportamiento Plataforma.

5.12 Fsica (Physics)


El comportamiento Fsica simula la fsica de un objeto de forma realista. Funciona por Box2DWeb . Para un ejemplo, mira Physics example on the Arcade . Para ms ejemplos, hay
varios en la carpeta de ejemplos de C2.

El comportamiento Fsica es relativamente complejo. Los siguientes tutorial se recomiendan para entender las bases sobre como usar el comportamiento y algunos puntos importantes a tener en cuenta antes de usarlo: Physics in Construct 2: The basics Physics in Construct 2: Forces, impulses, torque and joints Esta seccin del manual no repetir la informacin contenida en estos tutoriales. Simplemente describir cada una de las caractersticas del comportamiento Fsica. Los tutoriales describen como funciona, que tipos de conjuntos hay, la diferencia entre impulsos y fuerzas, y otras cosas en caso de que su uso no te sea familiar.

Usar Fsica en C2
El comportamiento Fsica simula las fsica en un plano separado. C2 mantendr los dos mundos sincronizados si uno cambia y el otro no, pero esto es impredecible. Por ejemplo, ajustar la posicin o el ngulo de un objeto hace que C2 traspase los nuevos datos del objeto

correspondiente a la simulacin fsica, cosa que a veces no se hace de forma adecuada con las colisiones. Tambin pasa eso al usar otros comportamientos de C2 a la vez que el de Fsica. Por lo tanto es altamente recomendado controlar los objetos de Fsica directamente desde el comportamiento Fsica (ajustando fuerzas, impulsos, torsiones, etc.) ms que intentar manipularlos con Ajustar posicin (Set position), Ajustar ngulo (Set angle), etc. Otra consecuencia es que Fsica no responder a objetos con los comportamientos Slido (Solid) o Saltar a travs (Jumptrhu). Estos comportamientos son redundantes cuando usas Fsica y no tienen efecto. A cambio, usa la propiedad Inmovible (Immovable).

Propiedades de Fsica
Inmovible (Immovable) Si S, simula que el objeto tiene masa infinita. Su densidad se ignora y nunca se mover. Mscara de collision (Collision mask) Usar mscara de colisin (Use collision mask) usa el polgono de colisin del objeto del editor de imgenes para colisiones fsicas. Si no hay polgono de colisin usar el cuadro delimitador. Cuadro delimitador (Bounding box) ignora el polgono de colisin del objeto si hay y el comportamiento considera el objeto como si fuera un rectngulo. Crculo (Circle) ignora el polgono de colisin del objeto si hay y el comportamiento considera el objeto como si fuera un crculo. Esto permite que los objetos rueden suavemente (por ejemplo, un barril). Esto es til cuando el polgono de colisin est formado por lneas rectas y no se puede crear un crculo. Evitar rotacin (Prevent rotation) Bloquea el ngulo del objeto para que la colisin fsica no cause rotacin.

Densidad (Density) La densidad del objeto fsico. Solo se usa si la Inmovilidad est en No. La masa del objeto se calcula como su densidad multiplicada por el rea de su mscara de colisin. El valor de la densidad exacta usada no es importante y no tiene unidades especficas slo la densidad relativa es relevante (un objeto con densidad 6 ser dos veces ms denso que otro con densidad 3). Friccin (Friction) El coeficiente de friccin del objeto fsico de 0 (sin friccin) a 1 (friccin mxima). Esto ajusta como los objetos se mueven unos contra otros cuando se tocan. Elasticidad (Elasticity)
La elasticidad (tambin llamada restablecimiento o flexibilidad) del objeto fsico, de 0 (inelstico, como una piedra) a 1 (elasticidad mxima, como una pelota de goma). Esto afecta a como los objetos rebotan cuando golpean el suelo.

Amortiguacin linear (Linear damping) La tasa a la que el objeto disminuye su velocidad cuando se mueve, desde 0 (no decelera) a 1 (deceleracin mxima). Amortiguacin angular (Angular damping) La tasa a la que el objeto disminuye su velocidad cuando gira, desde 0 (no decelera) a 1 (deceleracin mxima). Bala (Bullet) Habilita una mejor deteccin de la colisin para objetos que se mueven muy rpido. Puede afectar al rendimiento, as que no lo habilites a menos que el objeto se mueva tan rpido que la deteccin de la colisin estndar no sea fiable.

Condiciones de fsica
Est durmiendo (Is sleeping) Verdadero si el objeto ha estado descansando y no ha sido movido por un tiempo, por lo que el motor de fsica no lo estar procesando. Nota que los objetos pueden estar movindose de forma imperceptible lo que evitar que se queden durmiendo aunque den la sensacin de estarlo.

Acciones de fsica: Fuerzas


Aplicar fuerza (Apply force) Aplicar fuerza al ngulo (Apply force at angle) Aplicar fuerza hacia la posicin (Apply force towards position) Aplica una fuerza sobre el objeto, ngulo, hacia la posicin, o fuerzas en los ejes X e Y personalizadas. Aplicando una fuerza haces que el objeto se acelere en la direccin de la fuerza. Las fuerzas se pueden aplicar en un punto de la imagen o en el origen del objeto. Aplicar impulse (Apply impulse) Aplicar impulse al ngulo (Apply impulse at angle) Aplicar impulse hacia la direccin (Apply impulse towards position) Aplica un impulso sobre el objeto, ngulo, hacia la posicin, o impulso en los ejes X e Y personalizados. Aplicando un impulso simulas que el objeto se estrella, como golpear con un bate. Los impulsos se pueden aplicar en un punto de la imagen o en el origen del objeto. Ajustar velocidad (Set velocity) Ajusta la velocidad del objetivo, dndola en pxeles por segundo en los ejes X e Y.

Acciones de fsica: Ajustes globales


Estas acciones afectan al comportamiento Fsica en general, no solo donde se han establecido. Habilitar/Deshabilitar colisiones (Enable/disable collisions)

Por defecto, todos los objetos con Fsica colisionan unos con otros. Puedes deshabilitar las colisiones entre los objetos con Fsica y los que no lo tengan para que pasen unos sobre otros. Esto afectar a todos los ejemplo de ambos tipos de objeto. Nota: habilitar las colisiones otra vez cuando los objetos se solapan puede causar inestabilidad en la simulacin. Ajustar iteraciones (Set stepping iterations) Ajusta el nmero de iteraciones de la velocidad y de la posicin usadas en el motor de fsica. Por defecto son 8 y 3 respectivamente. Valores ms bajos harn que vaya ms rpido pero son menos precisos, y los ms altos reducirn el rendimiento pero darn una simulacin ms realista. Ajustar modo de paso (Set stepping mode) Elige si los tiempos de Fsica usan dt (delta time, para una tasa de frames independiente) o un valor fijado (fixed). Por defecto usa un tiempo fijado para eliminar cualquier aleatoriedad que venga de dt, asegurando que las simulaciones se reproducen exactamente todas las veces. Ajusta a tasa de frames independiente (framerate independent) para ajustar el tiempo de a cuerdo a la tasa de frames (framerate), que puede causar que la misma simulacin de distintos resultados si se vuelve a reproducir. Para ms informacin ve a Delta-time and framerate independence . Ajustar gravedad del mundo (Set world gravity) Ajusta la fuerza de la gravedad que afecta a los objetos fsicos. Por defecto, es una fuerza de 10 puntos descendentes.

Acciones de fsica: Uniones


Crear unin de distancia (Create distance joint) Fija dos objetos fsicos a una distancia fijada, como si estuviesen conectados por un polo. Crear unin mecnica (Create revolute joint) Crear unin mecnica limitada (Create limited revolute joint) Crea una articulacin entre dos objetos fsicos, para que puedan rotar libremente como si estuviesen conectados por un alfiler. Si es limitada solamente permite la rotacin hasta cierto ngulo, como el badajo de una campana. Quitar todas las uniones (Remove all joints) Quita todas las uniones de un objeto. Cualquier objeto que est unido a otro por esta accin se ver afectado. Nota que algunas uniones deshabilitan automticamente colisiones entre objetos, as que quizs quieras deshabilitar las colisiones manualmente de nuevo tras quitar las uniones. De otra forma los objetos que se solapen podran teletransportarse a otro lugar (ya que el motor fsico intenta evitar los solapamientos).

Acciones de fsica: Ajustes de objeto


Estas ajustan las propiedades correspondientes. Para ms informacin, ve a las propiedades de Fsica.

Acciones de fsica: Rotaciones


Aplicar rotacin (Apply torque) Aplicar rotacin hacia ngulo (Apply torque towards angle) Aplicar rotacin hacia posicin (Apply torque towards position) Aplica una rotacin (aceleracin rotacional) al objeto, directamente o hacia un ngulo o posicin. Ajustar velocidad angular (Set angular velocity) Ajusta la velocidad angular (tasa de rotacin) directamente, en grados por segundo.

Expresiones de Fsica
Velocidad angular (AngularVelocity) La velocidad angular actual (tasa de rotacin) del objeto fsico, en grados por segundo. Centro de Masa X (CenterOfMassX) Centro de Masa Y (CenterOfMassY) La posicin del centro de la masa del objeto fsico, calculado por el motor fsico. Depende de la propiedad mscara de colisin (collision mask) y no tiene por qu coincidir con el centro del objeto. Masa (Mass) La masa del objeto fsico, calculada por el motor fsico. Es el rea de la mscara de colisin del objeto multiplicada por su densidad.

Velocidad X (VelocityX) Velocidad Y (VelocityY) La velocidad actual del objeto fsico, en pxeles por segundo. Amortiguacin angular (AngularDamping) Densidad (Density) Elasticidad (Elasticity) Friccin (Friction) Amortiguacin linear (LinearDamping) Da las propiedades correspondientes. Para ms informacin, ve a las propiedades de Fsica.

5.13 Pin
El comportamiento Pin posiciona un objeto a una distancia y ngulo relativo a otro, dando la impresin de estar atado a ese objeto. Para un ejemplo, ve a Pin behavior.capx en la carpeta de ejemplos de C2. Aadir simplemente el comportamiento al objeto no har nada. Debes usar alguna de las acciones de Pin para unir un objeto a otro.

Condiciones de Pin
Est atado (Is pinned) Verdadero si el objeto est atado a otro.

Acciones de Pin
Atar a objeto (Pin to object) Ata un objeto a otro. La distancia y el ngulo relativo entre los objetos usados en el momento de la accin se recordar. El parmetro Modo (Mode) elige como se mueve el objeto en relacin al otro: Posicin y ngulo (Position & angle) (por defecto): mantiene ambos objetos a su distancia y ngulo relativo. El objeto aparecer unido y estar en el lugar mientras el otro se mueve y rota. Slo posicin (Only position): como antes, pero el ngulo del objeto no cambia; solo mantiene la distancia relativa. Slo ngulo (Only angle): el objeto solamente rota en relacin con el otro, y no cambia su posicin. Estilo cuerda (Rope style): el objeto no rota, pero se mantiene a la distancia mxima del otro. Estilo barra (Bar style): el objeto no rota, pero se mantiene a una distancia fijada del otro objeto. Para ms ejemplos, ve a los ejemplos Pin rope style.capx y Pin chain style.capx de la carpeta de ejemplos de C2.

Desatar (Unpin) Desata el objeto, as que ya no ser situado por el comportamiento Pin.

Expresiones de Pin
Atado UID (PinnedUID) Da la UID del objeto al que est atado, o a -1 si no est atado. Para ms informacin sobre UID, ve a caractersticas comunes (common features).

5.14 Plataforma (Platform)


El comportamiento Plataforma da un estilo de movimiento salta y corre a juegos de vista lateral. Soporta inclinaciones, plataformas mviles, plataformas para saltar a travs y ngulos arbitrarios de gravedad. Hay varios ejemplos de este comportamiento en la carpeta de ejemplos de C2. El comportamiento Plataforma se aplicar en cualquier objeto con el comportamiento Slido o Saltar a travs. Saltar a travs es diferente ya que se puede saltar a la plataforma sobre un objeto desde abajo, mientras que al saltar a un Slido desde abajo el jugador rebota. La siguiente imagen ilustra la diferencia.

Por defecto, el movimiento de la Plataforma se controla con las flechas del teclado (arriba para saltar). Para personalizar los controles, ve al resumen de referencia de comportamientos (behavior reference summary).

Crear movimientos de plataforma fiables


Para los movimientos ms fiables se recomienda usar un sprite de rectngulo invisible sin animaciones. Entonces, el jugador podr situarse encima de l. De otra forma, la forma cambiante del polgono de colisin y su animacin podran interferir con el movimiento sobre el suelo de la plataforma, muro o inclinacin, causando temblores o movimientos extraos. Para ms informacin y una gua completa, mira el tutorial How to make a Platform game .

Espejar al jugador
No es necesario duplicar el dibujo de tu jugador para poder usar los dos perfiles, el izquierdo y el derecho. Simplemente dibuja al jugador mirando a la derecha y usa la accin Espejar (Set mirrored). Ajusta que el jugador se espeje cuando presionas las teclas de control del movimiento. Abajo un ejemplo.

Una pregunta frecuente es como hacer que el jugador dispare a la izquierda y a la derecha, ya que incluso cuando los espejas el jugador seguir disparando a la derecha. Para solucionar esto usa la condicin Est espejado (Is mirrored) y si es verdadera, que dispare a la izquierda.

Propiedades de la Plataforma
Velocidad mxima (Max speed) La velocidad mxima del suelo en pxeles por segundo. Aceleracin (Acceleration) La aceleracin del movimiento horizontal en pxeles por segundo por segundo. Deceleracin (Deceleration) La deceleracin del movimiento horizontal en pxeles por segundo por segundo. Cuando se mueve en la direccin contraria al movimiento aceleracin y deceleracin se combinan. Fuerza del salto (Jump strength) La velocidad vertical del salto al inicio en pxeles por segundo cuando se pulsa la tecla de saltar. Gravedad (Gravity) La aceleracin causada por la gravedad, en pxeles por segundo por segundo. Velocidad mxima de cada (Max fall speed) La velocidad mxima en pxeles por segundo a la que el objeto puede acelerar cuando hace cada libre. Controles por defecto (Default controls) Si S, el movimiento se controlar con las flechas izquierda y derecha del teclado y el salto con la flecha de arriba. Ajstalo a No para usar controles personalizados usando la accin Simular control (Simulate control) en el resumen de referencia de comportamientos (behavior reference summary).

Condiciones de la Plataforma
Cotejar velocidad (Compare speed) Coteja la velocidad del objeto en pxeles por segundo. Hay un muro (Is by wall) Comprueba si hay un slido que bloquee el movimiento horizontal en el objeto inmediatamente a la izquierda o derecha. Saltar a travs no cuenta como pared. Est cayendo (Is falling) Verdadero si el objeto est en cada libre. Est saltando (Is jumping) Verdadero si el objeto se est moviendo hacia arriba. Est en el suelo (I son floor) Verdadero si el objeto est sobre un objeto slido o sobre un saltar a travs. En cada (On fall) En salto (On jump) En tierra (On landed) En movimiento (On moved) En parade (On stopped) Estos son detonadores de animacin que se detonan cuando hay movimiento entre los estados. Si tu objeto tiene animacin para alguno de estos estados, debes establecer la animacin apropiada para cada detonador. Esto te ayuda a ahorrar lgica que detecta estados de transicin.

Acciones de Plataforma
Caer a travs de (Fall through) Si el jugador est sobre una plataforma con Saltar a travs, esta accin lo har caer a travs de ella. Es til para aadir otro control, la flecha hacia abajo, para bajar de las plataformas. Ajustar aceleracin (Set acceleration) Ajustar deceleracin (Set deceleration) Ajustar gravedad (Set gravity) Ajustar fuerza del salto (Set jump strength) Ajustar velocidad mxima de cada (Set max fall speed) Ajustar velocidad mxima (Set max speed) Ajusta las propiedades correspondientes. Para ms informacin, mira las propiedades de Plataforma. Ajustar ngulo de gravedad (Set angle of gravity) Cambia el ngulo de gravedad, en grados. Por defecto es 90 (hacia abajo en la pantalla). Esto puede interactuar de forma interesante con la rotacin de la capa. Habilitar (Set enabled) Habilita o deshabilita el movimiento de la Plataforma. Cuando est deshabilitado, el comportamiento no afecta al objeto. Establecer ignorar entrada (Set ignoring input)

Determina si se ignora una entrada. Si se ignora, presionar cualquiera de las teclas de control no tendr efecto. Pero, a diferencia de deshabilitar el comportamiento, el objeto continuar movindose (por ejemplo, si est en cada libre). Ajustar vector X (Set vector X) Ajustar vector Y (Set vector Y) Ajusta los componentes de los movimientos horizontales y verticales manualmente, en pxeles por segundo. Por ejemplo, ajustando el vector Y a -1000 har que se salte con una fuerza de 1000, lo que puede ser til para aadir muelles. Simular control (Simulate control) Simula el control de movimiento que se est pulsando. til cuando estableces No en los Controles por defecto. Ve a Controles personalizados en el resumen de referencia (behavior reference summary) de comportamientos para ms informacin.

Expresiones de Plataforma
Aceleracin (Acceleration) Deceleracin (Deceleration) Gravedad (Gravity) Fuerza del salto (JumpStrength) Velocidad mxima de cada (MaxFallSpeed) Velocidad mxima (MaxSpeed) Da las propiedades correspondientes. Para ms informacin, ver las propiedades de Plataforma. ngulo de movimiento (MovingAngle) Da el ngulo de movimiento en grados, que puede ser distinto del ngulo del objeto. Velocidad (Speed) Da la velocidad total en pxeles por segundo. VectorX VectorY Da los componentes de movimiento de X e Y, en pxeles por segundo.

5.15 Rotar (Rotate)


El comportamiento Rotar simplemente hace que el objeto gire.

Propiedades de Rotar
Velocidad (Speed) La tasa de rotacin, en grados por segundo. Usa un valor positivo para rotacin en el sentido de las agujas del reloj y negativo para el sentido contrario. Aceleracin (Acceleratio) La tasa a la que cambia la velocidad de rotacin, en grados por segundo por segundo. Usa un valor positivo para acelerar en el sentido de las agujas del reloj y negativo para el sentido contrario.

Condiciones de Rotar
El comportamiento Rotar no tiene condiciones.

Acciones de Rotar
Ajustar aceleracin (Set acceleration) Ajustar velocidad (Set speed) Ajusta las propiedades correspondientes. Mira las propiedades de Rotar.

Expresiones de Rotar
Aceleracin (Acceleration) Da la propiedad Aceleracin correspondiente. Velocidad (Speed) Da la velocidad de rotacin, en grados por segundo. Un valor positivo indica rotacin en el sentido de las agujas del reloj y negativo en el sentido contrario.

5. 16 Desplazarse a (Scroll to)


El comportamiento Desplazarse a simplemente centra la vista en el objeto con el comportamiento. Es un acceso directo para la accin del sistema Desplazarse al objeto (Scroll to object). Adems, da la opcin de Agitar la pantalla, y si varios objetos tienen el comportamiento es centrar la vista entre todos ellos. Si necesitas un desplazamiento ms avanzado, como limitado a ciertas regiones o siguiendo al jugador tras un retraso, desplzate a un objeto invisible que controles por eventos. Para desplazarte, el tamao del plano debe ser mayor que el de la ventana, o la propiedad de desplazamiento ilimitado (Unbounded scrolling) seleccionada. De otra manera no habra donde desplazarse y el comportamiento no tendra efecto. Desplazarse a no tiene propiedades, condiciones no expresiones.

Acciones de Desplazarse a
Agitar (Shake) Agitar la pantalla durante un periodo de tiempo, compensando la posicin de la pantalla aleatoriamente cada vez. La Magnitud (Magnitude) es la distancia mxima en pxeles de la posicin del desplazamiento hasta que se compensa vista. La Duracin (Duration) es cunto durar el movimiento en segundos. En el modo Reducir magnitud (Reducing magnitude), la Magnitud se reducir gradualmente hasta cero una vez llegados al fin el movimiento. En el modo Magnitud Constante (Constant magnitude) la Magnitud permanecer estable hasta el final del movimiento y parar de forma abrupta.

5.17 Seno (Sine)


El comportamiento Seno puede ajustar las propiedades de un objeto (como su posicin, tamao o ngulo) de menos a ms usando una onda sinusoidal que puede oscilar. Se puede usar para crear efectos visuales ms interesantes. A pesar del nombre, la funcin alternativa de la onda Tringulo se pude usar para crear distintos efectos. Puedes encontrar en Wikipedia diferentes tipos de ondas. Para ejemplos de este comportamiento en distintos modos ve a Sine behavior - types.capx en la carpeta de ejemplos del directorio de instalacin de C2.

Propiedades de Seno
Activo desde el inicio (Active on start) Si No, el comportamiento no tendr efecto hasta que se use la accin Activar (Set active). Movimiento (Movement) El comportamiento tiene 8 modos diferentes: Horizontal mueve el objeto de izquierda a derecha en el eje X. Vertical mueve el objeto arriba o abajo en el eje Y. Tamao (Size) hace que el objeto crezca o se reduzca. Amplitud (Width) hace el objeto ms ancho o ms estrecho. Altura (Height) hace el objeto ms alto o ms bajo.

ngulo (Angle) rota el objeto en el sentido de las agujas del reloj o al contrario. Opacidad (Opacity) cambia la opacidad del objeto. Va de 0 a 100. Slo valor (Value only) no modifica el objeto. Simplemente almacena los valores cambiantes a los que acceder con la expresin Valor (Value). Puede ser til para crear efectos personalizados o modificar cualquier propiedad del objeto o comportamiento basndote en el comportamiento Seno. Onda (Wave) Esta funcin se usa para calcular el movimiento. Para verlo ve a este diagrama en Wikipedia (this Wikipedia diagram ). Seno (Sine) - una suave oscilacin del movimiento basada en la onda sinusoidal. Tringulo (Triangle) - un movimiento linear de adelante a atrs. Diente de sierra (Sawtooth) - movimiento linear con un salto al volver al inicio. Diente de sierra invertido (Reverse Sawtooth) - lo anterior invertido. Cuadrado (Square) - alternar entre los dos valores mximos. Periodo (Period) La duracin, en segundos, de un ciclo completo que se repite. Periodo aleatorio (Period random) Una cantidad aleatoria de segundos aadidos al periodo en cada ejemplo. Te puede ayudar a variar la apariencia cuando muchos ejemplos usan el comportamiento Seno. Periodo compensado (Period offset) El tiempo inicial en segundos del ciclo. Por ejemplo, si el periodo es de 2 segundos y el periodo compensado es de 1, el comportamiento Seno empezar a la mitad del ciclo. Periodo compensado aleatorio (Period offset random) Una cantidad aleatoria de segundos aadidos al periodo compensado. Te puede ayudar a variar la apariencia cuando muchos ejemplos usan el comportamiento Seno. Magnitud (Magnitude) El cambio mximo de la posicin, tamao o ngulo del objeto. Est en pxeles para posicin y para el tamao y en grados para el ngulo. Magnitud aleatoria (Magnitude random) Un valor aleatorio aadido a la magnitud para cada ejemplo. Te puede ayudar a variar la apariencia cuando muchos ejemplos usan el comportamiento Seno.

Condiciones de Seno
Cotejar magnitud (Compare magnitude) Coteja la magnitud actual del movimiento. Cotejar movimiento (Compare movement) Coteja la propiedad Movimiento actual del comportamiento. Cotejar periodo (Compare period) Coteja el periodo de movimiento actual, en segundos.

Cotejar onda (Compare wave) Coteja la propiedad Onda actual del comportamiento. Est activo (Is active) Verdadero si el comportamiento est activo.

Acciones de Seno
Activar (Set active) Habilita o deshabilita el comportamiento. Cuando est deshabilitado el comportamiento no afecta al objeto. Ajustar magnitud (Set magnitude) Ajusta la magnitud del ciclo. Est en pxeles cuando modifica la posicin o el tamao y en grados cuando modifica el ngulo. Ajustar movimiento (Set movement) Cambia el tipo de movimiento del comportamiento, por ejemplo, de Horizontal a Tamao. Ajustar periodo (Set period) Ajusta la duracin de un nico ciclo completo, es segundos. Ajustar onda (Set wave) Cambia la propiedad Onda, eligiendo una funcin distinta para calcular el movimiento.

Expresiones de Seno
Posicin de Ciclo (CyclePosition) Da el valor de 0 a 1 que representa el progreso a travs del ciclo actual. Por ejemplo, ser 0,5 cuando el ciclo est a la mitad. Magnitud (Magnitude) Da la magnitud del ciclo actual. Est en pxeles cuando modifica la posicin o el tamao y en grados cuando modifica el ngulo. Periodo (Period) Da el periodo de un nico ciclo completo en segundos. Valor (Value) Da el valos cambiante u oscilante. Se alternar como valores positivos y negativos centrados en 0. Es til para crear efectos personalizados cuando est en modo Slo valor (Only value).

5.18 Slido (Solid)


El comportamiento Slido hace que otros comportamientos reaccionen como si fuera un obstculo infranqueable. Los objetos con este comportamiento se llaman Slidos. Afecta a los siguientes comportamientos: 8 Direcciones, que queda bloqueado por los slidos. Bala, que puede rebotar en los slidos, opcional.

Coche, que rebota en los slidos. Plataforma, que puede posarse sobre un slido. Plataforma no puede saltar sobre slidos desde abajo, para esto usa el comportamiento Saltar a travs.

Nota que al comportamiento Fsica no le afectan los objetos slidos. A cambio, usa el comportamiento con Inmovible (Immovable) activado, Yes. El comportamiento Slido no tiene propiedades, condiciones, acciones ni expresiones a parte de la accin Habilitar (Set enabled). Por esto, tambin se le llama atributo. Este comportamiento es fundamental en C2, y otras muchas funciones del programa interactan con l. Por ejemplo, el comportamiento de Movimientos personalizados tiene acciones para empujar el objeto fuera de slidos.

Evita bloquear/ atrapar objetos con Slidos


Los comportamientos que responden al Slido normalmente se bloquean o se quedan atrapados en el interior del objeto Slido. En este caso no hay solucin para continuar el movimiento. Las nicas tres opciones son 1) dejarlo atascado, 2) permitir al objeto moverse dentro de los slidos o 3) teletransportar el objeto al espacio libre ms cercano, que en algunos casos puede estar muy lejos. Ya que las opciones 2 y 3 pueden causar comportamientos extraos, C2 har de forma deliberada que el objeto quede incapacitado para moverse. As que es tu tarea disear juegos de tal forma que el jugador no se pueda quedar atascado o atrapado moviendo objetos Slidos. Debes tener especial cuidado cuando mueves Slidos contra otros Slidos. Es slo por mover (o rehabilitar) Slidos, o usar Ajustar posicin (Set position), que el objeto pueda quedar atrapado. Si ninguno de los Slidos de tu juego se mueven y no teletransportas al jugador usando Ajustar posicin (Set position), ser prcticamente imposible que el jugador se quede atrapado.

Acciones de Slido
Habilitar (Set enabled) Habilita o Deshabilita Slido de ese objeto. Si lo deshabilitas, el objeto no actuar como si fuera un slido, y los objetos podrn pasar a travs de l. Ten cuidado de no atrapar objetos habilitando el slido otra vez cuando se estn solapando, mira la seccin anterior.

5.19 Rodear (Wrap)


El comportamiento Rodear simplemente reposiciona el objeto en el lado contrario del plano, si ste sale de l. No tiene propiedades, condiciones, acciones ni expresiones. El objeto solo rodea una vez haya salido completamente del plano, ninguna parte de su cuadro delimitador estar dentro del plano.

6. Referencia de Plugins
El objeto solo rodea una vez haya salido completamente del plano, ninguna parte de su cuadro delimitador estar dentro del plano. Esta seccin da una referencia a todos los plugins oficiales que hay en C2. Cada uno tiene un resumen de su uso, una lista de propiedades y una detallada lista de acciones, condiciones y expresiones. Muchos plugings comparten acciones, condiciones y expresiones. Se describen como Caractersticas comunes en vez de repetir la informacin en cada plugin.

6.1 Caractersticas Comunes (Common features)


Muchos plugings comparten acciones, condiciones y expresiones; como el tamao y la posicin del objeto. Aqu se describen todas en vez de repetir la informacin en cada plugin. No todos los objetos usan todas las caractersticas comunes, algunos usan slo unos pocos de los listados. Esta lista es una referencia de las caractersticas que puedes encontrar en C2, sin describirse ningn plugin en particular.

IDs unicas (UIDs)


Todos los objetos en tiempo de ejecucin tienen asignada una nica ID, que es un nmero que empieza por 0 para el primer ejemplo y que va sumando 1 para los siguiente ejemplos. Viene dado por la expresin UID. Este nmero se puede utilizar para identificar nicamente un ejemplo en todo el juego. Por ejemplo, puede almacenarse en las variables de ejemplo y en las variables de evento y luego recogerlas de nuevo usando la condicin Recoger por ID nica (Pick by unique ID).

ndice de IDs (IIDs)


Todos los objetos en tiempo de ejecucin tiene asignado un ndice de ID, que es el nmero de ejemplo dentro del tipo de objeto. Viene dado por la expresin IID del objeto. Por ejemplo, los primeros ejemplos de dos tipos distintos de objeto tendrn, ambos un IID 0, los segundos 1 y as sucesivamente. Por ello, el IID no identifica a un nico ejemplo como lo hace UID, ni se refiere de forma constante al mismo grupo de ejemplos (si se destruye IID 0, el siguiente ejemplo adquirir IID 0). Pero puede ser til para que los usuarios avanzados se beneficien del ndice de expresiones de objeto y de la condicin del sistema Recoger ejemplo Nth (Pick Nth instance).

6.1.1 Condiciones communes


Las siguientes condiciones son comunes a varios plugins.

ngulo (Angle)
Nota que los ngulos en C2 empiezan en 0 grados mirando hacia la derecha y avanzan en el sentido de las agujas del reloj. Est entre ngulos (Is between angles) Verdadero si el ngulo actual del objeto est entre los dos ngulos dados en grados. El primer y el segundo ngulo deben estar en el sentido de las agujas del reloj. Est entre 0 y 45 grados (Is between 0

and 45 degrees) es verdadero si el objeto est en un rea de 45 grados, pero Est entre 45 y 0 grados (Is between 45 and 9 degrees) es verdadero si el objeto est en un rea de 315 grados desde los 45 hasta los 0. Est en el sentido de las agujas del reloj (Is clokwise from) Verdadero si el ngulo actual del objeto est en el sentido de las agujas del reloj respecto al ngulo dado en grados. Invierte para comprobar si el objeto est en el sentido contrario. Por ejemplo, un objeto a 45 grados est en el sentido de las agujas del reloj con respecto a 0 grados, pero otro a 0 grados estara en el sentido contrario con respecto a 45 grados. Est dentro del ngulo (Is within angle) Verdadero si el ngulo actual del objeto est dentro del nmero de grados de otro ngulo. Esto es ms fiable que comprobar si el ngulo del objeto es exactamente igual al otro ngulo. Est dentro de 0,5 grados en 90 grados (Is within 0.5 degrees of 90 degrees) es probablemente mejor que ngulos iguales a 90 grados (Angle equals 90 degrees), ya que hay muchos casos en los que el objeto puede estar muy cerca, pero no medir exactamente 90 grados.

Apariencia (Appearance)
Cotejar opacidad (Compare opacity) Coteja la opacidad del objeto, de 0 (transparente) a 100 (opaco). Es visible (Is visible) Verdadero si el objeto es visible en ese momento. Invierte para comprobar si es invisible. Esto slo comprueba la visibilidad establecida por la accin Hacer visible (Set visible); so le afecta si el objeto est fuera de la pantalla, si tiene opacidad 0 o si est en una capa invisible.

Variables de ejemplo (Instance variables)


Cotejar variable de ejemplo (Compare instance variable) Coteja el valor actual de una de las variables de ejemplo del objeto. La variable de ejemplo booleana esta activa (Is boolean instance variable set) Comprueba si una variable de ejemplo booleana es verdadera. Invierte la condicin para comprobar si es falsa.

Miscelanea (Misc)
Creado (On created) Destruido (On destroyed) Detonados para cada ejemplo que se crea o se destruye durante el juego. Por ejemplo, un efecto de partculas se puede activar siempre que un objeto se crea, y una explosin siempre que se destruye. Estas condiciones son anlogas a los constructores y los destructores en un lenguaje de programacin tradicional (comandos que funcionan en la creacin y destruccin de objetos). Ten cuidado de no crear un objeto del mismo tipo en un evento Creado (On created) (On Sprite2 created: create Sprite2) ya que crear un bucle infinito y el juego se enganchar.

Recoger (Pick)
Recoger por ID nica (Pick by unique ID) (UID) Recoge el ejemplo que coincide con el nmero de ID dado. Recoger el ms cercano/lejano (Pick nearest/furthest) Recoge el ejemplo ms cercano o lejano de una posicin del plano dada.

Tamao y Posicin (Size & Position)


Cotejar amplitude (Compare width) Cotejar altura (Compare height) Coteja el tamao actual del objeto, en pxeles. Cotejar X (Compare X) Cotejar Y (Compare Y) Coteja la posicin del objeto en el plano, en pxeles. Nota que los objetos se pueden posicionar entre pxeles (5,5 o 10,33333). Por ello es una mala idea confiar que un objeto este en una posicin exacta.

Est en pantalla (Is on-screen) Verdadero si una parte del cuadro delimitador del objeto est dentro del rea de la pantalla. La visibilidad o la opacidad no lo afectan. Est fuera del plano (Is outside layout) Verdadero si el cuadro delimitador del objeto est completamente fuera del rea del plano.

Orden Z (Z Order)
Est en la capa (Is on layer) Recoge todos los ejemplos de una capa dada, especificados por su nombre o por su ndice basado en cero. Recoger de arriba/abajo (Pick top/bottom) Recoge el ejemplo de ms arriba o de ms abajo, teniendo en cuenta las capas y el ndice Z. Por ejemplo, el ejemplo del frente de la capa ms cercana es el ejemplo de arriba.

6.1.2 Acciones communes


Las siguientes acciones son comunes a varios plugins.

ngulo (Angle)
Nota que los ngulos en C2 empiezan en 0 grados mirando hacia la derecha y avanzan en el sentido de las agujas del reloj. Rotar en el sentido de las agujas del reloj (Rotate clockwise) Rota el objeto en un nmero de grados en el sentido de las agujas del reloj. Rotar en el sentido contrario a las agujas del reloj (Rotate counter-clockwise) Rota el objeto en un nmero de grados en el sentido contrario a las agujas del reloj. Rotar hacia ngulo (Rotate toward angle) Rota el objeto en un nmero de grados hacia otro ngulo. Si el objeto est cerca del ngulo objetivo no lo sobrepasar (Acabar exactamente en el ngulo objetivo). Rotar hacia posicin (Rotate toward position) Rota el objeto en un nmero de grados hacia la posicin. Si el objeto est cerca del ngulo objetivo no lo sobrepasar (Acabar exactamente en el ngulo objetivo).

Ajustar ngulo (Set Angle) Ajusta el ngulo del objeto en grados, de 0 a 360. 0 grados miran a la derecha y aumenta en el sentido de las agujas del reloj. Ajustar ngulo hacia la posicin (Set angle toward position) Ajusta el ngulo del objeto para que se posicione en un sitio concreto del plano.

Apariencia (Appearance)
No todos los objetos soportan las acciones en relacin con los efectos. Para ms informacin ve a Efectos. Ajusta modo de fusin (Set blend mode) Cambia la forma en la que el objetos se funde con el fondo alterando la propiedad del objeto Modo de fusin (Blend Mode). Habilita efecto (Set effect enabled) Habilita o deshabilita uno de los efectos aadidos la objeto.

Ajusta parmetro de efecto (Set effect parameter) Cambia el valor de uno de los parmetros de un efecto aadido al objeto. El parmetro que se cambia se especifica por su ndice basado en 0, es decir, 0 para cambiar el primer parmetro, 1 para cambiar el segundo y as sucesivamente. Ajustar opacidad (Set opacity) Ajusta la opacidad del objeto (o semitransparecia) de 0 (transparente) a 100 (opaco). Hacer visible (Set visible) Hace el objeto visible o invisible (escondido).

Variables de ejemplo (Instance variables)


Aadir a (Add to) Quitar de (Subtract from) Modifica el nmero de la variable de ejemplo. Ajustar (Set) Ajusta un nmero o texto a la variable de ejemplo. Ajustar booleano (Set boolean) Ajusta la variables de ejemplo booleana, que puede tener un valor verdadero a falso. Alternar booleano (Toggle boolean) Alterna una variable de ejemplo booleana, que cambia de verdadera a falsa y viceversa.

Miscelanea (Misc)
Destruir (Destroy) Elimina el objeto del juego.

Tamao y Posicin (Size & Position)


Mover al ngulo (Move at angle)

Mueve el objeto un nmero de pxeles hacia un ngulo dado en pxeles. Mover adelante (Move forward) Mueve el objeto un nmero de pxeles hacia adelante en el ngulo actual del objeto. Ajustar amplitud (Set width) Ajustar altura (Set height) Ajustar tamao (Set size) Ajustan el tamao actual el objeto en pxeles. Ajustar X (Set X) Ajustar Y (Set Y) Ajustar posicin (Set position) Ajusta la posicin del objeto en el plano, en pxeles. El origen (0,0) es la parte de arriba a la derecha del plano y el eje Y se incrementa hacia abajo. Ajustar posicin a otro objeto (Set position to another object) Posiciona el objeto de acuerdo a otro. Tambin puede posicionarse en relacin a un punto de imagen de un objeto dado.

Orden Z (Z Order)
Mover abajo (Move to bottom) Mover arriba (Move to top) Posiciona el objeto en la parte de arriba o de abajo de la capa actual. Mover a capa (Move to layer) Mueve el objeto a la parte de arriba de la capa dada, por su nombre o por su ndice basado en 0. Si el objeto ya est en la capa dada la accin no tendr efecto.

6.1.3 Expresiones comunes


Las siguientes expresiones son comunes a varios plugings.

ngulo (Angle)
ngulo (Angle) El ngulo actual del objeto en grados. 0 grados comienza a la derecha y se incrementa en el sentido de las agujas del reloj.

Apariencia (Appearance)
Opacidad (Opacity) La opacidad actual del objeto (semitransparencia), de 0 (transparente) a 100 (opaco).

Miscelanea (Misc)
Conteo (Count) El nmero de ejemplos de ese tipo de objeto Conteo recogido (PickedCount) El nmero de ejemplos que renen la condicin del evento. Por ejemplo, si el evento tiene la condicin El Ratn est sobre el Sprite (Mouse is over Sprite), Sprite.PickedCount dar el nmero de ejemplos sobre los que est el ratn.

IID Da el ndice del ejemplo (IID). Ver caractersticas comunes. UID Da la ID nica del ejemplo (UID). Ver caractersticas comunes.

Tamao y Posicin (Size & Position)


Amplitud (Width) Altura (Height) Da el tamao del objeto en pxeles. Punto de Imagen X (ImagePointX) Punto de Imagen Y (ImagePointY) Da la posicin de un punto de imagen de un objeto en las coordinadas del plano. Da tanto el nombre del punto como su nmero. X Y Da la posicin del objeto en el plano, en pxeles. El origen (0,0) es la parte de arriba a la derecha del plano y el eje Y se incrementa hacia abajo.

Tiempo (Time)
dt Da el tiempo delta (delta-time) de acuerdo a la propia escala de tiempo del objeto. Ve a Delta-time and framerate independence para ms informacin.

Orden Z (Z Order)
Nombre de capa (LayerName) El nombre de la capa en la que el objeto est actualmente. Nmero de capa (LayerNumber) El ndice basado en cero de la capa en la que el ejemplo est actualmente. ndice Z (ZIndex) Da el ndice basado en 0 del orden Z de ese ejemplo dentro de la capa actual. 0 es el ejemplo de abajo, incrementndose hasta el ejemplo de arriba.

6.2 AJAX
El plugin AJAX permite que se soliciten pginas web durante el juego. Su nombre se deriva de Asynchronous JavaScript and XML una tcnica usual en la mayora de desarrolladores web. El objeto AJAX se disea para el uso de desarrolladores web ya familiarizados con la tcnica - esta referencia no describir los principios de AJAX, solo mostrar cmo usarlo en C2 con el objeto AJAX. Normalmente, usar el objeto AJAX tambin requiere scripts del lado del servidor personalizados (custom server-side scripting) que estn fuera del alcance de este manual.

Como hacer una solicitud


El uso bsico del objeto AJAX consiste en: 1. Uso de la accin Solicitud (Request) para cargar la URL. 2. Un momento despus de que la solicitud se complete, se detona Completado (On completed). 3. La expresin ltimo Dato (LastData) se puede usar para acceder al contenido de la respuesta. La expresin del sistema tokenat puede ser til para dividir respuestas simples. Tambin puedes cargar ltimo dato (LastData) en el plugin XML para leerlo en un documento XML.

Etiquetas (Tags)
Se puede crear una etiqueta diferente para cada solicitud. Es una secuencia simple que se usa para separar solicitudes distintas. Por ejemplo, en el arranque quizs solicites ambos foo.php con la etiqueta foo y bar.php con la etiqueta bar. Cuando se completa la primera solicitud, se detona foo completado (On foo completed); cuando la segunda se completa, se detona bar completado (On bar completed). Las solicitudes se pueden completar en distinto orden al que se realizaron, as que sin etiquetas sera imposible decir cual se ha completado.

Hacer solicitudes AJAX entre dominios o en la vista previa


Por defecto, los navegadores bloquean las solicitudes AJAX entre dominios. Esto significa, por ejemplo, que un juego en scirra.com puede solicitar otras pginas en scirra.com, pero no puede solicitar en facebook.com. Esta es una caracterstica de seguridad importante paras los navegadores (no es especfica de C2 o del objeto AJAX). Adems, cuando haces vista previa en C2 el juego funciona en localhost. Esto cuenta como un dominio diferente para el resto de internet as que las solicitudes de AJAX a cualquier pgina fallarn, a menos que el servidor permita especficamente solicitudes entre dominios. Si quieres que las solicitudes de AJAX funcionen para cualquier dominio, o en la vista previa, puedes configurarlo para enviar el siguiente encabezado HTTP: Access-Control-Allow-Origin: * Esto habilitar las solicitudes AJAX para cualquier dominio, pero debes tener en cuenta las implicaciones de ello en tema de seguridad. Para ms informacin ve a HTTP access control on MDN .

Condiciones de AJAX
Completado (On completed) Detonado cuando la solicitud con la misma etiqueta se ha completado satisfactoriamente. La expresin ltimo dato (LastData) contiene la respuesta. Error (On error) Detonado cuando la solicitud falla. Esto puede ser por numerosas razones, como que el servidor haya cado o que se haya acabado el tiempo de la respuesta. (La expresin LastData no se ajusta puesto que no hay respuesta.) En progreso (On progress) Para solicitudes de larga duracin (descargar un archivo grande), esta condicin se detona peridicamente y actualiza el estado de la solicitud en la expresin Progreso (Progress). Es til para crear barras de progreso para las solicitudes AJAX.

Acciones de AJAX
Publicar en URL (Post on URL) Enva una solicitud de PUBLICACIN (POST) a una URL y recupera la respuesta. Se da una etiqueta que coincida con los detonadores Completado (On completed), En progreso (On progress) y Error (On error). C2 no codifica en URL los datos del post - usa la expresin del sistema URLEncode para asegurar que los datos estn en el formato correcto para publicarlos. Solicitud (Request) Enva OBETENER respuesta para recuperar los contenidos de una URL. Se da una etiqueta que coincida con los detonadores Completado (On completed), En progreso (On progress) y Error (On error). Solicitud de archivo de proyecto (Request project file) Solicita los contenidos de un archivo de proyecto. Se da una etiqueta que coincida con los detonadores Completado (On completed), En progreso (On progress) y Error (On error).

Expresiones AJAX
ltimo Dato (LastData) El contenido de la ltima respuesta. Se activa en el detonador Completado (On completed). Si se vuleve a usar en un evento distinto, contendr la respuesta de la ltima solicitud completada. La expresin del sistema tokenat pude ser til para dividir en respuestas simples. Progreso (Progress) Da el progreso de la solicitud AJAX en un evento En progreso (On progress). El progreso se representa como un nmero de 0 a 1 (0,5 para la mitad completada).

6.3 appMobi
El plugin appMobi proporciona integracin con el servicio de publicacin mvil de appMobi . Para ms informacin ve al tutorial How to export to appMobi .

Condiciones de appMobi
Est en AppMobi (Is in AppMobi) Verdadero si el juego est funcionando dentro de appMobi. Ser falso si el juego est funcionando en otro lugar, como en la web abierta (open web). Almacenar habilitado (Caching enabled) (Para usuarios avanzados) Verdadero si el servicio de almacenamiento de appMobi ha sido habilitado. Cotejar orientacin inicial (Compare initial orientation) Comprueba si la orientacin del dispositivo al inicio fue alguna particular. Cotejar orientacin (Compare orientation) Comprueba si la orientacin actual del dispositivo es alguna particular. Impulsar habilitado (Push enabled) (Para usuarios avanzados) Verdadero si el servicio de notificaciones de impulso (push notifications) de appMobi estn habilitadas.

Streaming habilitado (Streaming enabled) (Para usuarios avanzados) Verdadero si el servicio de streaming de appMobi est habilitado. Actualizaciones habilitadas (Updates enabled) Verdadero si el servicio de actualizaciones en la nube (cloud update) est activado. Tecla atrs presionada (On back button pressed) Se detona cuando se presiona la tecla atrs del dispositivo, si la hay. Nota que algunos dispositivos (como iOS) no la tienen. Antes de que este detonador funciones, debes aadir una pgina virtual usando la accin Aadir pgina virtual (Add virtual page). Cdigo de barras escaneado (On barcode scanned) Detonado cuando el dispositivo escanea un cdigo de barras satisfactoriamente. Datos remotos (On remote data) Detonado cuando se reciben datos de la accin Obtener datos remotos (Get remote data). Sitio remoto cerrado (On remote site closed) Detonado cuando una ventana emergente del navegador que est mostrando contenido remoto es cerrada por el usuario. Se abre con la accin Mostrar sitio remoto (Show remote site).

Acciones appMobi
Registrar evento (Log event) Registra un evento con nombre para el servicio analtico de appMobi. Los parmetros se pueden ser proporcionados en formato URL (foo=bar&baz=ban). Aadir a almacenamiento de medios (Add to media cache) Descarga un archivo desde Internet y lo almacena en un dispositivo de almacenamiento local, permitiendo usar el juego offline en el futuro. Borrar todas las cookies (Borrar todas las cookies) Elimina todas las cookies guardadas con la accin del dispositivo Establecer cookie (Set cookie). (No afecta a las cookies del navegador del usuario). Borra almacenamiento de medios (Clear media cache) Borra todos los archivos descargados con Aadir a almacenamiento de medios (Add to media cache). Eliminar cookie (Remove cookie)

Elimina una cookie establecida con la accin Establecer cookie (Set cookie). (No afecta a las cookies del navegador del usuario). Establecer cookie (Set cookie) Establece una cookie en el dispositivo. sta es un sustituto del almacenamiento local. No afecta al navegador del usuario; el almacenamiento es slo para la aplicacin. Cerrar sitio remoto (Close remote site) Cierra un sitio remoto que est mostrndose con la accin Mostrar sitio remoto (Show remote site). Conseguir datos remotos (Get remote data) Crea el fondo de una solicitud AJAX usando el servicio appMobi. El detonador Datos remotos (On remote data) se activar cuando se complete. Instalar actualizacin (Install update) Instala una actualizacin pendiente cuando est preparada. Lanzar a sitio externo (Launch external site) Abre una URL en el navegador por defecto del dispositivo del usuario. El usuario dejar la app, no como en la accin Mostrar sitio remoto (Show remote site). Escanear cdigo de barras (Scan barcode) Abre un lector de cdigos QR a pantalla completa. Se detonar Cdigo de barras escaneado (On barcode scanned) cuando se escanee satisfactoriamente. Ajustar auto-rotar (Set auto-rotate) Evita que un dispositivo rote automticamente la pantalla cuando se cambia la orientacin. Esto puede forzar una orientacin especfica cuando lo usas con Ajustar orientacin (Set orientation). Mostrar sitio remoto (Show remote site) Muestra una URL remota en el navegador de la aplicacin. El usuario no sale de la app, puede darle al botn de cerrar y volver a la app, no como en la accin Lanzar a sitio externo (Launch external site). Actualizar conexin (Update connection) Comprueba si el tipo de conexin del dispositivo ha cambiado (3G, Wifi, etc.). Aadir pgina virtual (Add virtual page) salo para abrir una pantalla nueva que quieras que se pueda cerrar con la tecla atrs. La siguiente vez que se presione tras esta accin evitar que la accin por defecto del dispositivo y detonar Tecla atrs presionada (On back button pressed). Eliminar pgina virtual (Remove virtual page) Elimina la pgina aadida previamente, por ejemplo, si cancelas la pantalla.

Expresiones appMobi
Cookie Da los datos almacenados por la accin Ajustar cookie (Set cookie). Almacenamiento local URL (LocalMediaCacheURL) Da el camino local para los archivos almacenados de Internet por la accin Aadir a almacenamiento de medios (Add to media cache). Versin AppMobi (AppMoviVersion) Da la versin actual del software appMobi. Datos del dispositivo Cdigo de barras (DeviceBarcodeData) Da los datos escaneados de un cdigo de barras. Slo aparece en Cdigo de barras escaneado (On barcode scanned) tras la accin Escanear cdigo de barras (Scan barcode). Conexin del dispositivo (DeviceConnection) El tipo de conexin disponible ms adecuado para el dispositivo: wifi, cell o none. Modelo del dispositivo (DeviceModel) El nombre del modelo del dispositivo. Versin de SO del dispositivo (DeviceOSVersion) Informacin de la versin de SO del dispositivo. Plataforma del dispositivo (DevicePlatform) iOS o Android dependiendo de cual est usando. Cadena de consulta del dispositivo (DeviceQueryString) Da cualquier cadena de consulta que pasa a la aplicacin cuando se inicia con un controlador de protocolo (protocol handler). Datos remotos del dispositivo (DeviceRemoteData) Los datos dados por los detonadores Conseguir datos remotos (Get remote data) y Datos remotos (On remote data). Estado remoto del dispositivo (DeviceRemoteStatus) Puede ser abierto (open), cerrado (closed) o inactivo (idle). UUID del dispositivo (DeviceUUID) Da el Identificador Universal nico (UUID), que es un cdigo que identifica nicamente a ese dispositivo. Orientacin inicial (InitialOrientation) La orientacin del dispositivo en el inicio, dado en grados (0, -90, 90 o 180). Orientacin (Orientation) La orientacin actual del dispositivo, dado en grados (0, -90, 90 o 180).

6.4 Matriz (Array)


El objeto Matriz almacena listas de valores (cifras o texto). Es anlogo a las matrices en los lenguajes de programacin tradicionales.

Sobre las Matrices


La matriz tiene 3 dimensiones. Por ejemplo, una lista simple de diez valores sera una matriz de 10 x 1 x 1. Nota que no debes usar el valor 0 en ninguna dimensin porque la matriz entera quedar vaca; hay que usar 1 para dimensiones no usadas. Cada elemento de la matriz puede almacenar una cifra o texto. La cifra o el texto se pueden cambiar con las acciones de Ajuste (Set) y se puede acceder a ellas con la expresin En (At). Por ejemplo, una matriz de 10 x 10 x 1 es igual a una cuadrcula 2D con un total de 100 valores. Se puede almacenar un nmero en la posicin (3,7) con la accin Ajustar en XY (Set at XY), y se puede acceder mediante Matriz.En(3,7) (Array.At(3,7)). Nota que, al igual que el resto de C2, los ndices comienzan en 0, as que el primer elemento ser 0. En este ejemplo, Matriz.En(0,0) (Array.At(0,0)) dar el primer nmero de la cuadrcula. La matriz puede almacenar tanto cifras como texto con cualquiera de sus elementos. Incluso se pueden mezclar nmeros y letras dentro de ella. Las matrices no cambian su tamao automticamente. Si accedes a un valor fuera de la matriz, te dar el nmero 0. Si ajustas un valor fuera de ella, no tendr efecto.

Manipular matrices
Una matriz de una dimensin, de tamao N x 1 x1, funciona como una lista simple de valores N. Las acciones de la categora Manipular (como Push (Insertar), Pop (Quitar)) permiten que las matrices de una dimensin se usen como otras estructuras de datos. (Estas acciones funcionan con matrices multidimensionales pero estn hechas especficamente para las de una sola). Por ejemplo, el siguiente esquema usa una fila (ltimo en entrar, primero en salir o LIFO): Aade nuevos tems con Insertar al frente (Push front). Recupera el siguiente valor con Matriz.AlFinal (Array.Back). Elimina el valor recuperado con Quitar al final (Pop back). El siguiente esquema usa una pila (primero en entrar, primero en salir o FIFO) Aade nuevos tems con Insertar al final (Push back). Recupera el siguiente valor con Matriz.AlFinal (Array.Back). Elimina el valor recuperado con Quitar al final (Pop back).

Propiedades de Matriz
Amplitud (dimension X) (Width (X dimension)) Altura (dimension Y) (Height (Y dimension)) Profundidad (dimensin Z) (Depth (Z dimension)) El tamao de la matriz. Si quieres que sea de 1 dimensin (una lista de valores) usa A x 1 x 1. Si quieres que sea de 2 (una cuadrcula de valores) usa A x B x 1.

Condiciones de Matriz
Cotejar en X (Compare at X) Cotejar en XY (Compare at XY) Cotejar en XYZ (Compare at XYZ) Coteja un valor en una posicin de la matriz. Los ndices estn basados en 0. Todos los valores fuera de la matriz dan 0. Si se usa Cotejar en X (Compare at X) los ndices de Y y Z sern 0. Si se usa Cotejar en XY (Compare at XY) el ndice Z ser 0. Para cada elemento (For each element) Una condicin de repeticin que funciona una vez para cada elemento de la matriz. Esto, por lo tanto, funciona anchura x altura x profundidad veces. Cotejar valor actual (Compare current value) Slo vlido para el bucle Para cada elemento (For each element), ya sea como la condicin siguiente a ella como un sub-evento. Contiene valor (Contains value) Busca en la matriz entera para comprobar si alguno de los elementos contiene el valor dado. Por ejemplo, puedes usarlo para comprobar que la secuencia espada (sword) est almacenada en alguna parte de la matriz. Esta vacia (Is empty) Comprueba si la matriz est vaca. Estar vaca cuando el nmero total de sus elementos sea 0, calculado como anchura x altura x profundidad. Por ello, la matriz estar vaca si cualquiera de sus ejes mide 0. Es til cuando usas matrices como estructura de datos (cuando insertas y quitas valores).

Acciones de Matriz
Borrar (Clear) Pone a 0 todos los elementos de la matriz. Ajustar en X (Set at X) Ajustar en XY (Set at XY) Ajustar en XYZ (Set at XYZ) Escribe un valor en una posicin en la matriz. Los ndices estn basados en 0. Escribir valores fuera de la matriz no tendr efecto. Si se usa Ajustar en X (Set at X) los ndices de Y y Z sern 0. Si se usa Ajustar en XY (Set at XY) el ndice Z ser 0. Ajustar tamao (Set size) Ajusta las dimensiones de la matriz. Los valores se guardan, pero si la nueva matriz es ms pequea se truncan. Si la nueva matriz es ms grande, los elementos nuevos almacenarn el valor 0. Si alguna de las dimensiones es 0 la matriz completa quedar vaca, as que deben ser al menos 1. Descargar (Download) Abre una nueva pestaa en el navegador con un enlace de descarga del contenido de la matriz como un archivo en formato JSON. Se usa para desarrollo offline (como crear editores de nivel). Ya que funciona abriendo una pestaa nueva, puede no aparecer si tienes activado el bloqueo de ventanas emergentes asegrate de que el localhost permite estas ventanas para que la accin funcione.

Cargar (Load) Carga los contenidos de la matriz de una secuencia en formato JSON. Debe recuperarse de la accin Descargar (Download) o de la expresin AsJSON. Tambin se puede recuperar del objeto AJAX. Insertar (Push) Aade un nuevo valor al principio (al frente) o al final de un eje. Ya que la matriz es un cubo de valores en 3D, tcnicamente esto insertar un nuevo plano de elementos 2D con los valores dados. Pero en matrices de 1 dimensin esto aade un nico elemento, y en una de 2 dimensiones insertar una fila de elementos. Quitar (Pop) Borra el valor al principio (al frente) o al final de un eje. Ya que la matriz es un cubo de valores en 3D, tcnicamente esto quitar un nuevo plano de elementos 2D con los valores dados. Pero en matrices de 1 dimensin esto quita un nico elemento, y en una de 2 dimensiones quitar una fila de elementos. Introducir (Insert) Inserta un nuevo valor en un ndice especfico de un eje. Ya que la matriz es un cubo de valores en 3D, tcnicamente esto insertar un nuevo plano de elementos 2D con los valores dados. Pero en matrices de 1 dimensin esto aade un nico elemento, y en una de 2 dimensiones insertar una fila de elementos. Borrar (Delete) Borra el valor en un ndice especfico de un eje. Ya que la matriz es un cubo de valores en 3D, tcnicamente esto quitar un nuevo plano de elementos 2D con los valores dados. Pero en matrices de 1 dimensin esto quita un nico elemento, y en una de 2 dimensiones quitar una fila de elementos. Invertir (Reverse) Invierte el orden de elementos en un eje. Nota que en matrices multidimensionales solo invierte un eje. Por ejemplo, en el eje X de una matriz 2D se invertir el orden de las columnas guardando el contenido de cada una de ellas. Sort (Ordenar) Ordena el orden de los elementos de un eje en sentido ascendente. Nota que en matrices multidimensionales se ordena desde el primer elemento del eje. Por ejemplo, en el eje X de una matriz 2D se clasificar el orden de columnas basndose en los elementos de la coordenada Y, guardando el contenido de cada columna.

Expresiones de Matriz
En (X) (At(X)) En (X, Y) (At(X, Y)) En (X, Y, Z) (At(X, Y, Z)) Recupera el valor de una posicin en la matriz. Los ndices estn basados en 0. Los valores de fuera de la matriz sern 0. Si no se dan los ndices Y o Z se usar el 0. CurX CurY CurZ El ndice basado en 0 actual de cada dimensin en un bucle Para cada elemento (For each element).

Valor actual (CurValue) El valor actual en el bucle Para cada elemento (For each element). Esto es un acceso directo para Array.At(Array.CurX, Array.CurY, Array.CurZ). Amplitud (Width) Altura (Height) Profundidad (Depth) Da el tamao de cada dimensin de la matriz. Al frente (Front) Acceso directo para acceder al primer valor de la matriz, que es lo mismo que At(0, 0, 0). Al final (Back) Acceso directo para acceder al ltimo valor del eje X, que es lo mismo que At(Self.Width - 1, 0, 0). ndice de (IndexOf) ltimo ndice de (LastIndexOf) Busca en el eje X de la matriz un valor dado y da el ndice en el que se encuentra, o -1 si no se encuentra. IndexOf encuentra en primer elemento que coincide y LastIndexOf en ltimo que coincide. AsJSON Da el contenido de la matriz como una secuencia en formato JSON. Esto puede cargarse luego en la matriz con la accin Cargar (Load).

6.5 Audio
El objeto Audio reproduce archives de audio que has importado al proyecto. Debe insertarse a todos los proyectos que necesiten reproduccin de audio. Se importan haciendo clic con el botn derecho en las carpetas de Sonido o Msica en la Barra del Proyecto y seleccionando Importar (Import), lo que hace que aparezca el Dilogo de importar audio. Ve a las secciones relacionadas con la importacin de archivos de audio para ms informacin. Actualmente, el soporte de audio en los navegadores es irregular. No todas las caractersticas funcionaran en todos los navegadores. Por ejemplo, ajustar la tasa de playback no funcionar en muchos dispositivos mviles. Esto es un problema del navegador y no del objeto Audio de C2. Se recomienda probar tu proyecto en varios navegadores para identificar que caractersticas funcionan en cada navegador. Sin embargo, este rea est en pleno desarrollo para futuros navegadores y el problema podra resolverse pronto.

Categorizar correctamente los archives de audio


Es importante organizar los archivos de audio apropiadamente, ya que los archivos en la carpeta Sonidos se descargan completamente antes de reproducirse, pero los de la carpeta Msica se reproducen en streaming. Esto significa que si una pista de msica acaba en la carpeta de Sonidos tendr que descargarse completamente (lo que podra tardar varios minutos) antes de reproducirse. Sin embargo, audio en la carpeta de Msica empezar la reproduccin inmediatamente desde el servidor.

El Audio se descarga segn demanda


Para agilizar el tiempo de carga y comenzar el juego lo antes posible, el audio se descarga o se reproduce segn la demanda durante el juego. En otras palabras, nada se descarga hasta que la accin Reproducir (Play) se activa. Entonces, si el audio est en la carpeta de Msica se reproducir desde el servidor; y si

est en la de Sonidos empezar a descargarse y se reproducir al terminar la descarga. Esto ayuda a preservar ancho de banda en el servidor, ya que no se descarga audio innecesario. Sin embargo, puede haber un retraso antes de que el audio se reproduzca la primera vez. El retraso de la primera vez es nico, porque despus el sonido ya estar descargado y se reproducir inmediatamente el resto de las veces. Puedes usar tambin la accin Precargar (Preload) para descargar antes el audio sin necesidad de reproducirlo en ese momento. Esto se puede hacer en el Inicio del Plano (Start of layout) para empezar a descargar unos pocos efectos de sonido importantes para que no haya retraso en la primera reproduccin. Sin embargo esto es opcional (todos los juegos funcionan sin Precargado) y no debe usarse demasiado pues puede ralentizar la descarga del resto y encontrarte con un tiempo sin ningn efecto de sonido.

Etiquetas de Audio
Algunas acciones afectan a parmetros de audio como el volumen al reproducirse. Sin embargo, puede haber varios sonidos sonando a la vez. Para identificar a qu sonido quieres que afecte, se reproducen con una etiqueta asociada. Es una secuencia que identifica al sonido. Por ejemplo, el sonido del arma del jugador se reproducir con la etiqueta ArmaJugador (PlayerWeapon) y la de su enemigo con Arma Enemigo (EnemyWeapon). Entonces, la etiqueta puede usarse en la accin Ajustar Volumen (Set Volume) para especificar a qu sonido quieres ajustar el volumen. Las etiquetas no diferencian maysculas y minsculas. Varios sonidos pueden reproducirse a la vez usando la misma etiqueta. En este caso, las acciones como Volumen (Set Volume) afectaran a todos los sonidos con esa etiqueta. Una etiqueta con una secuencia vaca () tiene un significado especial: se refiere slo al ltimo sonido reproducido con la accin Reproducir (Play). Es til para reproducir un sonido inmediatamente despus de ajustarlo.

Propiedades de audio
Escala de tiempo de audio (Timescale audio) La escala de tiempo puede usarse para acelerar o ralentizar la reproduccin, para algunos efectos como cmara lenta. Ve a Delta-time and framerate independence para ms informacin. Esta propiedad controla si la escala de tiempo afecta al audio. Off reproducir el audio sin tener en cuenta la escala de tiempo. On (sounds only) reproducir el audio de la carpeta Sonidos a una tasa distinta dependiendo de la escala de tiempo, pero lo har de la carpeta de Msica sin tenerla en cuenta. On (sounds and music) reproducir el audio de ambas carpetas a una tasa distinta dependiendo de la escala de tiempo. Algunos navegadores pueden no soportar las escalas de tiempo de audio; prueba en varios navegadores. Adems, diferentes navegadores pueden usar distintos algoritmos de tiempo de audio. Tambin puede alterar el tono, tomando tonos ms bajos para escalas ms bajas, lo que puede sonar como una cinta de casete a velocidades distintas; tambin puede cambiar la velocidad sin afectar el tono. Prueba en varios navegadores para establecer el efecto deseado.

Condiciones de Audio
Finalizado (On ended) Detonado cuando un sonido con cierta etiqueta finaliza su reproduccin. No se detona para sonidos en bucle.

Precargas completas (Preloads complete) Ya que el audio se descarga de acuerdo a la demanda, los archivos slo se descargan cuando se usan las acciones Precargar (Preload) o Reproducir (Play). Esta condicin ser verdadera cuando todos los audios hayan descargado lo suficiente para reproducirse hasta el final. Se puede usar para precargar ciertos sonidos en el plano inicial e ir al siguiente cuando hayan terminado, eliminando los retrasos de la primera reproduccin.

Acciones de Audio
Reproducir (Play) Reproducir (por nombre) (Play (by name)) Reproduce un archivo de audio con cierta etiqueta. La segunda accin te da la oportunidad de usar una expresin para el nombre del archivo de audio. Se pude establecer que se haga una reproduccin en bucle. Precargar (Preload) Precargar (por nombre) (Preload (by name)) Empieza a descargar el archivo de audio par que no haya retrasos al reproducirlo. Mira la seccin El Audio se descarga segn demanda para ms informacin. No es necesario precargar los archivos para que se reproduzcan - slo sirve para reducir la posibilidad de retraso en la primera reproduccin. Slo se deben precargar dos o tres sonidos de una vez. Establecer bucle (Set looping) Establece que un sonido se reproduzca en bucle (repitindose cuando acabe) o no (para cuando acaba). No todos los navegadores soportan esta caracterstica; prueba en varios de ellos. Enmudecer (Set muted) Establece si un sonido es audible o no. Ajustar tasa de reproduccin (Set playback rate) Cambia la tasa a la que se reproduce el sonido. Diferentes navegadores pueden usar diferentes algoritmos de tiempo (alternado o no el tono) o pueden no soportar la opcin; prueba en varios navegadores para conseguir el efecto deseado. Si la propiedad Escala de tiempo de audio (Timescale audio) est habilitada, combina con la tasa de reproduccin establecida para esta accin. Silenciar (Set silent) Habilita, deshabilita o alterna el Modo silencio (Silent mode). En este modo los sonidos reproducidos son mudos y no se sonarn. Es til para crear rpidamente una alternacin de audio en un ttulo de pantalla. Ajustar volumen (Set volume) Cambia el volumen de un sonido. El volumen viene dado en decibelios (dB). El volumen de 0 dB es el origen, se amplifica a partir de ah y por debajo de 0 dB se atena. Por ejemplo, introduciendo un valor de -10 har el sonido 10 unidades ms flojo (aproximadamente la mitad de fuerte). Parar (Stop) Para un sonido reproducindose inmediatamente.

Expresiones de Audio
El objeto Audio no tiene expresiones.

6.6 Browser
El objeto Navegador accede a las caractersticas del navegador web que ejecuta el juego HTML5. Tambin cambia el modo a pantalla completa, detecta si el juego tiene actualizaciones y determina si la pgina es visible. A veces, las limitaciones de seguridad evitan acciones de Navegador. Por ejemplo, la accin de la ventana Cerrar (Close) slo se puede usar cuando la ventana se crea con javascript window.open.

Condiciones de Navegador
Cookies habilitadas (Cookies enabled) Verdadero si el usuario tiene habilitadas las cookies del navegador. (Normalmente es raro que estn deshabilitadas ya que muchas pginas web funcionan con ellas). Est en lnea (Is online) Verdadero si el navegador tiene activa una conexin a internet. Los juegos de C2 pueden funcionar offline - para ms informacin ve a Offline games . Cambio de tamao (On resized) Detonado cuando la ventana del navegador que muestra el juego cambia de tamao. Esto incluye el cambio de orientacin del dispositivo. La expresin del sistema Amplitud de Ventana (WindowWidth) y Altura de Ventana (WindowHeight) se actualizarn para reflejar el nuevo tamao si se usa el modo pantalla completa. Tiene conexin (On went online) No tiene conexin (On went offline) Detonado si la conexin a internet est disponible o no durante el juego. Es comn en dispositivos mviles que pueden moverse a zonas donde no llegue la seal. La condicin Est en lnea (Is online) tambin cambia para reflejar el estado de la conexin. Tecla men (On menu button) Slo disponible cuando exportas a PhoneGap. Detonado cuan el usuario presiona la tecla Men del dispositivo. Nota que todos los dispositivos no tienen esta tecla, como iOS, que solo tiene la tecla Home. Tecla buscar (On search button) Slo disponible cuando exportas a PhoneGap. Detonado cuan el usuario presiona la tecla Buscar del dispositivo. Nota que todos los dispositivos no tienen esta tecla, como iOS, que solo tiene la tecla Home. Est descargando una actualizacin (Is downloading update) Verdadero si el juego est funcionando con lo almacenado, pero descargando y actualizando la versin al mismo tiempo. Se puede usar un auto-actualizador. Para ms informacin ve a Offline games . Actualizacin descargada (On update ready) Detonado cuando un juego est funcionando con lo almacenado, pero una versin actualizada ha terminado su descarga. Si el usuario todava est en el men del juego o en la pgina de crditos quizs quieras preguntar al usuario si quiere recargar la pgina para cargar la nueva versin (o simplemente hacerlo automticamente). Para ms informacin ve a Offline games .

Est en pantalla completa (Is fullscreen) Verdadero si el navegador est en modo pantalla completa. Pgina visible (Page is visible) Verdadero si la pgina en la que el juego HTML5 est funcionando est visible actualmente. La pgina cuenta como escondida si la ventana est minimizada, si est en una pestaa distinta a la que se est viendo o, en un dispositivo mvil, cuando la pgina est en segundo plano. Cuando es as la pgina se pausa automticamente. Suspendido (On suspended) Reanudado (On resumed) Detonado cuando la visibilidad de la pgina cambia o cuando, en un dispositivo mvil, la pgina est en segundo plano o en primero. Cuando es invisible la aplicacin se suspende: todos los eventos se paran y los sonidos se silencian.

Acciones de Navegador
Ir atrs (Go back) Ir adelante (Go forward) Se mueve por el historial de navegacin como si clicaras en los botones Atrs y Adelante del navegador. Ir al inicio (Go home) Va a la pgina de inicio del navegador. Ir a la URL (Go to URL) Va a una URL dada. Nota que usa la misma ventana/pestaa en la que se est mostrando el juego, as que esta accin finalizar el juego. Abrir URL en una ventana nueva (Open URL in new window) Va a una URL dada en una nueva ventana (o pestaa, segn la configuracin del navegador). El juego continua en la ventana/pestaa anterior. Recargar (Reload) Fuerza que la pgina se recargue. El juego se reinicia. Alerta (Alert) Hace que surja un mensaje de alerta en un cuadro. Desenfocar (Blur) Desenfoca la ventana del navegador. Cancelar pantalla completa (Cancel fullscreen) Vuelve al modo pantalla normal si el navegador est en pantalla completa. Cerrar (Close) Cierra la ventana actual si el script da permiso para ello. Enfocar (Focus) Enfoca la ventana del navegador.

Solicitar pantalla completa (Request fullscreen) Solicita que el navegador entre en el modo pantalla completa. Nota que el navegador puede ignorar la solicitud a menos que la accin la haga el usuario con un clic del ratn, presionando una tecla o tocando algo en la pantalla. Hay tres modos de pantalla completa: Centro (Center) - centra la pantalla completa en la ventana del juego. Estirar (Stretch) (crop) - extiende la ventana del juego para que ocupe la ventana completa. Estirar (Stretch) (scale) - escala (hace zoom) en la ventana del juego para que ocupe la ventana completa. Las dos ltimas opciones corresponden a la propiedad del proyecto Pantalla completa en el navegador (Fullscreen in browser). Para ms informacin ver supporting multiple screen sizes .

Expresiones de Navegador
Idioma (Language) Da el idioma configurado en el navegador. Ejemplo, en-US. Nombre (Name) Da el nombre que el navegador se da a s mismo. Este puede ser inexacto por razones de compatibilidad anteriores, como Google Chrome que se llama Netscape. Plataforma (Platform) Da la plataforma en la que el navegador se ejecuta, como Win32 para Windows. Producto (Product) Da el nombre del producto del navegador. Este puede ser inexacto por razones de compatibilidad anteriores, como Google Chrome, cuyo producto se llama Gecko. Agente de usuario (UserAgent) Da la secuencia completa del agente de usuario para el navegador, por ejemplo Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.63. Vendedor (Vendor) Da el vendedor del navegador, como Google Inc. para Google Chrome. Versin (Version) Da la versin actual del navegador como una secuencia. Puede ser simplemente un subtexto en la secuencia del agente de usuario. Ttulo (Title) El ttulo del documento HTML actual. Dominio (Domain) El dominio actual, como scirra.com. Almohadilla (Hash) La secuencia tras la almohadilla al final de la URL, incluyendo la almohadilla. Por ejemplo, si la URL es http://scirra.com/mygame/index.html#teapot, esto da #teapot. Nombre de Trayectoria (PathName) La trayectoria relativa al dominio de la URL. El nombre de la trayectoria para http://scirra.com/mygame/index.html#teapot sera /mygame/index.html.

Protocolo (Protocol) El protocolo actual, normalmente http: o https:. Parmetro de pregunta (QueryParam) Da un parmetro de secuencia de pregunta por el nombre. Por ejemplo, si la URL termina con index.html?foo=bar&baz=wan, QueryParam("foo") da bar y QueryParam("baz") da wan. Secuencia de pregunta (QueryString) Da la secuencia de pregunta completa de la URL incluyendoel smbolo de interrogacin. Por ejemplo, si la URL termina con index.html?foo=bar&baz=wan, da ?foo=bar&baz=wan. Referencia (Referrer) Da la pgina anterior que enlaza a la actual, si la hay. URL Da la URL actual completa en la barra de direcciones del navegador, incluyendo el protocolo.

6.7 Botn (Button)


El objeto Botn crea un botn que el usuario puede clicar para realizar una accin. Los controles de formulario son elementos HTML que flotan sobre el lienzo del juego en la pgina HTML. Por lo tanto, no se puede mostrar nada por encima de un control, aparte de otros controles. Los controles se posicionan ellos solos de acuerdo al paralaje de la capa, su escala y otros. Sin embargo, no estn realmente en el juego (ya que flotan encima) por lo que se recomiendo evitar el uso de desplazamientos, paralaje y escalas, de otra forma no quedara natural.

Estilo de Botn
Los botones se pueden personalizar de un gran nmero de formas usando CSS (Hojas de estilo en cascada). En vez de tener muchas acciones para ajustar todas las posibles propiedades, tiene una sola accin Ajustar estilo CSS (Set CSS style). CSS ahorra trabajo, es sencillo para usar con propiedades simples. Aqu algunos ejemplos: Hacer el texto rojo (Make the text red): Ajusta el "color" a "rojo". Hacer el fondo amarillo (Make the background yellow): Ajusta el "color del fondo" a "amarillo". Hacer el borde gris claro y fino (Make the border a thick light grey: Ajusta el "borde" a "3px solid #AAAAAA". Hacer la letra ms grande (Make the font bigger): Ajusta el "tamao de letra" a "2em". Hacer un borde rojo y discontinuo (Make a dashed red border): Ajusta el "borde" a "2px dashed red".

Propiedades de Botn
Texto (Text) El texto que aparecer en el botn. Consejo de Herramienta (Tooltip) Aparece en la mayora de los navegadores si el usuario pasa el ratn por encima de una herramienta y para. Djalo en blanco si no quieres poner ningn consejo.

Visibilidad Inicial (Initial Visibility) Si el botn se muestra o no en el inicio. Si es Invisible el botn aparecer con la accin Hacer visible (Set visible). Habilitado (Enabled) Si el botn est habilitado en el inicio. Si No, el botn estar deshabilitado y no podr pulsarse. Tamao de letra automtico (Auto font size) Ajusta la propiedad de tamao de letra automticamente de acuerdo a la escala del plano y la capa. Esto evitar que tengas que usar manualmente la propiedad de tamao de letra de CSS. Establece No si quieres usar los estilos de CSS para ajustar la letra. ID (Opcional) Una id adicional para el elemento en el DOM (Modelo de Objetos del Documento). Puede ser til para acceder al valor del elemento desde scripts externos, o dar estilo con CSS en la pgina HTML.

Condiciones de Botn
Clicado (on clicked) Detonado cuando el usuario presiona el botn, con el teclado, ratn o tocndolo.

Acciones de Botn
Ajustar estilo CSS (Set CSS style) Ajusta un estilo CSS (Hojas de estilo en cascada) en el elemento Botn. Para ms informacin ver la seccin anterior Estilo de Botn. Nota que si la propiedad Tamao de letra automtico (Auto font size) est activada, cualquier cambio a la propiedad tamao de letra se sobrescribir. Habilitar (Set enabled) Habilita o deshabilita el botn. Cuando est deshabilitado no puede ser pulsado. Enfocar (Set focused) Enfoca el botn. Ajustar texto (Set text) Ajusta el texto del botn. Ajustar consejo de herramienta (Set tooltip) Ajusta el texto que aparece en el consejo. Djalo en blanco si no quieres que haya consejo.

Expresiones de Botn
El objeto Botn no tiene expresiones.

6.8 Diccionario (Dictionary)


El objeto Diccionario almacena secuencias y nmeros. Cada valor tiene asociada una clave, que es una secuencia. Es un objeto de almacenamiento de datos no hace ninguna correccin ortogrfica ni por caractersticas especiales del idioma. Los nombres clave en Diccionario distinguen siempre entre maysculas y minsculas. Esto significa que SCORE se considera diferente a score.

Ejemplo
Suponemos que el nmero 100 se almacena con la clave puntuacin (score) y la secuencia Joe se almacena con la clave nombre (name). El resultado del almacenaje sera as: name: Joe score: 100 Reuperar la clave nombre con Dictionary.Get("name") dar Joe, y recuperar puntuacin dar 100. Al ajustar puntuacin a 50 cambiar el valor de la clave. Esto es como almacenar datos en variables de ejemplo o en variables de evento, pero ya que puedes usar secuencias como claves puedes almacenar cualquier nmero de valores.

Condiciones de Diccionario
Cotejar valor (Compare value) Coteja el valor almacenado para una clave. Tiene clave (Has key) Comprueba si hay alguna clave almacenada Est vaca (Is empty) Verdadero cuando no hay claves almacenadas. Para cada clave (For each key) Repite el evento una vez para cada clave almacenada. Las expresiones Clave actual (CurrentKey) y Valor actual (CurrentValue) dan las claves respectivas. Cotejar valor actual (Compare current value) Slo vlido en un evento Para cada clave (For each key). Coteja el valor de la clave actual.

Acciones de Diccionario
Aadir clave (Add key) Aade una nueva clave para almacenar, con un valor dado. Si la clave ya existe el valor se actualiza. Borrar (Clear) Elimina todas las claves almacenadas, haciendo que el objeto quede vaco. Eliminar clave (Delete key) Elimina una clave y su valor almacenado. Si la clave no existe no tiene efecto. Establecer clave (Set key) Actualiza el valor de una clave que ya existe. Si la clave no existe no tiene efecto. (No como Aadir clave (Add key), con esta accin no se crear). Descargar (Download) (JSON) Abre una nueva pestaa del navegador con un enlace para descargar los contenidos de Diccionario en formato JSON. Slo sirve para desarrollo. Quizs te aparezca una ventana emergente con un aviso. Cargar (Load) (JSON) Carga todas las claves y valores de datos JSON previamente recuperados del objeto Diccionario usando la accin Descargar (Download) o la expresin AsJSON.

Expresiones de Diccionario
Conseguir (Get) Da el valor almacenado de una clave, Dictionary.Get("score"). Si la clave no existe da 0. Contador de Clave (KeyCount) Da el nmero de claves almacenadas. Clave actual (CurrentKey) Valor actual (CurrentValue) En el evento Para cada clave (For each key), esto da la clave y su valor (respectivamente) de la clave actual que est siendo repetida. AsJSON Da los contenidos del objeto Diccionario en formato JSON. Puede ser cargado ms tarde con la accin Cargar (Load), enviada a un servidor mediante AJAX, guardada en un disco, etc.

6.9 Facebook
El objeto Facebook (FB de ahora en adelante) te permite integrar tu juego con FB. El tutorial How to make a Facebook game trata sobre como publicar juegos en FB y tiene una gua paso a paso para usar el objeto Facebook. Esta seccin del manual simplemente describe sus caractersticas. El objeto FB se pude usar en cualquier juego, no solo para juegos de FB. Puedes tener tu juego funcionando en tu propio servidor. El objeto te permitir conectar con la cuenta de FB del usuario incluso cuando este est jugando en tu web. Sin embargo, es necesario conectar la aplicacin con FB para guardar la ID de la aplicacin. Se pueden conectar a FB mediante Facebook Developers .

El objeto FB hace solicitudes asncronas. Esto significa que el juego sigue funcionando mientras operaciones que pueden durar varios segundos (como enviar una puntuacin) se completan. Por ello, el objeto funciona con una accin que activa una tarea (como Publicar puntuacin (Publish scoore)), que, al completarse, detona una condicin (como Puntuacin enviada (On score submitted)). Esto tardar unos segundos mientras el juego sigue funcionando, en vez de congelarlo y esperar a que se completen las acciones. Como muchas solicitudes asncronas, las acciones pueden completarse en un orden distinto del que fueron hechas.

Propiedades de Facebook
ID de la aplicacin (App ID) La ID dada a la aplicacin en la seccin de Programadores de FB (FB Developers). Aplicacin Secreta (App Secret) Slo necesario si piensas usar Puntuaciones API (Scores API). Si no, no uses esta propiedad. La aplicacin secreta se puede encontrar en los Programadores de FB y es necesaria para habilitar las Puntuaciones API (Scores API).

Condiciones de Facebook
Est preparado (Is ready) Verdadero si el objeto FB est preparado para usarse. Cuando es Falso es que todava est cargando los scripts necesarios. Usuario ha iniciado sesin (Is user logged in) Verdadero si el usuario ha iniciado sesin en su cuenta de FB. Nombre disponible (On name available) Detonado inmediatamente tras Usuario ha iniciado sesin (Is user logged in) cuando la expresin que obtiene el nombre de usuario est disponible. Usuario registrado (On user logged in) Detonado cuando el usuario ha iniciado sesin satisfactoriamente. Tambin se detona al principio si el usuario ha iniciado sesin anteriormente y vuelve a la aplicacin con la contrasea recordada. Adems, se detona al principio de cada plano mientras el usuario siga registrado. Usuario ha cerrado sesin (On user logged out) Detonado si el usuario cierra sesin durante el juego. Puntuacin alta (On hi-score) Detonado una vez por cada puntuacin alta conseguida tras la accin Solicitar tabla de puntuaciones altas (Request hi-score board). Las expresiones Nombre (HiscoreName), Posicin (HiscoreRank) y Puntuacin (Score) contienen la informacin. Puntuacin enviada (On score submitted) Detonado cuando la accin Publicar puntuacin (Publish score) se ha completado satisfactoriamente.

Puntuacin ms alta del usuario disponible (On user top score available) Detonado cuando la accin Solicitar puntuacin ms alta del usuario (Request user top score) se ha completado satisfactoriamente. La expresin Puntuacin (Score) tiene esta puntuacin.

Acciones de Facebook
Iniciar sesin (Log in) Abre una ventana emergente pidiendo al usuario que se registre. Esto slo se activa por voluntad del usuario, como presionar una tecla, hacer clic o tocar la pantalla. El usuario puede cancelar el registro por lo que esto no est garantizado su xito. Se pueden pedir dos permisos: publicar automticamente (permitiendo que las publicaciones automticas en el muro del usuario) y publicar puntuaciones (permitiendo el uso del sistema de puntuaciones altas). Puedes pedir al usuario escribir en el muro mediante un dilogo sin tener que pedir permiso cada vez - hacerlo siempre automticamente. No pidas permisos que tu aplicacin no necesite. Cerrar sesin (Log out) Cierra la sesin el usuario de FB. Pedir compartir enlace (Prompt to share link) Abre un dilogo pidiendo al usuario que comparta la URL que t quieras en su muro. Se pueden usar descripciones o imgenes opcionalmente. No requiere permisos, pero los usuarios pueden cancelar la accin. Pedir compartir la aplicacin (Prompt to share this app) Abre un dilogo pidiendo al usuario que comparta la URL de la aplicacin en su muro. Se pueden usar descripciones o imgenes opcionalmente. No requiere permisos, pero los usuarios pueden cancelar la accin. Pedir escribir en el muro (Prompt wall post) Abre un dilogo pidiendo al usuario escribir en su muro. No se aadir contenido ni enlaces - slo un cuadro de texto vaco para que el usuario escriba lo que quiera. No requiere permisos, pero los usuarios pueden cancelar la accin. Publicar enlace (Publish link) Publica de forma automtica una URL en el muro del usuario sin preguntrselo. Se pueden usar descripciones o imgenes opcionalmente. Requiere que el usuario haya aceptado Publicar automticamente (Publish to stream). Publicar en el muro (Publish wall post) Publica de forma automtica un mensaje en el muro del usuario sin preguntrselo. Requiere que el usuario haya aceptado Publicar automticamente (Publish to stream). Publicar puntuacin (Publish score) Publica una puntuacin numrica en la tabla de puntuaciones altas del juego. Requiere que el usuario haya aceptado Publicar puntuaciones (Publish scores). Cuando la accin se completa se detona Puntuacin enviada (On score submitted). Solicitar tabla de puntuaciones altas (Request hi-score board) Solicita las puntuaciones altas del juego. Requiere que el usuario haya aceptado Publicar puntuaciones (Publish scores). Esta accin detonar Puntuacin alta (On hi-score) una vez por cada puntuacin que

aparezca en la tabla. Es de tu eleccin elegir la manera de mostrar estas puntuaciones; una forma sencilla es anexando cada puntuacin a un objeto de texto. Solicitar la puntuacin ms alta del usuario (Request user top score) Solicita la puntuacin ms alta del jugador hasta el momento en el juego. Requiere que el usuario haya aceptado Publicar puntuaciones (Publish scores). Cuando se completa la accin se detona Puntuacin ms alta del usuario disponible (On user top score available).

Expresiones de Facebook
Nombre (FirstName) El nombre actual del usuario. Slo se ajusta tras la detonacin de Nombre disponible (On name available). Nombre completo (FullName) El nombre completo actual del usuario. Slo se ajusta tras la detonacin de Nombre disponible (On name available). Apellidos (LastName) Los apellidos actuales del usuario. Slo se ajusta tras la detonacin de Nombre disponible (On name available). ID de usuario (UserID) La ID actual del usuario, que se usa para distinguir diferentes usuarios con el mismo nombre. Slo se ajusta despus de que el usuario se haya registrado. Nombre para Puntuacin alta (HiscoreName) El nombre en la tabla de Puntuaciones Altas. Se ajusta en el evento Puntuacin Alta (On hi-score). Posicin en Puntuaciones Altas (HiscoreRank) La posicin actual en la tabla de Puntuaciones Altas, desde 1 hacia abajo. Se ajusta en el evento Puntuacin Alta (On hi-score). ID de usuario en Puntuaciones Altas (HiscoreUserID) Da la ID actual del usuario en la tabla de Puntuaciones Altas. Es nico aunque dos personas en la tabla tengan el mismo nombre. Puntuacin (Score) La puntuacin ms alta actual en el evento Puntuacin Alta (On hi-score) o la puntuacin actual del usuario en Puntuacin ms alta del usuario disponible (On user top score available).

6.10 Mando (Gamepad)


El objeto Mando te permite detectar la entrada de un mando de consola, teclado de PC o joystick. Si bien debe funcionar con varios dispositivos, est diseado para funcionar mejor con mandos de la XBox 360 o los diseados de forma similar (con los mismos botones). Desafortunadamente, si un dispositivo es vlido o no depende de muchos factores, incluyendo el sistema operativo, los drivers disponibles y el soporte del navegador. Esto hace difcil saber de antemano si un dispositivo especfico funcionar. Los mandos de la XBox 360 funcionan con un sistema Windows y con

el navegador Google Chrome. Los de la Playstation 3 no funcionan sin instalar ciertos drivers. Por esta razn se recomienda la primera opcin siempre habilitando un mtodo alternativo como el teclado. La mayora de los dispositivos mviles no tienen una toma fsica para conectar un controlador. Por ello, normalmente slo se habilita el uso de mandos en ordenadores de mesa. Para mviles con pantalla tctil, cntrate en el diseo de controles tctiles touch controls . Para evitar que las pginas web hagan un seguimiento a travs de tus controladores disponibles, la mayora de los navegadores que los soportan dirn que no hay controladores conectados hasta que se pulse un botn de uno de los dispositivos.

Asignacin de teclas (Key mapping)


Diferentes controladores tienen distintas disposiciones de los botones, o estos tienen distintos nombres. Por ejemplo, los de la Playstation 3 usan cuadrado, crculo, tringulo y X mientras que los de la XBox 360 usan A, B, X e Y (La X aparece en distinto lugar en ambos controladores). El objeto Mando se refiere al controlador de la XBox 360 nicamente. El objeto Mando tambin asignar otros botones al diseo del controlador de la XBox 360 para asegurar que el mismo botn detone siempre el mismo evento. Sin embargo no es prctico ajustar esto para cada dispositivo, as que algunos botones pueden detonar distintos eventos. Por ello es por lo que se recomiendan los controladores de la XBox 360. Si ests interesado en usar otros asegrate de probarlos. Las entradas en bruto se obtienen, evitando la asignacin de teclas, usando la expresin En bruto (Raw).

Controlar comportamientos con Mando


Para controlar comportamientos con entradas de Mando, usa la accin Control Simulado (Simulate control). Abajo se muestra un ejemplo de cmo controlar el comportamiento Plataforma con el stick izquierdo y el botn A para saltar.

Para ms informacin, ver la seccin Controles personalizados en la Referencia de Comportamientos.

Varios Mandos
Varios Mandos se pueden conectar a un solo ordenador. Para diferenciar entre ellos, la mayora de las acciones, condiciones y expresiones de este objeto toman unos parmetros. Es un ndice basado en 0 del controlador. Por ejemplo, 0 identifica al primer controlador, 1 al segundo y as sucesivamente. Esto te permite jugar en multijugador.

Propiedades de Mando
Zona sin cobertura analgica (Analog deadzone) Los dispositivos con joysticks analgicos son extremadamente sensibles. Esto te permite controlar los juegos de forma precisa, pero el joystick registrar tambin un leve movimiento cuando no se toque. Si no se ignoraran ciertos valores, el jugador controlado por el usuario se movera de forma incorrecta cuando este no tocara el joystick. Para resolver el problema los valores por debajo de cierto lmite se ignoran. El movimiento del joystick tiene un rango de -100 a 100 en cada eje, y si la magnitud est por debajo del

valor Zona sin cobertura analgica (Analog deadzone) dar 0. Por ejemplo, por defecto es 25, as que valores desde -25 a 25 contarn como 0. Se recomienda este valor para asegurar que no haya movimientos no intencionados.

Condiciones de Mando
Cotejar ejes (Compare axis) Coteja la posicin de un joystick analgico en un mando especfico. Los valores dentro de la Zona sin cobertura analgica (Analog deadzone) dan 0. El rango de valores de los ejes es de -100 a 100. Tiene Mandos (Has gamepads) Verdadero si hay algn mando conectado y activado. Para evitar que sitios web te controlen en base a los mandos que tengas, la mayora de los navegadores no envan los datos del controlador hasta que se pulsa un botn. Botn presionado (Is button down) Verdadero si un botn se presiona en un mando especfico. Los botones se denominan de acuerdo a los controladores de la XBox 360, y se pueden asignar como se explica en Asignacin de Teclas. Mando conectado (On gamepad connected) Detonado cuando un dispositivo de mando se conecta al ordenador. Para evitar que sitios web te controlen en base a los mandos que tengas, la mayora de los navegadores no envan los datos del controlador hasta que se pulsa un botn, cuando tambin funcionar esta condicin. Mando desconectado (On gamepad disconnected) Detonado cuando un dispositivo de mando se desconecta del ordenador, como quitndole el cable.

Acciones de Mando
El objeto Mando no tiene acciones.

Expresiones de Mando
Eje (Mando, ndice) (Axis(Gamepad, Index)) Recupera la posicin actual de un joystick analgico. ndice (Index) especifica a la izquierda y a la derecha en los ejes X e Y, de acuerdo a la Asignacin de Teclas. EL rango de valores de los ejes va desde -100 a 100. Los valores dentro de la Zona sin cobertura analgica (Analog deadzone) dan 0. Botn (Mando, ndice) (Button (Gamepad, Index)) Recupera el valor al pulsar un botn. ndice (Index) especifica el ndice basado en 0 del botn en el men desplegable de la condicin Botn presionado (Is button down) (0 da el valor para el botn A). El valor dado depende de las caractersticas del botn: si el botn es sensible a la presin, puede dar valores entre 0 y 100, de otra forma dar 0 para no presionado y 100 para presionado. Los botones que no son sensibles a la presin son ms fciles de detectar usando la condicin Botn presionado (Is button down). Cantidad de Mandos (GamepadCount) Da el nmero de mandos conectados y activados. Para evitar que sitios web te controlen en base a los mandos que tengas, la mayora de los navegadores no envan los datos del controlador hasta que se pulsa un botn. ID de Mando (Mando) (GamepadID (Gamepad)) Una secuencia que representa el modelo y la manufactura de un mando especfico, por ejemplo XBox 360 controller. Sin embargo, en la prctica vara de acuerdo al sistema y al navegador usado.

Eje en bruto (Mando, ndice) (RawAxis(Gamepad, Index)) Recupera la entrada en bruto del eje. Da el valor sin asignar la tecla o aplicar la zona sin cobertura. El rango de valores del eje ser de -100 a 100. Cuenta de Eje en bruto (Mando) (RawAxisCount(Gamepad)) Da el nmero de ejes disponible en la entrada en bruto. Da el valor sin asignar teclas. Botn en bruto (Mando, ndice) (RawButton (Gamepad, Index)) Recupera la entrada del botn en bruto para un mando y un ndice especfico. Da el valor sin asignar teclas. Cuenta de Botn en Bruto (Mando) (RawButtonCount(Gamepad)) Da el nmero de botones disponibles en la entrada en bruto. Da el valor sin asignar teclas.

6.11 Teclado (Keyboard)


El objeto Teclado permite que el objeto responda a entradas del teclado. Nota que hoy en da es ingenuo asumir que todos los usuarios tendrn teclado. Muchos ahora manejan las redes con pantallas tctiles. (Este objeto no responde a teclados en pantalla u otras formas de pantalla tctil). Por ello, si tu juego usa exclusivamente el ratn o el teclado, es imposible que se use en dispositivos tctiles. Mira el tutorial Touch controls para ver un sistema de control alternativo.

Accesos directos del navegador


En algunos navegadores, algunas teclas son accesos directos para acciones del navegador. Por ejemplo, la barra espaciadora desplaza la pgina hacia abajo. Si hay algn evento para Tecla pulsada (On key pressed) segn una tecla dada, C2 bloquear la accin normal del navegador, Por ejemplo, si quieres evitar que la barra espaciadora desplace la pgina hacia abajo, deja vaco el evento Tecla pulsada (On key pressed).

Condiciones del Teclado


La Tecla est presionada (Key is down) Verdadero si una tecla est siendo presionada. Cualquier tecla presionada (On any key pressed) Detonado cuando cualquier tecla del teclado est presionada. til para la pantalla de ttulos o para escenas de corte. Tecla presionada (On key pressed) Detonado cuando una tecla especfica se est presionando. Tecla soltada (On key released) Detonado cuando una tecla especfica se suelta.

Acciones de Teclado
El objeto Teclado no tiene acciones.

Expresiones de Teclado
El objeto Teclado no tiene expresiones.

6.12 Ratn (Mouse)


El objeto Ratn permite que el proyecto responda a entradas del ratn. Nota que hoy en da es ingenuo asumir que todos los usuarios tendrn teclado. Muchos ahora manejan las redes con pantallas tctiles. (Este objeto no responde a teclados en pantalla u otras formas de pantalla tctil). Por ello, si tu juego usa exclusivamente el ratn o el teclado, es imposible que se use en dispositivos tctiles. Mira el tutorial Touch controls para ver un sistema de control alternativo. Si slo usas el botn izquierdo, considera usar el objeto Tctil (Touch) con el Uso de entrada de Ratn (Use Mouse Input) en S. Esto permitir que tu juego funcione en dispositivos tctiles sin tener que hacer muchos cambios.

Seleccionar elementos en la pgina


Por defecto el navegador selecciona elementos en la pgina web cuando el usuario clica y arrastra. C2 bloquea el lienzo para que el juego no se vea afectado por clicados y arrastrados rpidos. Sin embargo, si tu juego est incrustado dentro de otra pgina, el usuario pude seleccionar elementos de otra pgina por accidente. Puedes aadir el siguiente atributo a cualquier elemento HTML para evitar que se pueda seleccionar: onselectstart="return false;" Puedes aadirlo a la etiqueta <cuerpo> (<body>) para evitar selecciones en toda la pgina, pero te advertimos que puede causar dificultades a los usuarios si hay algo que ste quiera seleccionar.

Condiciones de Ratn
El cursor est sobre el objeto (Cursor is over object) Verdadero si el cursor del ratn est sobre algo. El Botn del Ratn est pulsado (Mouse button is down) Verdadero si un botn dado (izuqierdo, derecho o centro) estn siendo pulsados. En cualquier clic (On any click) Detonado cuando cualquier botn del ratn est pulsado. til para la pantalla de ttulos y escenas de corte. Botn soltado (On button released) Detonado cuando un botn del ratn dada se suelta. Clicado (On click) Detonado cuando un botn dado est presionado. Se puede usar para detectar dobles clics. Rueda del Ratn (On mouse wheel) Detonado cuando la ruleta del ratn (si la hay) se desliza arriba o abajo. Nota: aadir este detonador en cualquier parte de tu juego evitar que la rueda se deslice en el navegador, as que salo con cuidado.

Objeto clicado (On object clicked) Detonado cuando un botn dado se presiona mientras en cursor est sobre un objeto. Se puede usar para detectar dobles clics en objetos.

Acciones de Ratn
Ajustar cursor de un Sprite Ajusta el cursor de la imagen de un objeto Sprite. Esto es preferible a ajustar las coordinadas del ratn, puesto que el retardo de la entrada es bastante ms bajo. Se aplican varias limitaciones: se usa la imagen que aparece en el editor, sin tener en cuenta el tamao o la rotacin en le plano; la imagen no puede ser demasiado grande (el lmite suele ser 64x64); y el soporte vara dependiendo del navegador y el SO. Ajustar estilo de cursor (Set cursor style) Ajusta el tipo de cursor que se muestra en el lienzo de la pgina HTML. Se puede ocultar completamente eligiendo None.

Expresiones de Ratn
X absoluta (AbsoluteX) Y absoluta (AbsoluteY) Da la posicin del cursor del ratn sobre el lienzo. Es (0,0) en la parte de arriba a la izquierda y crece de acuerdo al tamao de la ventana. No se ve afectado por ningn desplazamiento o escala en el juego. X Y Da la posicin del cursor en coordinadas. Es (0,0) en la parte de arriba a la izquierda. Cambia segn desplazamientos y escalas. Sin embargo, si una capa individual se ha desplazado, escalado o rotado, no se tiene en cuenta en la expresin - para ese caso, usa las versiones de capa de abajo. X (capa) (X("layer")) Y (capa) (Y("layer")) Da la posicin del cursor en coordinadas, con desplazamientos, escalas y rotaciones teniendo en cuenta la capa dada. La capa se puede identificar por una secuencia de su nombre o por el ndice basado en 0 (Ratn.X(0) ((Mouse.X(0))).

6.13 Partculas (Particles)


El objeto Partculas puede crear efectos visuales de forma rpida, creando y moviendo muchas imgenes pequeas de forma independiente. Es un objeto verstil capaz de muchos tipos de efectos. Hay 6 demos en la carpeta de ejemplos de C2, que incluyen desde fuego a fuentes. La imagen abajo muestra un ejemplo de efecto de partculas:

El objeto Partculas tiene varios parmetros para cambiar el comportamiento de cada partcula. Adems, requiere el uso de una textura para dibujar cada partcula. Normalmente un simple punto balnco sobre un fondo negro es suficiente. El Modo de Fusin aditivo (Additive blend mode) funciona especialmente bien con este objeto. Hace que cada partcula ilumine el fondo en vez de pegarse sobre l y permite que se fundan unas con otras en vez de solaparse. Hace que parezcan fuentes de luz. La imagen siguiente muestra el efecto cuando la textura es un punto blanco en un fondo negro.

Los efectos de colores se crean usando partculas de colores. Nota que ya que el efecto Aditivo ilumina el fondo, cualquier objeto que use este efecto no se ver en un fondo blanco. Funciona mejor en fondos oscuros. Para ms informacin sobre modos de fusin y efectos, ve a la seccin Efectos de este manual.

Partculas en la Vista de Plano


El objeto se representa en la Vista de Plano con dos lneas rojas que representan el cono de pulverizacin (spray cone) (que es el ngulo en el que se expanden las partculas), con la textura de partcula en el centro. El origen del objeto es donde se crean las partculas. Abajo se muestra un ejemplo con el efecto que se mostrara durante la ejecucin.

El tamao del objeto partculas en el plano no es importante. Se reajustar l mismo en tiempo de ejecucin para encajar todas las partculas creadas.

Cmo funcionan los efectos de partculas


Los efectos de partculas funcionan de forma similar a usar el comportamiento Bala en cada partcula. Las partculas iniciales se disparan a una velocidad y ngulo dado en el cono de pulverizacin (spray cone). Cada partcula se controla individualmente alterando su velocidad, ngulo, opacidad y tamao durante el tiempo que aparecen. El moverse de forma independiente es lo que hace interesante el efecto visual. Las

propiedades del objeto controlan como cambian las partculas y que alteraciones aleatorias se hacen. Vale la pena pasar algn tiempo cambiando los parmetros para ver el efecto que tienen. Hay tres ajustes diferentes para hacer que las partculas se destruyan, dadas por la propiedad Modo de destruccin (Destroy mode). La que se aplica por defecto Desvanecerse hasta invisible (Fade to invisible) disminuye la opacidad de cada partcula hasta 0 durante el Tiempo de espera (Timeout) destruyendo la partcula cuando es invisible. Tiempo de espera acabado (Timeout expired) simplemente destruye la partcula tras un tiempo, sin cambiar su opacidad. Partcula parada (Particle stopped) destruir la partcula cuando su velocidad sea 0, pero debes tener cuidado de asegurar que la partcula decelere hasta llegar a valores negativos ya que si no no se destruir nunca!

Optimizacin
Los efectos de partculas son ms eficientes que crear el efecto con objetos Sprite, pero no a gran escala. Lo mismo que con los sprites, debes tener cuidado de no crear un gran nmero de partculas, ya que el rendimiento bajara, especialmente en mviles. Usa la expresin Contador de partculas (ParticleCount) para saber cuntas has creado. En mviles, el uso de este objeto no est recomendado ya que la tasa de frames es muy limitada; pero si es necesario, mantn el nmero por debajo de 50. Para reducir mantener a raya el contador de partculas, intenta reducir la tasa o acortar el tiempo de espera. Para compensar, puedes intentar hacer la partcula ms grande para que el efecto no se quede muy vaco.

Propiedades de Partcula
El objeto Partculas tienes bastantes propiedades, que estn divididas en tres grupos: Propiedades del espray de partculas (relativas al propio objeto Partculas), Propiedades de las partculas iniciales (relativas a la creacin de cada partcula de forma individual) y las Propiedades de la duracin de la partcula (relativas a cmo se comportan las partculas tras su creacin).

Propiedades del espray de partculas


Tasa (Rate) El nmero de partculas creadas por segundo. Si el Tipo es Caso nico (One-shot) ser cuantas partculas se han creado en total. Nota que el modo Espray continuo (Continuous spray) el nmero total de partculas puede ser mayor que la tasa, ya que depende de otras propiedades. Cono de pulverizacin (Spray cone) El nmero de grados en que las partculas son pulverizadas. Se representa con lneas rojas en la Vista de Plano. Usa 360 para pulverizarlas en todas las direcciones. Tipo (Type) Las partculas pueden funcionar de dos modos: Espray continuo (Continuous spray) crear un espray constante (por defecto). Caso nico (One-shot) crear una nica explosi de partculas, el nmero total ajustado en la Tasa. Una vez han sido todas destruidas, el propio objeto se destruye. Es til para efectos como explosiones o impactos. Imagen (Image) Clica para abrir el editor de imgenes y editar la partcula. Prueba un punto en un fondo transparente o en un fondo negro con el efecto Aditivo.

Propiedades de las partculas iniciales


Velocidad (Speed) La velocidad inicial a la que se dispara cada partcula, en pxeles por segundo. Tamao (Size) El tamao inicial de cada partcula, en pxeles. Las partculas se muestran siempre como cuadrados. Opacidad (Opacity) La opacidad inicial de cada partcula, desde 0 (transparente) a 100 (opaca). Tasa de crecimiento (Grow rate) La tasa de crecimiento inicial (cambio de tamao a travs del tiempo) de cada partcula, en pxeles por segundo. 0 significa que la partcula mantendr siempre su tamao. Un valor positivo har que crezca y uno negativo que decrezca. Randomizador X (X randomizer) Randomizador Y (Y randomiser) El desplazamiento inicial de la partcula. Puedes hacer que sigan una lnea o una caja con estas propiedades. Randomizador de velocidad (Speed randomiser) Un ajuste al azar de la velocidad inicial de cada partcula. Por ejemplo, un valor 100 cambiar la velocidad inicial de cada partcula hasta 50 pxeles por segundo ms rpida o ms lenta. Randomizador de tamao (Size randomiser) Un ajuste al azar del tamao inicial de cada partcula. Por ejemplo, un valor 20 cambiar el tamao inicial de cada partcula hasta 10 pxeles ms grande o ms pequeo. Randomizador de tasa de crecimiento (Grow rate randomiser) Un ajuste al azar de la tasa de crecimiento inicial de cada partcula. Por ejemplo, un valor 10 cambiar la tasa de crecimiento inicial de cada partcula hasta 5 pxeles por segundo mayor o menor.

Propiedades de la duracin de la partcula


Aceleracin (Acceleration) Cambia la velocidad de la partcula a travs del tiempo, en pxeles por segundo por segundo. Un valor positivo har que las partculas aceleren y uno negativo que deceleren. Gravedad (Gravity) La aceleracin hacia abajo causada por la gravedad, en pxeles por segundo por segundo. til para hacer efecto fuente o similares. Establece 0 para evitar que la gravedad tenga efecto en el movimiento de la partcula. Randomizador de ngulo (Angle randomiser) Mximo cambio al azar del ngulo de cada partcula durante su vida, en grados por segundo. Por ejemplo, establece 0 para evitar que cambien de direccin o 10 para permitir que cambien 5 grados por segundo a la derecha o a la izquierda.

Randomizador de velocidad (Speed randomiser) Mximo cambio al azar de la velocidad de cada partcula durante su vida, en pxeles por segundo por segundo. Por ejemplo, establece 0 para evitar que cambien la velocidad o 100 para permitir que aceleren o deceleren 50 pxeles por segundo por segundo. Randomizador de opacidad (Opacity randomiser) Mximo cambio al azar de la opacidad de cada partcula durante su vida. til para crear efectos titilantes. Modo de destruccin (Destroy mode) Cmo se destruye cada partcula. Hay tres modos: Desvanecer hasta invisible (Fade to invisible) disminuir la opacidad de cada partcula hasta 0 durante el tiempo de espera (timeout). Cuando sean invisibles se destruirn. Tiempo de espera acabado simplemente destruye la partcula al finalizar el tiempo de espera (timeout), sin cambiar su opacidad. Partcula parada (Particle stopped) destruir la partcula cuando su velocidad sea 0, pero debes asegurar que la partcula use una Aceleracin negativa ya que si no no se destruir nunca! Tiempo de espera (Timeout) El tiempo en segundos que la partcula dura hasta que se destruye, dependiendo del Modo de destruccin (Destroy mode).

Condiciones, acciones y expresiones de Partculas


La mayora de las acciones o expresiones de este objeto simplemente ajustan o dan las propiedades de arriba. Mira la seccin propiedades para ms informacin. Las otras condiciones, acciones y expresiones se describen a continuacin. Para caractersticas comunes a otros objetos ve a Caractersticas Comunes.

Condiciones de Partculas
Est pulverizando (Is spraying) Verdadero si el espray est habilitado.

Acciones de Partculas
Ajustar pulverizacin (Set spraying) Habilita o deshabilita el espray, cuando est en modo Espray continuo (Continuous spray). Cuando est deshabilitado no se crean nuevas partculas.

Expresiones de Partculas
Contador de partculas (ParticleCount) El nmero de partculas actual que tiene el objeto Partculas. Es importante para asegurar que no creas demasiadas para el buen funcionamiento del juego; ve a la seccin Optimizacin. Nota que debido a cmo funcionan las expresiones en C2, si tienes varios ejemplos del objeto, esto solo dar el nmero de partculas de un ejemplo - usa Para Cada bucle (For Each loop) para contar varios ejemplos.

6.14 Sprite
El objeto Sprite es una imagen inimitable que aparece en el juego. Es uno de los objetos ms importante en la mayora de los juegos de C2. Se usa para hacer elementos ms visuales, como el jugador, los enemigos, proyectiles, explosiones y escenarios sin mosaico (los escenarios de mosaicos es mejor hacerlos con el objeto Fondo Adosado (Tiled Background)). Si un Sprite tiene una animacin sencilla con un solo frame, simplemente mostrar una imagen sin animar. Sin embargo, se pueden aadir animaciones ms complejas al objeto con el Editor de imgenes y animaciones. Todos los ejemplos de este objeto comparten la animacin. En otras palabras, un nico conjunto de imgenes conforman una animacin que pertenece al tipo de objeto, los ejemplos son referencias a este objeto. Se pueden aplicar efectos a los Sprites. Para ms informacin ver Efectos.

Propiedades de Sprite
Animaciones (Animations) Clica el enlace Editar (Edit) para abrir el Editor de imgenes y animaciones. Todos los ejemplos del tipo de objeto compartirn esta animacin. Tamao (Size) Clica el enlace Hacer 1:1 (make 1:1) para ajustar la seleccin a tamao real (100%). Esto hace que la altura y la anchura del objeto sea la misma que las del primer frame de la animacin. Visibilidad inicial (Initial visibility) Ajusta si el objeto se muestra (visible) o est escondido (invisible) cuando comienza el plano. Frame inicial (Initial Frame) Muestra el primer frame de la animacin. Usa un ndice basado en cero, as que el primero ser el 0. Puede ser til para almacenar diferentes partes de un mosaico o escenario en diferentes frames de la animacin de un nico tipo de Sprite.

Condiciones de Sprite
Para condiciones comunes a varios objetos, ver Condiciones Comunes. Cotejar frame (Compare frame) Coteja el nmero del frame actual, que tiene un ndice basado en cero (el primer frame es 0). Est volteado (Is flipped) Est espejado (Is mirrored) Verdadero si el objeto ha sido volteado o espejado con las acciones Voltear (Set flipped) y Espejar (Set mirrored).

Est reproducindose (Is playing) Verdadero si una animacin dada funciona en ese momento. Las animaciones se identifican por su nombre (sin diferenciar maysculas y minsculas). Cualquiera terminada (On any finished) Detonado cuando cualquier animacin termina. Si estableces un bucle no terminarn. Terminada (On finished) Detonado cuando una animacin dada termina. Si estableces un bucle no terminarn. Las animaciones se identifican por su nombre (sin diferenciar maysculas y minsculas). Frame cambiado (On frame changed) Detonado si la animacin cambia a otro frame mientras la animacin se est reproduciendo. Se est solapando con otro objeto (Is overlapping another object) Se est solapando en el desplazamiento (Is overlapping at offset) Verdadero si cualquier ejemplo est solapndose con cualquier ejemplo de otro objeto. Se tienen en cuenta los polgonos de colisin, adems del tamao y la rotacin del objeto. La variante desplazamiento comprobar los posibles solapamientos cuando se d el desplazamiento. Por ejemplo, en una prueba de superposicin en un de desplazamiento (100, 0) el objeto se mover temporalmente a la derecha 100 pxeles, probar la superposicin y volver atrs de nuevo. Colisionando con otro objeto (On collision with another object) Detonado la primera vez que cualquier ejemplo se solapa con cualquier ejemplo de otro objeto. El polgono de colisin se tiene en cuenta para ello, adems del tamao y la rotacin del objeto. Imagen URL cargada (On image URL loaded) Detonado cuando Cargar imagen de una URL (Load image from URL) termina su descarga de la imagen y sta est lista para mostrarse.

Acciones de Sprite
Para acciones comunes a varios objetos, ver Acciones Comunes. Ajustar animacin (Set animation) Cambia la animacin que se est reproduciendo a otra. Las animaciones se identifican por su nombre (que no distingue maysculas y minsculas). La nueva animacin puede empezar desde el principio o desde el mismo frame en el que se qued la imagen anterior (frame actual (current frame)). Voltear (Set flipped) Ajusta si el objeto aparece volteado verticalmente o normal. Esto tambin afecta a los puntos de la imagen en el polgono de colisin. Espejar (Set mirrored) Ajusta si el objeto aparece espejada horizontalmente o normal. Es til para juegos de plataforma. Espejar tambin afecta a los puntos de la imagen en el polgono de colisin. Ajustar frame (Set frame) Ajusta el nmero de frame de la animacin siguiendo el ndice basado en 0. La animacin continuar reproducindose de igual forma. Ajustar velocidad (Set speed) Ajusta la tasa de reproduccin de la animacin actual, en frames por segundo. Los ejemplos pueden tener distintas velocidades de animacin. Empezar (Start) Si la animacin actual se para, esto har que se reproduzca de nuevo desde el frame en el que se qued (current frame) o desde el principio. Parar (Stop) Detiene la animacin. El objeto dejar de mostrar el frame actual. Generar otro objeto (Spawn another object) Crea un nuevo ejemplo del tipo de objeto. El nuevo ejemplo se crea en la misma posicin y ngulo que el objeto actual. Puede estar en cualquier capa (elegida por su nombre o por su ndice basado en 0). Si se crea una familia, un tipo de objeto al azar se recoger en la familia. Escalar (Set scale) Ajusta la altura y la anchura a un mltiplo del tamao actual del objeto, similar a hacer zoom de forma proporcional. Por ejemplo, si el objeto es 50x100 Escalar a 2 (Set scale to 2) lo convertir en 100x200 y Escalar a 0,1 (Set scale to 0,1) lo convertir en 5x10. Cargar imagen de una URL (Load image from URL) Carga una imagen de una URL dada. El frame actual de la animacin se sustituir por esa imagen. No se muestra hasta que la imagen se ha terminado de cargar, cuando se detona Imagen URL Cargada (On image URL loaded). Las imgenes cargadas de diferentes dominios estn sujetas a las restricciones entre dominios de las solicitudes AJAX para ms informacin ve a la seccin del objeto AJAX. Los datos de URI se pueden pasar a imagen, de una captura de pantalla o desde la webcam. El parmetro Tamao (Size) ajusta si el objeto Sprite se ajustar al tamao de la imagen cuando se cargue o si mantiene su tamao original y se estrecha la imagen.

Expresiones de Sprite
Para expresiones comunes a varios objetos, ver Expresiones Comunes. Frame de animacin (AnimationFrame) El nmero de ndice basado en cero del frame actual. Contador de frames (AnimationFrameCount) El nmero de frames que contiene la animacin actual. Nombre de Animacin (AnimationName) Una secuencia que contiene el nombre de la animacin actual. Velocidad de Animacin (AnimationSpeed) La tasa de reproduccin de la animacin actual, en frames por segundo. Anchura de la imagen (ImageWidth) Altura de la imagen (ImageHeight) Las dimensiones originales del objeto (el tamao del frame de la animacin actual) en pxeles. Ya que el objeto puede estrecharse en tiempo de ejecucin cambiando los valores Anchura (Width) y Altura (Height), esto se puede usar para saber el tamao original sin tener en cuenta el nuevo tamao.

6.15 Texto (Text)


El objeto Texto puede mostrar texto en el juego usando fuentes. Nota que no hay muchas fuentes comunes a todos los ordenadores - mira this page para ver algunas fuentes comunes a todas las webs. El objeto soporta estas Fuentes de Web usando la accin Ajustar fuente de web (Set web font). Para ms informacin mira el tutorial Using Web Fonts in the Text object . El objeto Texto no muestra nada si el rectngulo de texto es demasiado pequeo para que quepa una sola letra. Si el texto desaparece prueba a agrandar el rectngulo.

Renderizar texto
Diferentes navegadores renderizan el texto de distintas formas, y la Vista de Plano de C2 tambin lo hace distinto a los navegadores. Esto significa que debes esperar que la apariencia del texto sea algo distinta cuando se juega en distintos navegadores. Debes probar tu juego en varios de ellos para asegurarte que el texto se ve como t pretendas. Para ms informacin ve a la seccin Buenas prcticas.

Fuentes no soportadas en el editor


Por razones tcnicas, algunas fuentes no son compatibles con C2. Slo afecta la editor y no tiene por qu significar que no se vaya a ver en algn navegador - asegrate de probar todos los navegadores. Para garantizar que la fuente que utilizas es visible para todos, se recomienda usar las Fuentes de Web.

Propiedades de Texto
Texto (Text) El texto que mostrar el objeto.

Initial visibility (Visibilidad inicial) Si el objeto se muestra (visible) o se esconde (invisible) cuando comienza el plano. Fuente (Font) La fuente en la que el objeto muestra el texto. Clica el botn a la derecha del nombre de fuente para abrir un dilogo y seleccionar la fuente. Las fuentes elegidas deben estar instaladas en el ordenador del usuario para que se muestren correctamente. Por esta razn se recomienda usar Fuentes de Web en vez de elegir fuentes poco comunes. Color Elige el color del texto. Alineamiento horizontal (Horizontal alignment) Elige si el texto se muestra alineado a la izquierda, centrado o a la derecha dentro del rectngulo de texto. Origen (Hotspot) Elige si el origen del objeto estar en la parte de arriba a la izquierda del rectngulo de texto (por defecto) o centrado (centered). Esto slo es importante si se quiere rotar el texto. Ajustar (Wrapping) Elige como se ajusta el texto al final de la lnea. Palabra (Word) ajustar palabras enteras separadas por espacios o guiones. Carcter (Character) se cambiar a la siguiente lnea en cualquier carcter, lo que podra partir palabras en Idiomas Occidentales, pero que es til en idiomas como el chino. Interlineado (Line height) Cantidad de espacio entre una lnea y otra del texto, en pxeles. Usa 0 para que sea por defecto, -5 para 5 pxeles menos que el defecto, 10 para 10 pxeles ms que el defecto y as sucesivamente.

Condiciones de Texto
Para condiciones comunes a otros objetos ve a Condiciones comunes. Cotejar texto (Compare text) Comprueba si el objeto est mostrando cierta secuencia de texto. Puede diferenciar maysculas de minsculas (TEXT sera distinto de text) o no (TEXT sera lo mismo que text). Para comprobar que el objeto no est mostrado cierto texto invierte la condicin.

Acciones de Texto
Para acciones comunes a otros objetos ve a Acciones comunes. Ajustar color de fuente (Set font color) Ajusta el color del texto. Usa expresiones como rgb(red, green, blue).

Ajustar fuente (Set font face) Cambia la fuente en la que se muestra el texto. Las fuentes elegidas deben estar instaladas en el ordenador del usuario para que se muestren correctamente. Por esta razn se recomienda usar Fuentes de Web en vez de elegir fuentes poco comunes. Ajustar tamao de fuente (Set font size) Ajusta el tamao del texto en puntos (pt). Ajustar fuente de web (Set web font) Establece una fuente de web cargada online. Para ms informacin ve al tutorial Using Web Fonts in the Text object . Texto apndice (Append text) Aade texto al final del texto actual. Por ejemplo si el objeto contiene Hola y tiene Mundo como apndice, el objeto de texto contendr entonces HolaMundo. Ajustar texto (Set text) Establece que el objeto de texto se est mostrando en ese momento. Usa el operador & para combinar texto y nmeros. Para ms informacin ve a Expresiones.

Expresiones de Texto
Para expresiones comunes a otros objetos ve a Expresiones comunes. Texto (Text) Da la secuencia que contiene el objeto de texto actual. Anchura de Texto (TextWidth) Altura de Texto (TextHeight) Da el tamao del contenido actual dentro del rectngulo de texto.

6.16 Cuadro de texto (Textbox)


El objeto Cuadro de Texto crea un campo de texto en el que el usuario puede escribir. Los controles de formulario son elementos HTML que flotan sobre el lienzo del juego en la pgina HTML. Por lo tanto, no se puede mostrar nada por encima de un control, aparte de otros controles. Los controles se posicionan ellos solos de acuerdo al paralaje de la capa, su escala y otros. Sin embargo, no estn realmente en el juego (ya que flotan encima) por lo que se recomiendo evitar el uso de desplazamientos, paralaje y escalas, de otra forma no quedara natural.

Estilo de Cuadro de Texto


Los botones se pueden personalizar de un gran nmero de formas usando CSS (Hojas de estilo en cascada). En vez de tener muchas acciones para ajustar todas las posibles propiedades, tiene una sola accin Ajustar estilo CSS (Set CSS style). CSS ahorra trabajo, es sencillo para usar con propiedades simples. Aqu algunos ejemplos: Hacer el texto rojo (Make the text red): Ajusta el "color" a "rojo". Hacer el fondo amarillo (Make the background yellow): Ajusta el "color del fondo" a "amarillo".

Hacer el borde gris claro y fino (Make the border a thick light grey: Ajusta el "borde" a "3px solid #AAAAAA". Hacer la letra ms grande (Make the font bigger): Ajusta el "tamao de letra" a "2em". Hacer un borde rojo y discontinuo (Make a dashed red border): Ajusta el "borde" a "2px dashed red".

Propiedades de Cuadro de texto


Texto (Text) El texto introducido en el campo. Marcador de posicin (Placeholder) Texto que aparece dbilmente cuando el campo est vaco. Sirve de pista para saber para qu sirve ese campo, (como Nombre de usuario (Username)). Consejo de Herramienta (Tooltip) Un consejo que aparece so el usuario pone el ratn encima del cuadro de texto y espera. Djalo en blanco si no quieres que haya consejo. Visibilidad inicial (Initial visibility) Si el cuadro de texto se muestra o no al inicio. Si es Invisible el campo se debe mostrar con la accin Hacer visible (Set visible).

Habilitado (Enabled) Si el cuadro de texto est habilitado al inicio. Si No, el campo estar bloqueado y no se podr modificar. Slo lectura (Read-only) Establece si el texto es de slo lectura, que significa que el texto no se puede modificar pero s seleccionar. Es diferente a deshabilitar el campo, ya que entonces no se podr seleccionar. Comprobar ortografa (Spell check) Habilita el corrector en el texto introducido en el campo, si el navegador lo soporta. Si est habilitado los errores ortogrficos se subrayarn con una lnea roja. Tipo (Type) Ajusta el tipo de contenido que se tiene que introducir en el campo. Puede ser: Texto (Text) cualquier contenido. Contrasea (Password) cualquier contenido pero escondiendo los caracteres. Email para secuencias de formato similar a joe@bloggs.com. Nmero (Number) slo caracteres numricos. Nmero de telfono (Telephone number) slo caracteres de nmeros de telfono. URL direcciones web de formato similar a http://example.com. rea de texto (rea de texto) texto de varias lneas. Los de tipo email, nmero, nmero de telfono y URL son ms tiles en dispositivos mviles ya que cambia el tipo de teclado tctil de acuerdo al contenido a introducir. Por ejemplo, Texto mostrar un teclado general mientras que Nmero mostrar solo los nmeros, haciendo la tarea ms fcil al usuario. Tamao de fuente automtico (Auto font size) Ajusta automticamente la propiedad de tamao de fuente de acuerdo a la escala de la capa y del plano. Esto evitar se muestre la propiedad CSS ajustada manualmente con la accin Ajustar estilo CSS (Set CSS style). Ajusta a No si pretendes ajustar t mismo el tamao con Ajustar estilo CSS (Set CSS style). ID (Opcional) Una id adicional para el elemento en el DOM (Modelo de Objetos del Documento). Puede ser til para acceder al valor del elemento desde scripts externos, o dar estilo con CSS en la pgina HTML.

Condiciones de Cuadro de texto


Cotejar texto (Compare text) Coteja el texto introducido en el campo. Puede diferenciar maysculas de minsculas (TEXT sera distinto de text) o no (TEXT sera lo mismo que text). Clicado (On clicked) Detonado cuando el usuario clica el campo Doble-clicado (On doubl-clicked) Detonado cuando el usuario hace doble clic en el campo Texto cambiado (On text changed) Detonado siempre que el texto del campo se modifica, escribiendo, borrando, cortando/copiando, etc.

Acciones de Cuadro de texto


Ajustar estilo CSS (Set CSS style) Ajusta el estilo CSS (Hojas de estilo en cascada) en el elemento Cuadro de texto. Para ms informacin ve a la seccin Estilo de Cuadro de Texto. Nota que si la propiedad Tamao de fuente automtico (Auto font size) est activada, cualquier cambio en esta accin no se aplicar. Habilitar (Set enabled) Habilita o deshabilita el campo. Cuando est deshabilitado, el campo est bloqueado y no se puede modificar. Enfocar (Set focused) Enfoca el campo. El cursor de texto parpadear y estar preparado para la escritura. Ajustar marcador de posicin (Set placeholder) Ajusta el texto que aparecer dbilmente cuando el campo est vaco. Se usa para dar pistas sobre qu debe contener el campo (como Nombre de usuario (Username)). Establecer slo lectura (Set read-only) Establece si el campo es de slo lectura, que significa que el texto no se puede modificar pero s seleccionar. Es diferente a deshabilitar el campo, ya que entonces no se podr seleccionar. Ajustar texto (Set text) Ajusta el texto introducido en el campo. Ajustar consejo de herramienta (Set tooltip) Ajusta el texto que aparecer en el consejo. Djalo blanco si no quieres que aparezca.

Expresiones de Cuadro de texto


Texto (Text) Da la secuencia que contiene el texto introducido en el campo.

6.17 Fondo Adosado (Tiled Background)


El objeto Fondo Adosado muestra una imagen repetidamente formando un mosaico, como se ve abajo.

Este mosaico se puede conseguir con un solo objeto de Fondo Adosado, y mucho ms rpido (y ms fcil de editar) que usar varios objetos Sprite en una cuadrcula. Usa este objeto simpre que la imagen se repita. Este objeto no puede tener polgono de colisin. Siempre colisionand e acuerdo al rectngulo de accin (bounding rectangle).

Adems, se les puede aplicar efectos. Para ms informacin ve a Efectos.

Tamaos potencia de dos (Power-of-two sizes)


Para unos mejores resultados, usa cuadrados de potencia dos para el mosaico (por ejemplo 16x16, 32x32, 64x64, 128x128...). Se consiguen mejores resultados en el modo WebGL. El objeto seguir funcionando con otros tamaos que no tengan potencia dos, pero la calidad se puede reducir ya que la imagen tiene que estrecharse a un tamao en potencia dos antes de adosarse. (Nota que esto no se aplica a los objetos Sprite, que pueden usar cualquier tamao).

Propiedades de Fondo Adosado


Imagen (Image) Clica el enlace Editar (Edit) para editar la imagen del mosaico. Visibilidad inicial (Initial visibility) Elige si el objeto se muestra (visible) o se oculta (invisible) al inicio del plano. Origen (Hotspot) Elige donde est el origen en el objeto. Por defecto est en la parte de arriba a la izquierda del rectngulo de accin, pero se puede poner en el Centro (Center) que puede ser til para rotar el objeto.

Condiciones, acciones y expresiones de Fondo Adosado


El Fondo Adosado tiene unas pocas condiciones, acciones y expresiones nicas. Ve a Caractersticas comunes para documentarte sobre las funciones comunes a varios objetos en C2.

Condiciones de Fondo Adosado


Imagen URL cargada (On image URL loaded) Detonado cuando la accin Cargar imagen desde URL (Load image from URL) termina de descargar la imagen y est preparado para mostrarla.

Acciones de Fondo Adosado


Cargar imagen desde URL (Load image from URL) Carga una imagen de una URL dada. No se muestra hasta que la imagen se ha descargado completamente, cuando se detona Imagen URL cargada (On image URL loaded). Las imgenes cargadas de diferentes dominios estn sujetas a las restricciones entre dominios de las solicitudes AJAX. Los datos URI se pueden pasar a imagen, como una captura de pantalla o imagen de la webcam.

6.18 Tctil (Touch)


El objeto Tctil detecta entradas de dispositivos tctiles como iPhones, iPads, Android y Windows 8. La opcin tctil para ordenadores de mesa tambin est disponible, pero son poco usuales en comparacin a los mviles. El objeto Tctil tambin da entradas de acelermetros y giroscopios (inclinacin/direccin de la brjula) si el dispositivo los soporta. Es mejor habilitar entradas tctiles siempre que sea posible. En la actualidad muchos usuarios suelen navegar en dispositivos mviles sin teclado ni ratn. Si tu juego no soporta los controles tctiles, estos usuarios no podrn jugar tu juego. Para una gua de cmo usar estos controles ve al tutorial Touch controls .

Multi-tctil (Multi-touch)
El objeto Tctil soporta tambin estmulos tctiles mltiples. Este modo es ms til con las condiciones Objeto tocado (On touched object) y Est tocando objeto (Is touching object), que pueden detectar varios controles tctiles simultneos. Para ms usos avanzados, las expresiones Contador de toques (TouchCount), XAt y YAt dan los contactos actuales en la pantalla. Los toques tienen un ndice basado en 0, as que 0 es el primer toque, 1 el segundo y as sucesivamente. Los toques se ordenan como una pila: el primero (el ms viejo) es siempre el 0, el segundo es siempre el 1 y as sucesivamente. Si un toque se destruye y despus se vuelve a aadir, se convertir en el ltimo toque de la lista.

Propiedades de Tctil
Usar entradas de ratn (Use mouse input) Si est en S, los clics del ratn simularn los toques en la pantalla. Clicar y arrastrar con el botn izquierdo del ratn simular un arrastre con el dedo y los clics sencillos simularn toques. Puede ser muy til para probar que los eventos tctiles funcionan correctamente en un ordenador de mesa que no tenga pantalla tctil. Sin embargo, slo los toques simples se pueden simular adems de que el ratn es mucho ms preciso, por lo que es mejor probarlos en un dispositivo tctil real.

Condiciones de Tctil
Cotejar velocidad de toque (Compare touch speed) Coteja la velocidad de un toque especfico (dado por su ndice basado en 0). La velocidad se mide en el lienzo en pxeles por segundo, por lo que no se ve afectado por la escala de la pantalla. Est tocando (Is in touch) Verdadero si algo est tocando la pantalla. Est tocando un objeto (Is touching object) Verdadero si se est tocando un objeto dado. Toque finalizado (On touch end) Detonado cuando cualquier toque se suelta de la pantalla. Toque empezado (On touch start) Detonado ante cualquier toque de la pantalla. Objeto tocado (On touched object) Detonado cuando se toca un objeto dado.

Acciones de Tctil
El objeto Tctil no tiene acciones.

Expresiones de Tctil
Aceleracin X (AccelerationX) Aceleracin Y (AccelerationY) Aceleracin Z (AccelerationZ) Da el movimiento actual del dispositivo como su aceleracin en cada eje en m/s^2 (metros por segundo por segundo) excluyendo el efecto de la gravedad. La expresin que incluye la gravedad (abajo) es ms comn; esta dar 0 en los dispositivos que no la soporten.

Aceleracin X con G (AccelerationXWithG) Aceleracin Y con G (AccelerationYWithG) Aceleracin Z con G (AccelerationZWithG) Da el movimiento actual del dispositivo como su aceleracin en cada eje en m/s^2 (metros por segundo por segundo) incluyendo la aceleracin causada por la gravedad, que es sobre 9.8 m/s^2 hacia abajo. Esta expresin es comnmente soportada. Sin embargo, algunos dispositivos no garantizan la deteccin de movimiento, en cuyo caso dar 0 en cada caso. Alpha Beta Gamma Da la orientacin del dispositivo si es soportada, o 0 en caso de que no. Alpha es la direccin de la brjula en grados. Beta es la inclinacin de adelante hacia atrs en grados (la inclinacin ante ti si lo mantienes delante de ti). Los valores positivos indican inclinacin hacia adelante y los negativos hacia atrs. Gamma es la inclinacin hacia los lados en grados (si lo mantienes delante de ti). Los valores positivos indican inclinacin hacia la derecha y los negativos hacia la izquierda. X Absoluta (AbsoluteX) Y Absoluta (AbsoluteY) X en (ndice) Absoluta (AbsoluteXAt(index)) Y en (ndice) Absoluta (AbsoluteYAt(index)) Da la posicin actual de un toque sobre el lienzo. Ser (0, 0) en la parte de arriba a la izquierda y aumenta con el tamao de la ventana. No se ve afectado por desplazamientos o escalas del juego. Las expresiones En (At) dan la posicin absoluta de un toque dando su ndice basado en 0, permitiendo toques mltiples. X Y XAt(index) YAt(index) Da la posicin actual de un toque en las coordinadas del plano. Cambia reflejando desplazamientos y escalas. Sin embargo. Si se mueve, escala o rota una sola capa esta expresin no la tendr en cuenta - para ese caso usa la versin de abajo. Las expresiones En (At) dan la posicin absoluta de un toque dando su ndice basado en 0, permitiendo toques mltiples. X (capa) (X("layer")) Y (capa) (Y("layer")) XAt(index, "layer") YAt(index, "layer") Da la posicin actual de un toque en las coordinadas del plano, incluyendo desplazamientos y escalas en cualquier capa. La capa se identifica por la secuencia de su nombre o por su ndice basado en 0 (Touch.X(0)). Las expresiones En (At) dan la posicin absoluta de un toque dando su ndice basado en 0, permitiendo toques mltiples. Por ejemplo, para conseguir la coordinada X del segundo toque de la capa de abajo, la expresin sera Touch.XAt(1, 0). Contador de toques (TouchCount) Nmero de toques actuales en contacto con la pantalla del dispositivo. ngulo en (ndice) (AngleAt(index)) Da el ngulo de movimiento de un toque especfico en grados dando su ndice basado en 0. Un toque debe moverse a travs de la pantalla para que esta expresin tenga un valor til.

Velocidad en (ndice) (SpeedAt(index)) Da la velocidad de un toque especfico (dado por su ndice basado en 0). La velocidad del toque se mide en el lienzo en pxeles por segundo, por lo que no se ve afectado por ninguna escala del dispositivo.

6.19 Medios de comunicacin del Usuario (User Media)


El objeto Medios de comunicacin del Usuario permite obtener entradas de cmara de un usuario. Requiere un dispositivo de video en el sistema del usuario, como una webcam o la cmara del mvil. Se podrn obtener fotos y transferirse a Sprites o a Fondos Adosados. Por razones de seguridad, la mayora de los navegadores pedirn permiso al usuario antes de permitir entradas de cmara y mostrar notificaciones cuando la cmara se est usando. Este objeto tiene muchas caractersticas comunes a otros objetos, incluyendo la posibilidad de aplicar efectos.

En el plano
El objeto Medios de comunicacin del Usuario aparece como un rectngulo en la Vista de Plano, con una cruz roja. Representa donde se mostrar el video introducido en el plano.

Condiciones de Medios de comunicacin del Usuario


Solicitud de medios aprobada (On media request approved) Detonado cuando el usuario confirma que quiere usar la cmara tras la accin Solicitar cmara (Request camera) indicando el permiso a la aplicacin para usar la cmara. Solicitud de medios rechazada (On media request declined) Detonado cuando el usuario cancela la peticin tras la accin Solicitar cmara (Request camera) indicando que no da permiso a la aplicacin para usar la cmara. Soporta medios de usuario (Supports user media) Verdadero si el navegador actual puede usar el objeto Medios de comunicacin del Usuario. No todos ellos pueden as que en este caso se indicar que no est disponible. Puede ser verdadero incluso aunque el usuario no tenga dispositivos de video instalados en su sistema, ya que solo tiene en cuenta la capacidad del navegador de usar cmaras o no.

Acciones de Medios de comunicacin del Usuario


Solicitar cmara (Request camera) Muestra una peticin de seguridad para dar permiso a la aplicacin para usar entradas de cmara. Solicitud de medios aprobada (On media request approved) o Solicitud de medios rechazada (On media request declined) se detonarn dependiendo de la respuesta. Si se aprueba el objeto se aparecer en el plano y mostrara entradas de video. Foto (snapshot) Si el usuario ha aprobado la solicitud de cmara y el objeto se muestra, est accin capturar el frame actual. La imagen estar disponible en la expresin FotoURL (SnapshotURL) como datos URI. La imagen se podr cargar en un Sprite o Fondo adosado usando la accin Cargar imagen de una URL (Load image from URL) y usando FotoURL (SnapshotURL). Esta accin muestra parmetros opcionales para especificar el formato de compresin, lo que es til si pretendes subir y guardar la imagen en un archivo ms pequeo.

Parar (Stop) Finaliza cualquier captura de video activa. Se debe volver a pedir permiso para poder usarse de nuevo.

Expresiones de Medios de comunicacin del Usuario


FotoURL (SnapshotURL) Un dato URI que representa la foto capturada tras la accin Foto (Snapshot), de otra forma estar vaca. La imagen se podr cargar en un Sprite o Fondo adosado usando la accin Cargar imagen de una URL (Load image from URL) y usando FotoURL (SnapshotURL). Adems, los datos URI se pueden enviar a un servidor, guardado en un disco o cualquier otra cosa que quieras hacer con ellos. Anchura de video (VideoWidth) Altura de video (VideoHeight) Si una grabacin de video est aprobada y activa, esto da el tamao en pxeles de la grabacin que hace el dispositivo (que puede no ser la misma que la del objeto en el plano). Si no est activa dar 0.

6.20 Almacenamiento Web (WebStorage)


El objeto Almacenamiento Web puede almacenar datos locales en el ordenador del usuario entre sesiones. Por ejemplo, puede usarse para almacenar el ltimo guardado y restaurar el progreso del jugador cuando vuelve a jugar.

Almacenamiento por dominio


El objeto asocia todos los datos almacenados con un dominio. Por ejemplo, todos los juegos que funcionan en scirra.com comparten los mismos datos, pero los de facebook.com usan unos totalmente diferentes a los anteriores. La mayora de los navegadores ponen un tamao mximo de almacenamiento de datos en la Web - el lmite comn es 5mb. Si excedes el lmite se detonar Cuota excedida (On quota exceeded) del objeto Almacenamiento Web.

Almacenamiento Local vs. De sesin


El objeto permite que los datos se almacenen en dos lugares: Almacenamiento local y de sesin. El almacenamiento local es permanente (hasta que el usuario borre el almacn). Si el usuario vuelve a entrar al juego, el almacenamiento local tendr sus datos anteriores guardados. El almacenamiento de sesin slo dura durante la sesin actual. Si el usuario vuelve a jugar este almacenamiento estar vaco.

Usar Almacenamiento Web


El objeto usa un modelo de almacenamiento muy sencillo: los valores se almacenan bajo claves, similares a las del objeto Diccionario. Por ejemplo, el valor 100 se puede almacenar con la clave puntuacin mediante la accin Ajustar valor local puntuacin a 100 (Set local value "score" to 100). De la misma forma el valor John se puede almacenar con la clave nombre. Entonces, la expresin Almacenamiento Web. Valor local (puntuacin) (WebStorage.LocalValue("score")) dar 100 (como una secuencia) y Almacenamiento Web. Valor local (nombre) (WebStorage.LocalValue("name")) dar John, y estos valores continuaran en las sesiones siguientes. (Si se usa almacenamiento de sesin los valores solo valdran para la sesin actual del navegador).

Nota que Alamcenamineto Web solo almacena secuencias. Si pones una clave a un nmero como 100, cuando lo recuperes ser una secuencia. Para volver a convertirlo, usa la expresin del sistema int, int(WebStorage.LocalValue("score")).

Condiciones de Almacenamiento Web


Existe clave local/de sesin (Local/Session key exists) Comprueba si un valor ha sido guardado con una clave en cualquiera de los dos almacenamientos. Cuota excedida (On quota exceeded) La mayora de los navegadores limitan la cantidad de datos que se pueden Almacenar en la Web a 5mb. Si se excede ese lmite o el usuario cancela los permisos para incrementar el espacio de almacenaje, entonces funcionar esta condicin. No podrs aadir nuevas claves ni ajustar claves ya existentes para valores ms largos hasta que borres alguno de los valores anteriores o vaces todos los datos.

Acciones de Almacenamiento Web


Vaciar almacenamiento local/de sesin (Clear local/session storage) Vaca cualquiera de estos dos almacenajes del dominio, sin dejar ni un dato. Quitar valor local/de sesin (Remove local/session value) Borra una clave (y su valor asociado) de algunos de los dos almacenamientos. No volver a existir. Ajustar valor local/de session (Set local/session value) Almacena un valor (secuencia o nmero) para una clave en cualquiera de los dos almacenamientos. Si la clave existe se actualiza y si no se crea. Cargar JSON (Load JSON) Carga claves y valores locales almacenados de datos JSON. El formato JSON del objeto Diccionario es compatible, as que se pueden intercambiar datos entre los dos objetos, pero nota que Almacenamiento Web solo almacena secuencias (todos los nmeros se convertirn en secuencias). Si el Modo (Mode) es Colocar (Set), el almacenamiento local se borra primero y despus se cargan los datos. Si el Modo (Mode) es Mezclar (Merge), las calves en los datos JSON se aaden o sobrescriben a las claves ya existentes.

Expresiones de Almacenamiento Web


Local en (LocalAt) De sesin en (SessionAt) Da a los valores un ndice basado en 0 si todas las claves estn almacenadas en orden alfabtico. til para listar todos los datos almacenados. Contador Local (LocalCount) Contador de Sesin (SessionCount) Da el nmero de claves existentes en el almacenamiento de este dominio. Clave Local en (LocalKeyAt) Clave de Sesin en (SessionKyeAt) Da a las claves un ndice basado en 0 si todas ellas estn almacenadas en orden alfabtico. til para listar todos los datos almacenados. Valor Local (LocalValue) Valor de Sesin (SessionValue) Recupera el valor almacenado para una clave. Si la clave no existe dar 0.

Como JSON (AsJSON) Da el contenido completo de un almacenamiento local en formato JSON. El resultado se podr cargar tambin en el objeto Diccionario pero nota que Almacenamiento Web solo almacena secuencias por lo que todos los valores en el diccionario se convertirn en secuencias.

6.21 Windows 8
El objeto Windows 8 (W8 en adelante) da acceso a caractersticas especficas de plataformas disponibles cuando se usa el juego como aplicacin de Windows 8. Nota que estas caractersticas no se aplicarn para otras formas, incluso en Internet Explorer - slo funciona en el nuevo estilo de apps de W8 a partir de su men de inicio. W8 tambin soporta entradas tctiles que es el nico mtodo disponible para mviles y tabletas de W8. Para que funcione en estos dispositivos asegrate de aadir el objeto Tctil.

Datos de itinerancia (Roaming data)


Las caractersticas del objeto que usan datos itinerantes estn diseadas para usarse de la misma forma que el objeto Almacenamiento Web. Con Almacenamiento Web ser ms fcil usar estas caractersticas. La principal diferencia entre el objeto Almacenamiento Web y los datos de itinerancia es que en W8 los datos de itinerancia estn sincronizados entre todos los dispositivos mviles. Como en Almacenamiento Web todos los valores de datos de itinerancia son secuencias. Puedes almacenar nmeros en los datos de itinerancia, pero se convertirn automticamente en secuencias. Para volver a convertir secuencias en nmero usa las expresiones del sistema int() o float().

Condiciones de W8
Datos cambiados (On data changed) Detonado cuando los datos de itinerancia se han actualizado con datos de otro dispositivo. Normalmente esto ocurre cuando guardas los datos de itinerancia en un dispositivo y despus el usuario cambia la aplicacin a otro dispositivo. Puede haber tiempo de espera hasta que se sincronicen los datos de itinerancia y, cuando est todo preparado, este detonador se disparar. Existe clave de itinerancia (Roaming key exists) Verdadero si una clave dad existe en el almacenamiento de itinerancia. Compartiendo (On share) Detonado cuando el usuario activa Compartir (Share). Para especificar qu compartir, usa una de las acciones para compartir de este detonador. Cotejar estado de vista (Compare view state) Comprueba el estado actual de la vista de la aplicacin. Puede ser la tradicional pantalla completa apaisada o vertical, o snapped (que significa que la aplicacin est a un lado de la ventana, en un formato estrecho) o filled (cuando hay distintas aplicaciones en vista snapped y sta est usando el rea ms grande de la pantalla). Estado de vista cambiado (On view state changed) Detonado cuando se cambia el estado de la vista, (para detectar que est snapped usar Estado de la vista snapped (On view state snapped))

Es una aplicacin de W8 (Is Windows 8 app) Verdadero si est funcionando como una aplicacin de W8, de otra forma ser falsa. Nota que seguir siendo falsa cuando la uses en modo Escritorio (Desktop) o incluso en Internet Explorer 10; slo ser verdadero usando el nuevo estilo de aplicaciones de W8 desde el men de inicio. Si la condicin es falsa, ninguna de las caractersticas de este objeto estar disponible.

Acciones de W8
Ajustar texto en mosaico (Set live tile text) Cambia el mosaico de la aplicacin en el men de inicio para que muestre texto. Se debe elegir una plantilla prediseada. Para una vista previa, mira el catlogo tile template catalog on MSDN . Nota que usar plantillas amplias requerir que tu aplicacin est usando un mosaico amplio; si lo cambias a una plantilla de tamao diferente no funcionar. Eliminar datos de itinerancia (Clear roaming data) Borra todas las claves de los datos de itinerancia, dejndolos vacos. Quitar valor de itinerancia (Remove roaming value) Quita una clave especfica de los datos de itinerancia. Ajustar valor de itinerancia (Set roaming value) Almacena una clave y un valor asociado a los datos de itinerancia. Si ya existe el valor se sobrescribe y si no se crea. Los valores se almacenan como secuencias. Puedes usar un nmero como valor, pero se convertir y se recuperar en forma de secuencia. Fallo al compartir (Fail share) Solo vlido en un evento Compartiendo (On share). Usa esta accin para indicar que compartir ha fallado o no est disponible. Compartir HTML (Share HTML) Solo vlido en un evento Compartiendo (On share). Usa esta accin para compartir texto en formato HTML de la aplicacin. Compartir enlace (Share link) Solo vlido en un evento Compartiendo (On share). Usa esta accin para compartir un enlace, como la direccin de tu pgina. Compartir texto (Share text) Solo vlido en un evento Compartiendo (On share). Usa esta accin para compartir texto de la aplicacin. Mostrar compartir UI (Show share UI) Muestra Compartir UI (Share UI) de W8 automticamente. Asegrate de usarlo con cuidado para no ofender o molestar a tus usuarios. Por ejemplo, una buena opcin es un botn Compartir (Share) personalizado que muestre Compartir UI (Share UI). Esta accin solo funciona cuando tu aplicacin est en la ventana activa. Intentar quitar snap (Try unsnap) Si tu aplicacin est en la vista snapped, esto intenta cambiarla a filled o pantalla completa. La accin puede no funcionar si el usuario est usando otra aplicacin.

Expresiones de W8
Valor de itinerancia (clave) (RoamingValue (key)) Recupera un valor del almacenamiento de itinerancia asociado a una clave dada. Si la clave no existe se dar una secuencia vaca. Nota que todos los valores se recuperan en secuencias, aunque los originales fueran nmeros.

6.22 XML
El plugin XML puede analizar y leer datos de documentos XML. Usa XPath para acceder a ellos. XPath es un tipo de lenguaje de consulta para XML similar a SQL para bases de datos. Para aprender ms sobre XPath clica los siguientes enlaces: W3Schools XPath tutorial Some XPath examples Another XPath tutorial with examples El plugin XML es solo de lectura. Puedes leer datos pero no cambiar ningn valor en documentos XML. Para caractersticas comunes a otros plugins ve a Caractersticas comunes.

Cargar un documento XML


XML debe estar cargado como una secuencia con la accin Cargar (Load). Si tienes un pequeo fragmento de XML, puedes copiarlo directamente en el parmetro de la accin. Sin embargo, se recomienda que solicites un archivo XML de un servidor usando el objeto AJAX. Cuando se complete la solicitud, introduce ltimoDato. AJAX (AJAX.LastData) en la accin Cargar (Load). Entonces ya podrs leer los datos recibidos.

Internet Explorer
Internet Explorer no soporta consultas XPath que dan un nmero (como count()). En este caso puedes usar la expresin Contador de nodos (NodeCount) en su lugar. Asegrate de probar tu proyecto en varios navegadores. El resto de ellos tienen soporte completo estndar para XPath.

Condiciones XML
Para cada nodo (For each node) Repite el evento una vez por cada nodo dado por la consulta XPath. Normalmente se usar con consultas que dan nodos mltiples, como "/bookstore/book" para seleccionar todos los nodos libro (book) bajo almacen de libros (bookstore). En el evento Para cada nodo (For each node) el nodo actual se ajusta al que est siendo repetido. Esto significa que XPaths relativos, como "title/text()" trabajan en relacin con el nodo actual (en este caso dando el texto de la pestaa ttulo (title)). Para cada nodo (For each node) tambin se puede anidar, as que puedes repetir otra lista relativa en el nodo actual.

Acciones XML
Cargar (Load) Carga un documento XML de una secuencia. Mira las seccin de arriba Cargar un documento XML.

Expresiones XML
Contador de nodos (NodeCount) Da el nmero de nodos dados por una expresin XPath. Por ejemplo, puede contar el nmero de elementos en un nombre dado. En el evento Para cada nodo (For each node), XPath es relativo al nodo actual. Valor de nmero (NumberValue) Da un nmero de una expresin XPath. Si se dan mltiples valores, solo se recupera el primero. En el evento Para cada nodo (For each node), XPath es relativo al nodo actual. Valor de secuencia (StringValue) Da una secuencia de una expresin XPath. Si se dan mltiples valores, solo se recupera el primero. En el evento Para cada nodo (For each node), XPath es relativo al nodo actual.

7. Referencia de Sistema
El objeto Sistema es el nico objeto integrado en C2. Ofrece caractersticas para acceder al motor del juego y usos que son tiles para la mayora de los juegos. Para ms informacin sobre el objeto Sistema ve a la seccin del Resumen Estructura del Proyecto.

7.1 Condiciones de Sistema


Esta seccin describe todas las condiciones en el objeto integrado Sistema de C2. Se listan en el orden en el que aparecen en el dilogo de Aadir Condicin.

General
Cotejar dos valores (Compare two values) Coteja dos expresiones cualquiera (nmeros o texto). El resultado puede ser Igual (Equal), Distinto (Not equal), Menor (Less), Menor o igual (Less or equal), Mayor (Greater) o Mayor o igual (Greater or equal). Cada tick (Every tick) Una condicin que siempre es verdadera. Funciona de forma independiente y se comprueba una vez por tick, de ah el nombre. Un tick es sobre 60 veces por segundo en la mayora de ordenadores; para ms informacin mira cmo funcionan los eventos. Aadir Cada tick (Every tick) a un evento con otras condiciones es redundante y no tendr efecto. Est entre valores (Is between values) Comprueba si un nmero est entre dos valores (mayores o iguales que un valor ms bajo y menores o iguales que otro ms alto). Grupo activo (Is group active) Comprueba si un grupo de eventos est activo o inactivo. Para identificarlos se usa el nombre del grupo.

Variables Locales y Globales


Cotejar variable (Compare variable) Coteja el valor de una variable de evento (global o local). Estas variables pueden almacenar nmeros y texto. El resultado puede ser Igual (Equal), Distinto (Not equal), Menor (Less), Menor o igual (Less or equal), Mayor (Greater) o Mayor o igual (Greater or equal).

Capas y Plano
Cotejar opacidad (Compare opacity) Coteja la opacidad (o semitransparencia) de una capa, de 0 (transparente) a 100 (opaca). La opacidad de una capa no puede estar fuera de este rango. Se soportan efectos (Effect are supported) Verdadero si el soporte WebGL est disponible para mostrar los efectos. Para ms informacin ve a la seccin Efectos. Capa visible (Layer is visible) Comprueba si la capa actual es visible o no.

Captura de lienzo (On canvas snapshot) Detonado tras la accin del sistema Hacer captura de lienzo (Snapshot canvas), cuando la cpatura est preparada. Se puede acceder a ella con la expresin del sistema Captura de lienzo (CanvasSnapshot).

Bucles
Los bucles se pueden detener con la accin del sistema Parar bucle (Stop Loop). Para (For) Repite el evento un nmero de veces, usando una ndice de variables con un rango de valores. El ndice puede recuperarse con la expresin ndice de Bucle (LoopIndex) y as dar el nombre del bucle. Para cada (For Each) Para cada (ordenado) (For Each (ordered)) Repite el evento una vez por ejemplo recogido. Slo repite el evento para ejemplos que renan condiciones anteriores. Para ms informacin sobre la recogida de ejemplos mira cmo funcionan los eventos. Para cada (For Each) suele ser mal utilizada o usada de forma redundante - las acciones ya aplican para cada ejemplo recogido por condiciones, as que a menudo no es necesaria. Sin embargo, si entiendes completamente cmo funcionan los eventos la puedes usar para forzar al evento a aplicarse a cada ejemplo aunque el propio evento no lo hara de forma normal. La variante ordenado (ordened) permite definir el orden en el que los ejemplos se repiten con una expresin. Por ejemplo, ordenando por Sprite.Y ascendente repetir los ejemplo de arriba de la pantalla primero y se mover hacia abajo. Repetir (Repeat) Simplemente repite el evento un nmero dado de veces. Esto comprueba cualquier condicin que lo sigue en cada repeticin y, si se renen esas condiciones, tambin funcionarn las acciones y sub-eventos en cada repeticin. Mientras (While) Repite el evento hasta que una de las otras condiciones del evento sea falsa o se use la accin Parar bucle (Stop loop). Ten cuidado de no crear bucles infinitos que pueden ralentizar el juego

Recoger ejemplos
Recoger todos (Pick all) Selecciona todos los objetos. Las condiciones posteriores recogern entonces de todas, en vez de la seleccin hecha por condiciones previas. Para ms informacin de cmo funciona la seleccin de ejemplos en eventos ve a Cmo funcionan los ejemplos. til en sub-eventos para afectar a ejemplos distintos del anterior. Recoger ejemplo N (Pick Nth instance) Selecciona un ejemplo de una lista dada de objetos recogidos. Es ms til en sub-eventos para afectar slo a ciertos ejemplos. Por ejemplo, en un evento Sprite colisiona con Sprite, Recoger ejemplo 0 (Pick 0th instance) y Recoger ejemplo 1 (Pick 1st instance) se usan para que ambas acten en esa colisin. Si todos los objetos estn seleccionados, esta condicin se puede usar tambin para recoger un objeto por su ndice de ID (IID). Para ms informacin ve a Caractersticas comunes.

Recoger ejemplo al azar (Pick random instance) Recoge un ejemplo al azar de la seleccin actual de objetos. En otras palabras, esta condicin sigue a otra condicin y recoger una al azar de las que han reunido la condicin anterior. De otra forma recoger al azar de entre todos los ejemplos.

Condiciones especiales
Otro (Else) Funciona si el evento anterior no ha funcionado. Nota que esta condicin no selecciona objetos: si sigue a un evento que recogi objetos, en el evento Otro (Else) todos los ejemplos se vuelven a seleccionar. Otro (Else)slo puede seguir a eventos normales (no detonados). Tambin puede seguir a otro evento Otro (Else) con otras condiciones para hacer una cadena si - otro si - (if - else if -). Est en vista previa (Is in preview) Verdadero cuando haces vista previa en C2, y falso cuando funciona tras haber sido exportado. til para eliminar fallos o aadir caractersticas de diagnostico slo para la vista previa. Est en un dispositivo mvil (Is on mobile devide) Intenta detectar si el dispositivo actual es uno mvil (telfono o tableta). Es muy difcil precisar y la deteccin pude no ser perfecta: puede haber algunos sistemas mviles para los que esta condicin no sea verdadera y (menos a menudo) sistemas de mesa para los que s. La condicin siempre es verdadera cuando se usa a travs de contenedores PhoneGap o AppMobi y para los dispositivos iOS o Android. A parte de esto C2 comprobar otros fabricantes de mviles comunes. Dar verdadero si el sistema actual no es un sistema fijo y ya que hay pocos as en OSs se comprobar en Windows, Linux, OS 9, OS X, Solaris y BSD. Detonar cuando sea verdadero (Trigger once while true) Convierte un evento normal (que se comprueba cada vez o tick) en un detonador. Por ejemplo, si un evento reproduce un sonido cuando tienes 0 vidas, normalmente el evento funcionar cada tick. Reproducir 60 sonidos por segundo y sonara bastante mal. Aadir Detonar cuando sea verdadero (Trigger once while true) tras la otra condicin har que el evento funcione slo cuando sea verdadera. Esto hace que el ejemplo anterior reproduzca el sonido cuando las vidas estn a 0. Debe ser la ltima condicin de un evento.

Inicio y fin
Al final del plano (On end of layout) Detonado cuando el plano est terminando. Puede ocurrir cuando se quiere cambiar de plano o cuando el proyecto finaliza. Al inicio del plano (On start of layout) Detonado cuando un plano empieza.

Tiempo
Cotejar tiempo (Compare time) Coteja el tiempo, en segundos, desde que el juego empieza. Por ejemplo, los eventos se pueden programar para suceder cuando el tiempo llegue (sea igual) a 10 segundos. Cada X segundos (Every X seconds) Hace que el evento funcione en un intervalo de segundos dado. Se puede usar tras otras condiciones para hacer funcionar el evento en ese intervalo slo mientras otra condiciones son verdaderas, como El

jugador esta pulsando la barra espaciadora Y cada 0,5 segundos: se dispara el lser ("Player is holding spacebar AND every 0.5 seconds: fire laser").

7.2 System actions


Esta seccin describe todas las acciones en el objeto integrado Sistema de C2. Se listan en el orden en el que aparecen en el dilogo de Aadir Accin.

Monitor
Ajustar tamao del lienzo (Set canvas size) Ajusta el tamao del lienzo en el rea de la pgina, si aparece en lnea a ella (no se usa el modo pantalla completa). Capturar el lienzo (Snapshot canvas) Toma una captura de pantalla del monitor. Esto detona Captura de lienzo (On canvas snapshot) cuando la foto est preparada y se puede acceder a ella con la expresin del sistema Captura de lienzo (CanvasSnapshot). Despus se podr cargar en un sprite o en un fondo adosado, enviarse a un servidor o abrir con el objeto Navegador en una pestaa nueva.

General
Crear objeto (Create object) Crea un nuevo ejemplo de un tipo de objeto en una posicin dada de una capa. Si se elige una Familia, un tipo de objeto al azar de la familia se seleccionar, crendose un ejemplo para l. Ir a plano (Go to layout) Ir a plano (por nombre) (Go to layout (by name)) Cambia a otro plano del proyecto. Nota que las variables globales mantienen su valor actual - no se reajustan. Para reajustarlas usa la accin del sistema Reajustar variables globales (Reset global variables). Reiniciar plano (Restart layout) Reinicia el plano actual. Nota que, a diferencia de Ir a plano (Go to layout), esta accin reajusta todos los grupos de eventos a su estado inicial. Las variables globales mantienen su valor actual - no se reajustan. Para reajustarlas usa la accin del sistema Reajustar variables globales (Reset global variables). Activar grupo (Set group active) Activa o desactiva un grupo de eventos. Ningno de los eventos dentro de un grupo inactivo funcionar hasta que vuelva a ser activado. Los grupos se identifican por su nombre. Parar bucle (Stop loop) Detiene los bucles Repetir (Repeat), Para (For) o Para cada (For each). Estos bucles son condiciones del sistema. El resto de acciones de eventos y sub-eventos continuarn funcionando, pero no en bucle.

Variables globales y locales


Aadir a (Add to) Quitar de (Subtract from) Ajustar valor (Set value) Altera el valor almacenado de una variable global o local. Reajustar variables globales (Reset global variables) Reajusta todas las variables globales del proyecto a su valor inicial.

Capas y plano
Para ms informacin sobre acciones de los efectos ve a la seccin Efectos. Ajustar ngulo de capa (Set layer angle) Rota una capa entera a un nmero de grados. Habilitar efecto de capa (Set layer effect enabled) Habilita o deshabilita uno de los efectos de una capa en el plano actual. Esta accin no puede usarse para alterar capas de otros planos. Ajustar parmetro de efecto de capa (Set layer effect parameter) Cambia el valor de uno de los parmetros de un efecto de una capa en el plano actual. Esta accin no puede usarse para alterar capas de otros planos. El parmetro a cambiar se especifica por su ndice basado en cero, 0 cambiar el primer parmetro, 1 el segundo y as sucesivamente.

Ajustar opacidad de capa (Set layer opacity) Ajusta la opacidad (o semitransparecia) de una capa completa. Ajustar escala de capa (Set layer scale) Ajusta la escala (o zoom) de una capa completa, teniendo en cuenta su propiedad tasa de escala (scale rate). Ajustar tasa de escala de capa (Set layer scale rate) Ajusta la propiedad tasa de escala (scale rate) de una capa, que define cmo de rpido se escala. Hacer capa visible (Set layer visible) Muestra o esconde una capa completa. Ajustar ngulo de plano (Set layout angle) Rota un plano completo a un nmero de grados. Rota todas las capas dentro del plano. Habilitar efecto de plano (Set layout effect enabled) Habilita o deshabilita uno de los efectos del plano actual. Esta accin no puede usarse para otros planos. Ajustar parmetro de efecto de plano (Set layout effect parameter) Cambia el valor de uno de los parmetros de un efecto del plano actual. Esta accin no puede usarse para alterar otros planos. El parmetro a cambiar se especifica por su ndice basado en cero, 0 cambiar el primer parmetro, 1 el segundo y as sucesivamente. Ajustar escala de plano (Set layout scale) Ajusta la escala (o zoom) de un plano completo. Escala todas las capas del plano, teniendo en cuenta su propiedad tasa de escala (scale rate).

Desplazamiento
Para desplazar, el tamao del plano debe ser mayor que el tamao de la ventana o estar activada la propiedad Desplazamiento ilimitado (Unbounded scrolling). De otra forma no habra a donde desplazarse y esta accin no tendra efecto. Desplazarse a objeto (Scroll to object) Centra la vista en un objeto dado. Desplaza todas las capas teniendo en cuenta su propiedad de paralaje (parallax). Desplazar a posicin (Scroll to position) Desplazar a X (Scroll to X) Desplazar a Y (Scroll to Y) Ajusta las posiciones X e Y en donde centrar la vista. Desplaza todas las capas teniendo en cuenta su propiedad de paralaje (parallax).

Tiempo
Ajustar escala de tiempo (Set time scale) Cambia la tasa a la que el tiempo transcurre en el juego. til para efectos a cmara lenta y de pausa. Mira el tutorial Delta-time and framerate independence para ms informacin. Ajustar escala de tiempo de objeto (Set object time scale) Restaurar escala de tiempo de objeto (Restore object time scale) Cambia la tasa a la que el tiempo transcurre para un objeto especfico. Afecta al comportamiento del objeto y a su expresin dt. Restaurarla lo devuelve a la misma escala de tiempo que el resto del juego. Mira el tutorial Delta-time and framerate independence para ms informacin. Esperar (Wait) Espera un nmero de segundos antes de continuar con la siguiente accin o sub-evento. Otros eventos continuarn funcionando mientras. Mira el tutorial How to use the System 'Wait' action .

7.3 Expresiones de Sistema


Esta seccin da un resumen de las expresiones en el objeto integrado Sistema de C2. Muchas son operaciones matemticas comunes y se enumeran con descripciones en el panel de Expresiones, pero aqu se incluyen completas. Esta seccin no lista los operadores o sintaxis que se usan en las expresiones - solo las expresiones especficas al objeto Sistema. Para ms informacin general de cmo usar expresiones en C2 ve a Expresiones.

Monitor
Anchura de la ventana (WindowWidth) Altura de la ventana (WindowHeight) Da el tamao de la ventana. til con la propiedad Pantalla completa en el navegador (Fullscreen in browser) ya que esto habilita una variable de tamao de ventana. Mira tambin Supporting multiple screen sizes .

Capas
Expresiones donde se requiere una capa, por su nombre (como secuencia) o su ndice (como nmero basado en 0). CanvasToLayerX(layer) CanvasToLayerY(layer) Calcula las coordenadas del plano por debajo de una posicin en las coordenadas del lienzo para una capa dada. LayerToCanvasX(layer) LayerToCanvasY(layer) Calcula las coordenadas del lienzo por encima de una posicin en las coordenadas del plano para una capa dada. ngulo de Capa (capa) (LayerAngle(layer)) Da el ngulo de una capa en grados.

Opacidad de Capa (capa) (LayerOpacity(layer)) Da la opacidad (o semitransparencia) de una capa, de 0 (transparente) a 100 (opaca). Escala de Capa (capa) (LayerScale(layer)) Da la escala actual de la capa, sin incluir la escala total del plano. Tasa de escala de Capa (capa) (LayerScaleRate(layer)) Da la tasa de escala actual de la capa, que define como de rpido se escala. Vista abajo (capa) (ViewportBottom(layer)) Vista izquierda (capa) (ViewportLeft(layer)) Vista derecha (capa) (ViewportRight(layer)) Vista arriba (capa) (ViewportTop(layer)) Da los lmites de la vista en coordenadas del plano de una capa dada. No todas las capas tienen la misma vista si estas usan paralaje, estn escaladas o rotadas de forma independiente.

Plano
Captura del lienzo (CanvasSnapshot) Contiene la imagen resultante de la accin Capturar lienzo (Snapshot canvas) y tras Captura del lienzo (On canvas snapshot). (Nota que est expresin no estar disponible inmediatamente tras la accin Capturar lienzo (Snapshot canvas) solo puedes usarlo cuando Captura del lienzo (On canvas snapshot) se detone).La expresin da los datos URI del archivo de imagen. Despus, esto puede cargarse en un objeto Sprite o Fondo Adosado mediante Cargar imagen de una URL (Load image from URL), enviarse a un servidor para almacenarlo localmente o abierto con el objeto navegador en una nueva pestaa para guardarla en el disco. ngulo del plano (LayoutAngle) Da el ngulo del plano actual en grados. No incluye la rotacin de las capas individualmente. Escala del plano (LayoutScale) Da la escala del plano complete dada por la accin Ajustar escala de plano (Set layout scale). Esto no incluye la escala de las capas individualmente. Anchura del plano (LayoutWidth) Altura del plano (LayoutHeight) Da el tamao del plano actual en pxeles. Nombre de plano (LayoutName) Da el nombre del plano actual. Desplazamiento X (scrollx) Desplazamiento Y (scrolly) Da la posicin actual en la que la vista est centrada

Matemticas
Estas expresiones son funciones matemticas normales que puedes encontrar en calculadoras. Sin embargo, nota que las funciones que usan ngulos trabajan con grados, no radianes. Los ngulos empiezan en 0 grados y aumentan hacia la derecha en el sentido de las agujas del reloj. sin(x), cos(x), tan(x), asin(x), acos(x), atan(x) Funciones trigonomtricas que usan ngulos en grados. abs(x) Valor absoluto de x (abs(-5) = 5). angle(x1, y1, x2, y2) Calcula el ngulo entre dos puntos. anglelerp(a, b, x) Interpola linealmente el ngulo a al b por x. Tiene en cuenta la naturaleza cclica de los ngulos, no como el estndar lerp. anglediff(a1, a2) Da la diferencia ms pequea entre dos ngulos anglerotate(start, end, step) Rota el ngulo desde el inicio (start) hasta el final (end) pasando por el ngulo de paso (step), todo en grados. Si inicio (start) est a menor distancia en grados del final (end) que el de paso (step), dar final (end). ceil(x) Redondea al alza x (ceil(5.1) = 6). distance(x1, y1, x2, y2) Calcula la distancia entre dos puntos. exp(x) Calcula e^x. floor(x) Redondea a la baja x (floor(5.9) = 5). lerp(a, b, x) Interpolacin lineal del ngulo a al b por x. Calcula a + x * (b - a). unlerp(a, b, y) Invierte la interpolacin lineal: si lerp(a, b, x) = y, entonces unlerp (a, b , y) = x. Calcula (y - a) / (b - a). ln(x) Logaritmo de base e de x. log10(x) Logaritmo de base 10 de x. max(a, b [, c...]), min(a, b [, c...]) Calcula el mximo o el mnimo de nmeros dados. Se puede usar cualquier nmero de los parmetros mientras haya al menos dos. pi La constante matemtica pi (3.14159...). round(x) Redondea x al nmero entero ms cercano (round(5.6) = 6). sqrt(x) Calcula la raz cuadrada de x (sqrt(25) = 5).

Sistema
Progreso de carga (loadingprogress) Da el progreso de la carga actual en un plano cargador, o el progreso de una actualizacin mientras que la condicin del objeto Navegador Est descargando actualizacin (Is downloading update) es verdadera. El progreso viene dado por un nmero de 0 a 1 (0,5 sera la mitad). Para ms informacin ve a los tutoriales Como hacer una pantalla de carga personalizada (how to make a custom loading screen ) y Juegos offline en C2 (offline games in Construct 2 ). ndice de bucle (loopindex) Da el ndice (nmero de repeticiones) de cualquier bucle actual. ndice de bucle (nombre) (loopindex(name)) Da el ndice (nmero de repeticiones) de un bucle dando su nombre. til para obtener ndices en un bucle anidado. Contador de objetos (objectcount) El nmero total de objetos creados.

Versin del proyecto (projectversion) Da la versin introducida en las Propiedades del proyecto. Nota que siempre da una secuencia, no un nmero. Lienzo (renderer) Da el nombre del lienzo usado para dibujar el juego, que puede ser canvas2d o webgl. Mira la seccin Tecnologa para ms informacin sobre lienzos.

Texto
Encontrar (src, texto) (find(src, text)) Encuentra el primer ndice en src que aparece en el texto, de lo contrario da -1. left(text, count) Da la primera cuenta de caracteres de texto. len(text) Da el nmero de caracteres en el texto. Minsculas (texto) (lowercase(text)) Convierte todo el texto dado en minsculas. mid(text, index, count) Da la cuenta de caracteres empezando por el ndice en el texto. Nueva lnea (newline) Una secuencia que contiene un salto de lnea. Usar para insertar saltos de lnea en secuencias (Hello" & newline & "World) Sustituir (src, find, rep) (replace(src, find, rep)) Encuentra todos los casos de find en src y las sustituye con rep. right(text, count) Da la ltima cuenta de caracteres del texto. tokenat(src, index, separator) Cuenta cuantos tokens hay en src usando separator. Por ejemplo, ("apples|oranges|bananas", "|") da 3. trim(src) Da src con todos los espacios en blanco (espacios, tabulaciones, etc.) quitados desde el principio al final de la secuencia. Maysculas (text) (uppercase(text)) Convierte todo el texto dado en maysculas. Codificar URL (str) (URLEncode(str)) Decodificar URL (str) (URLDecode(str)) Convierte en o desde una secuencia a un formato apropiado para incluir en una URL o datos POST.

zeropad(number, digits) Rellena los nmeros hasta llegar a ciertos dgitos aadiendo ceros a la izqueirda de los nmeros y dando como resultado una secuencia. Por ejemplo zeropad(45, 5) dar la secuencia 00045.

Tiempo
Uso de CPU (CPUUtilisation) El porcentaje del ltimo Segundo que se gast en la lgica de la aplicacin. Eso es para que usuarios avanzados hagan mediciones del rendimiento. Nota que en los dispositivos aceleradores de hardware la renderizacin ocurre en una GPU separada y esta medicin no te podr decir nada sobre como de rpido se produce; para ello sera mejor la medicin fps. dt El tiempo delta en segundos. Ver Delta-time and framerate independence . fps La tasa de frames por segundo (FPS) actual, que es cuantos veces la pantalla se dibuja cada segundo. La mayora de los ordenadores funcionan a 60 fps si son suficientemente rpidos. Contador de ticks (tickcount) El nmero de ticks que ha habido desde el inicio del juego. Tiempo (Time) El nmero de segundos desde que el juego empez, teniendo en cuenta la escala de tiempo. Escala de tiempo (Timescale) La escala de tiempo actual. Tiempo real (Wallclocktime) El nmero de segundos desde que el juego empez, sin tener en cuenta la escala de tiempo (el tiempo en el mundo real).

Valores
Elegir ((a, b [, c...])) (choose(a, b [, c...])) Elige uno de los parmetros dados al azar. Por ejemplo, choose(1, 3, 9, 20) escoger al azar uno de los cuatro nmeros. Tambin funciona con secuencias, por ejemplo choose("Hello", "Hi") dar Hello o Hi. Se puede usar cualquier nmero de parmetros, mnimo dos.

clamp(x, lower, upper) Da inferior (lower) si x es menor que inferior (lower), superior (upper) si x es mayor que superior (upper), de lo contrario dar x. float(x) Convierte el nmero entero o el texto x en un nmero fraccionado. int(x) Convierte el nmero fraccionado o texto x en un nmero entero. random(x) Genera una fraccin al azar de 0 a x, sin incluir x. Por ejemplo, random(4) puede generar 0, 2.5, 3.29293, pero no 4. Usa floor(random(4)) para generar nmeros enteros como 0, 1, 2, 3. random(a, b) Genera fracciones al azar entre a y b, incluyendo a pero sin incluir b. rgb(r, g, b) Genera un nmero simple que contiene un color en formato RGB. Es til para condiciones o acciones que tienen en cuenta el parmetro color. str(x) Convierte el nmero entero o fraccin x en secuencia. Generalmente no es necesario ya que las secuencias se pueden construir usando el operador &. Por ejemplo Tu puntuacin es & puntuacin ("Your score is " & score).

Traducido por Javiusdey de desarrollodejuegos.com.es y Marta Villaescusa

Vous aimerez peut-être aussi