El componente clave para crear, manipular y administrar gráficos en el Corona SDK es el objeto de visualización. Este objeto no solo se puede usar para mostrar una imagen de un archivo, sino que quizás sea tan importante, le permite agrupar sus imágenes. Esto le permite mover todo un conjunto de gráficos alrededor de la pantalla a la vez y colocar los gráficos uno encima del otro.
Este tutorial le enseñará los conceptos básicos del uso de grupos de visualización para organizar los objetos gráficos en su proyecto. Esto se demostrará creando dos capas diferentes, una que representa la pantalla normal y otra que representa una capa modal para colocarla encima. Además de colocar en capas los gráficos, también usaremos el objeto de transición para mover todo el grupo modal.
Cómo comercializar su aplicación
Nota: Para seguir este tutorial, necesitará dos imágenes: image1.png e image2.png. Estas pueden ser las imágenes que elijas, pero el tutorial funcionará mejor si tienes imágenes de alrededor de 100 píxeles por 100 píxeles. Esto le permitirá ver fácilmente lo que está sucediendo con las imágenes.
Para comenzar, abriremos un nuevo archivo llamado main.lua y comenzaremos a construir nuestro código:
displayMain = display.newGroup (); displayFirst = display.newGroup (); displaySecond = display.newGroup (); global_move_x = display.contentWidth / 5;
Esta sección del código configura nuestra biblioteca de ui y se declara a través de los grupos de visualización: displayMain, displayFirst y displaySecond. Los usaremos para crear una primera capa de nuestros gráficos y luego moverlos. La variable global_move_x está configurada al 20% del ancho de la pantalla para que podamos ver el movimiento.
función setupScreen () displayMain: insert (displayFirst); displayMain: insert (displaySecond); displayFirst: toFront (); displaySecond: toFront (); local background = display.newImage ("image1.png", 0,0); displayFirst: insertar (fondo); local background = display.newImage ("image2.png", 0,0); displaySecond: insertar (fondo); fin
La función setupScreen muestra cómo agregar grupos de visualización al grupo de visualización principal. También usamos la función toFront () para configurar las diferentes capas gráficas, con la capa que queremos en la parte superior todo el tiempo declarado último.
En este ejemplo, no es realmente necesario mover la pantalla Primero al frente, ya que por defecto estará debajo del grupo pantalla Segundo, pero es bueno tener el hábito de estratificar explícitamente cada grupo de pantalla. La mayoría de los proyectos terminarán con más de dos capas.
También hemos añadido una imagen a cada grupo. Cuando iniciamos la aplicación, la segunda imagen debe estar encima de la primera.
function screenLayer () displayFirst: toFront (); fin
Ya hemos superpuesto nuestros gráficos con el grupo displaySecond en la parte superior del grupo displayFirst. Esta función moverá displayFirst al frente.
función moveOne () displaySecond.x = displaySecond.x + global_move_x; fin
La función moveOne moverá la segunda imagen a la derecha en un 20% del ancho de la pantalla. Cuando llamamos a esta función, el grupo displaySecond estará detrás del grupo displayFirst.
función moveTwo () displayMain.x = displayMain.x + global_move_x; fin
La función moveTwo moverá ambas imágenes a la derecha en un 20% del ancho de la pantalla. Sin embargo, en lugar de mover cada grupo individualmente, usaremos el grupo displayMain para moverlos a los dos al mismo tiempo. Este es un gran ejemplo de cómo un grupo de visualización que contiene varios grupos de visualización puede usarse para manipular muchos gráficos a la vez.
setupScreen (); timer.performWithDelay (1000, screenLayer); timer.performWithDelay (2000, moveOne); timer.performWithDelay (3000, moveTwo);
Este último bit de código demuestra lo que sucede cuando ejecutamos estas funciones. Usaremos la función timer.performWithDelay para activar las funciones cada segundo después de que se inicie la aplicación. Si no está familiarizado con esta función, la primera variable es el tiempo de demora expresado en milisegundos y la segunda es la función que queremos ejecutar después de esa demora.
Cuando inicies la aplicación, deberías tener image2.png encima de image1.png. La función screenLayer se activará y traerá image1.png al frente. La función moveOne moverá image2.png desde debajo de image1.png, y la función moveTwo se activará en último lugar, moviendo ambas imágenes al mismo tiempo.
Cómo arreglar un iPad lento
Es importante recordar que cada uno de estos grupos podría tener docenas de imágenes en ellos. Y así como la función moveTwo movió ambas imágenes con una línea de código, todas las imágenes dentro de un grupo tomarán los comandos dados al grupo.
Técnicamente, el grupo displayMain podría tener grupos de visualización e imágenes contenidas en él. Sin embargo, es una buena práctica dejar que algunos grupos como displayMain actúen como contenedores para otros grupos sin imágenes para crear una mejor organización.
Este tutorial hace uso del objeto de visualización. Obtenga más información sobre el objeto de visualización.
Cómo empezar a desarrollar aplicaciones para iPad