Taller 2: Pizarra de Dibujo
Hola! Bienvenido a esta segunda realización de un juego. El día de hoy vamos a programar una aplicación móvil que permita dibujar, crear rectas, y circunferencias.
Primer que nada, las imágenes que utilizaremos serán las siguientes:
![]() |
![]() |
En esta entrada del blog, se asumirá que ya has revisado las páginas de Instalación, Interfaz y el primer juego programado. Por lo que, si te sientes confundido, te recomiendo revisar las entradas del blog nombradas anteriormente.
Dicho esto, empezemos.
Para comenzar, vamos a necesitar varios componentes, entre ellos, un lienzo, una "SpriteImagen", botones, etiquetas, un deslizador y componentes de disposición para dejar todo ordenado en la pantalla.
En la sección paleta se encuentran los componentes que queremos agregar a nuestra aplicación. Basta arrástralo a screen1 o pantalla de nuestro móvil virtual.
Dibujar en el lienzo.
Todo dibujo de línea o circulo que se realice en el Screen debe estar contenido en un lienzo. Seleccione en Paleta / Dibujo y animación
Y arrastre el componente lienzo a Screen 1.
En propiedades del Lienzo cambiar el Alto y Ancho por Ajustar al contenedor. El Lienzo es el único que puede dibujar puntos, líneas, círculos o circunferencias, cambiar el color de un objeto, entre otras herramientas que puede modificar.
Para dibujar a mano alzada, es decir, tocar la pantalla del móvil y arrastrar el dedo, basta cargar el bloque Cuando Lienzo .Arrastrado
Luego debemos llamar a que Canvas1 dibuje una línea, para ello cargamos el bloque:
Experimenta con los valores XInicial, YInicial, XActual e YActual para x1,y1,x2 e y2 respectivamente y observa lo que ocurre. Luego, cambia los valores de XInicial e YInicial por XPrevio e YPrevio.
En el modo de Diseño agrega botones para cambiar el color del lápiz. Los botones deben estar alineados, para ello debemos cargar un contenedor que acomoda los objetos, este se encuentra en Paleta / Disposición. Seleccione el DisposiciónHorizontal y arrástrelo a la parte superior del Screen 1.
Puedes elegir botones para cuantos colores quieras. En este caso, ocuparemos cuatro colores, por lo que, arrastraremos cuatro botones al contenedor que se encuentra en la parte superior de Screen 1. En propiedades puedes cambiar el color de este, nosotros utilizaremos el gris oscuro.
Además, te recomiendo para cada botón, ir a propiedades, cambiar el nombre y el color de fondo, correspondiente al color que hayas elegido. En este caso, ocuparemos rojo, verde, negro y blanco. Lo cual queda de la siguiente manera:

Puesto que ya sabemos cambiar el color del lápiz, vamos a crear botones para cambiar el color del lienzo. La manera es bastante similar. Primero, agregamos un contenedor de disposición horizontal a Screen 1, arrastramos tanto botones como colores queramos, y nuevamente se recomienda, cambiar los nombres y ColordeFondo en propiedades.
Antes de pasar a la creación de líneas y circunferencias. Podemos hacer que el pincel tenga varios grosores. Para ello ir a Paleta / Interfaz de Usuario y arrastrar el deslizador a la parte inferior de Screen1, bajo el lienzo.
Para crear un segmento hay que tocar dos veces la pantalla, para asi marcar un punto de inicio y un punto final. Para esto debemos crear tres variables: incio_x, incio_y y activado.
Las variables de inicio guardaran las coordenadas en donde toquemos por primeva vez la pantalla. Serán inicializados en (0,0) que es el origen correspondiente al extremo superior izquierdo del Screen.
La variable activado cambia su estado a cierto después de hacer el primer toque en la pantalla y volverá a cambiar después de dibujar la línea. Es decir, nos indica si se está en modo de dibujar el segmento o no, o de otro modo, si se comenzó a dibujar el segmento.
Para crear las variables ir al modo Bloques y seleccionar Variables. Cargar e inicializar como se indica en la siguiente figura
Crearemos las variables fin_x y fin_y para guardar las coordenadas del segundo toque o del fin del segmento.
Como debemos tocar la pantalla del movil para indicar el inicio y fin del segmento agregaremos el bloque cuando Lienzo1 .Tocar que permite capturar el evento de tocar el Screen
El algoritmo para dibujar una línea será el siguiente:
SI la variable activo es falsa entonces estamos realizando el primer toque a la pantalla por lo tanto debemos almacenar las coordenadas en inicio_x e inicio_y y cambiamos el estado de la variable activado, ya entramos en modo de crear el segmento. Si no preguntamos por la variable activado nuevamente para saber si estamos en modo segmento, si es cierta entonces estamos en el segundo toque, por lo tanto debemos almacenar las coordenadas del segundo toque en las variables fin_x y fin_y. Y luego llamar a Lienzo o lienzo para que dibuje la línea. Después de dibujar la línea cambiamos el estado de la variable activado.
La siguiente figura muestra el código
Agregue dos botones para cambiar el tipo de figura geométrica; una para línea y otra para circunferencia, tal como se realizó en el caso anterior para cambiar de color.
Para conocer qué tipo de figura geométrica que se dibujará, necesitamos una variable que indique qué botón es el activo. Crear la variable figura e inicializarla en 1 para indicar que se dibujará una línea, en caso de círculo su valor deberá ser 2
Agregar el código correspondiente para dibujar un segmento o una circunferencia. El algoritmo de la circunferencia es análogo al de la línea solo cambia la llamar Canvas1. DibujarCirculo
En este caso se construye una circunferencia con centro (centerX, centerY) y el radio, que corresponde al punto de inicio (que es el centro) y el radio que es el segmento.
El radio deberá calcularse mediante la distancia entre las coordenadas de punto de inicio y el punto final.
Los bloques deberían quedar así:
Luego aquellos bloques debes encajarlos junto al de los segmentos. Quedando de la siguiente manera:
Comentarios
Publicar un comentario