Scratch 3 “Actividad N°3”
2020
Actividad N°3 Contenidos: ● Importar objetos. ● Cambio de fondos. ● Colisión de objetos. ● Condición de disfraces. ● Control de personaje con mouse. ● Programación de fondo. ● Programación de múltiples objetos. ● Ocultar y mostrar objetos. ● Cambiar tamaño de objetos. Consejos a la hora de programar: ● Nombrar apropiadamente cada objeto, disfraz y fondo. Así facilitará su uso cuando programes, y el análisis posterior de otras personas. ● Cada objeto y el escenario pueden tener su propia programación. Asegúrate de estar programando el objeto correcto. Lo seleccionas haciendo un clic en el área de objetos, el objeto deseado o en el área de escenario para programar los fondos. ● Si una acción necesita ser repetida muchas veces, ahorra código usando el bloque “repetir.” ● Ve guardando tu progreso a medida que avanzas con tu programación. Así evitarás perder tu progreso si tu computadora se apaga de forma inesperada.
Resumen: En esta actividad vamos a crear un videojuego. Nuestro personaje será un bote que debe atravesar obstáculos para llegar a una meta, pero antes debe recoger una carga. Ganaremos el juego si recogimos la 1
carga y luego llegamos a la meta. Si llegamos a la meta sin haber recogido la carga, deberemos volver por ella. Si nuestro bote choca con alguno de los obstáculos, se destruirá y perderemos.
Parte I: Preparando el escenario Para este juego vamos a crear nuestro propio fondo que servirá de mapa del juego, debemos editar el fondo con las herramientas que nos brinda scratch para crear una especie de laberinto color madera sobre un fondo celeste que represente el agua, y al final del laberinto una pequeña isla color arena. Podemos dibujar el agua con la herramienta cuadrado, seleccionamos un color azul claro y creamos un cuadrado que abarque todo el fondo. Para crear nuestro nuevo personaje, debemos colocar el puntero del mouse, en el botón azul que tiene una cara de gato y el signo más, hasta que nos salga un menú desplegable.
2
El laberinto los podemos crear con herramienta línea o con el pincel. Recordemos primero elegir el color y el tamaño del contorno, es mejor que sea grande para dibujarlo más rápido. Y a la isla la podemos dibujar con el pincel.
3
Este será el mapa de nuestro juego, no tiene que ser idéntico al tuyo, crea tu propio laberinto, solo trata que no sea demasiado fácil o difícil.
Parte II: Importando objetos Nuestro juego tendrá tres objetos, uno será un bote (nuestro personaje principal), otro será la carga (que debemos recoger antes de llegar a la meta) y una bandera de meta (al llevar la carga allí, ganaremos.) Los tres objetos se encuentran dentro de los recursos en el Classroom, nosotros debemos descargarlos e importarlos.
4
Para importarlos debemos posar el puntero del mouse sobre el botón de añadir objeto hasta que salga el menú desplegable.
Y haremos clic en la opción de más arriba “subir un objeto.”
5
Se abrirá una ventana, deberemos dirigirnos a la carpeta donde descargamos los recursos, seleccionar el bote y hacer clic en el botón abrir.
Luego haremos lo mismo con la meta y la carga. Debería quedarnos así.
6
Cómo no vamos a usar al gato, vamos a seleccionarlo y luego hacer clic en el botón borrar que tiene en una esquina.
Ahora tenemos nuestros tres objetos, pero vemos que son muy grandes, hay que reducir su tamaño para que sean más manejables. Vamos a hacer clic en el bote en el área de objetos y cambiar su tamaño de 100 a 10.
7
A la carga tambiĂŠn le cambiaremos el tamaĂąo a 10, y a la meta a 20. Luego los arrastramos dentro del escenario con el mouse, el bote debe ir al inicio del laberinto, la carga dentro del laberinto y la meta encima de la isla.
8
Ahora que hemos preparado los elementos del juego, podemos empezar a programar. Parte III: Siguiendo al ratón Esta vez no haremos que nuestro personaje se mueva con las flechas del teclado, sino que va a seguir al puntero del mouse. Para ello, primero debemos hacer que apunte hacia arriba. Esto es posible con el bloque de movimiento “Apuntar en dirección_” y le pondremos el valor 0. Recordar que nuestro primer bloque siempre ser uno de eventos que dé inicio al programa.
Luego debemos hacer que el bote siempre inicie en la posición en la que lo ubicamos en el paso anterior, así que vamos a insertar el bloque “Ir a X:_Y:_”
Ahora vamos a iniciar con los elementos que deben repetirse durante todo el juego, para ello vamos a insertar un bloque “Por siempre.” 9
Para que el bote siga al puntero, debemos buscar el bloque de movimiento “Apuntar hacia puntero del ratón” e insertarlo dentro del bloque “por siempre.” Seguido pondremos un bloque de “mover_pasos” y pondremos el valor “1.”
Si presionamos la bandera verde, podremos ver como el bote sigue el puntero de nuestro mouse. 10
Pero prueba dejar que el bote llegue al puntero y notaras que empieza a moverse de manera extraña. Para arreglarlo vamos a agregar una condición “si entonces” que cubra los dos bloques anteriores.
Nuestra condición será “si la distancia a puntero de ratón es mayor a 5,” para crear esta condición debemos combinar dos bloques. El primero está dentro de los bloques “Operadores” (Verdes) es el “_>_” El segundo se encuentra en los sensores y se llama “distancia al puntero del ratón.” Debemos poner el segundo dentro de la casilla izquierda del primero, a la casilla derecha, le pondremos el valor “5.”
Y lo insertamos dentro del bloque “si entonces.” 11
Ahora veremos que cuando el bote llega al puntero, solo se queda quieto. Parte IV: Cuidado con los obstáculos Hasta ahora nuestro bote puede atravesar los obstáculos, vamos a evitar que lo haga y programar los eventos que ocurran al perder el juego. Primero vamos a crear un disfraz a nuestro bote que simule su destrucción tras haber chocado. Damos clic en el bote y nos vamos a la solapa de disfraces. Haremos clic derecho en el disfraz 1 y elegiremos la opción “duplicar.”
12
Luego nos posicionamos en el nuevo disfraz creado y le cambiamos el nombre a “bote destruido.”
Para dar el efecto de destrucción vamos a usar la herramienta “seleccionar,” seleccionaremos partes del bote y las separamos y movemos un poco, hasta dar el efecto de que se ha roto en varias partes.
13
14
También vamos a crear un fondo que represente la pantalla al perder el juego. Hacemos clic en el área de escenario y vamos a la solapa fondos.
Vamos a posarnos sobre el botón de nuevo fondo y elegimos la opción pintar.
15
Vamos a usar la herramienta “cuadrado� para crear un cuadrado negro que llene todo el fondo.
16
Luego vamos a la herramienta “T” para crear un texto. Podemos cambiar el color y tipo de letra. Elige el tipo de letra y color que más te guste, yo elegí el color rojo y el tipo de letra pixel, para que parezca un videojuego antiguo. Escribe el mensaje “Tu bote ha sido destruido. Vuelve a intentarlo.”
17
Puedes agrandar el tamaño del mensaje arrastrando alguno de los puntos azules de las esquinas.
Recuerda nombrar el nuevo fondo, para poder reconocerlo fácilmente durante la programación. Vamos a ponerle “perdiste.”
18
Tras esto contaremos con dos fondos, pero nosotros queremos que al inicio solo aparezca el fondo del laberinto. Entonces debemos programar el escenario para que siempre inicie con ese fondo. Vamos a dar clic en el área de escenario. Y luego vamos a la solapa de código.
Vamos a crearle un pequeño código para que al presionar la bandera verde, además de que se ejecute el código de nuestros objetos, el fondo cambie al fondo del laberinto. 19
Ahora vamos a hacer la programación del bote. Nosotros queremos que el bote se destruya al tocar los obstáculos, nos de un pequeño mensaje y luego nos envíe a la pantalla de perdiste. Vamos a dar clic en el objeto bote y volvemos a la solapa de código. Dentro del bloque por siempre vamos a agregar otro “Si entonces.”
La condición que queremos es cuando toque el color del obstáculo. Así que vamos a buscar el bloque “¿Tocando el color?” y lo insertamos dentro del “si entonces.”
20
Para seleccionar el color correcto haremos clic en el cĂrculo de color y luego en la cuenta gotas.
Luego iremos al escenario y seleccionaremos el color de los obstĂĄculos.
21
Nos quedará el bloque con el color de los obstáculos.
Dentro de este bloque “si entonces” vamos a insertar el bloque “Cambiar disfraz a_” y elegiremos el disfraz “bote destruido.”
Debajo de este, vamos insertar el mensaje. Buscamos dentro de los bloques de apariencia el bloque “decir_por_segundos.” El mensaje será “¡Nooooo!” y la cantidad de segundos “1.” 22
Luego vamos a cambiar el fondo, para que salga la pantalla de “perdiste.” Vamos a insertar el bloque de apariencia “Cambiar fondo a _” y seleccionamos “perdiste.”
El último bloque dentro de este “si entonces,” será el bloque de control “detener todos,” este bloque permite detener todo el programa, y tendremos que presionar la bandera verde para volver a jugar.
23
Al reiniciar el juego, el bote empezará con el último disfraz que usó en la partida. Pero nosotros queremos que siempre empiece con su disfraz original. Para ello vamos a agregar el bloque “cambiar disfraz a _” y vamos a seleccionar el disfraz “bote.” El bloque va al principio por fuera del bloque “Por siempre.”
Parte V: Tomando la carga
Sabemos que el bote debe tomar la carga antes de llegar a la meta para que ganemos el juego. Para ello necesitamos programar las siguientes acciones. 1. Que la carga desaparezca cuando entre en contacto con el bote. 2. Que la carga reaparezca cuando presionemos la bandera verde. 3. El disfraz del bote debe cambiar a uno nuevo que represente que está llevando la carga.
Acción 1: 24
Hacemos clic en el área de objetos en la carga y creamos su código, con su correspondiente “al presionar bandera”
Lo primero será fijar su posición inicial con el bloque “ir a x:_y:_”
Luego insertamos sus acciones en el juego, con un bloque “por siempre.”
25
Nosotros queremos que desaparezca cuando se cumpla una condición, “al tocar el bote,” así vamos a insertar un bloque “si entonces” dentro.
La condición se encuentra en los bloques de sensores, se llama “¿Tocando_?” (por defecto dice el puntero del ratón, pero lo podemos cambiar) y vamos a seleccionar “Bote.”
26
La única acción que debe realizar al tocar el bote, es ocultarse. Buscamos dentro de los bloques de apariencia, el bloque “Ocultar.”
Acción 2: Si lo probamos veremos que la carga se oculta cuando toca el bote, pero no reaparece cuando reiniciamos el juego. Para ello solo debemos agregar el bloque de apariencia “Mostrar” antes del bloque “por siempre,” fuera de él.
27
AcciĂłn 3: Antes de programar la acciĂłn debemos crear un nuevo disfraz que represente al bote llevando la carga. AsĂ que haremos clic en el bote e iremos a la solapa de disfraces.
Vamos a duplicar el disfraz del bote original.
28
Y al nuevo disfraz lo llamaremos “Bote con Carga.”
Vamos a hacerle una modificación simple, solo crearemos un cuadrado de color marrón encima del bote, podemos agregar lineas amarillas para adornarlo.
29
Ahora podemos iniciar la programación, vamos a la solapa de código y agregaremos otro “si entonces” al bloque “por siempre.”
30
Esta vez la condición será “cuando toque el objeto carga.” Vamos al bloque “¿Tocando_?” y elegimos “carga.” Luego lo insertamos dentro del “si entonces.”
31
Dentro, la única acción será cambiar el disfraz por el nuevo que creamos, “bote con carga.”
Parte VI: Llegando a la meta Ahora toca programar la meta. Al llegar a la meta pueden ocurrir dos situaciones: 1. El bote llega a la meta sin haber obtenido la carga primero. 2. El bote llega a la meta tras haber obtenido la carga. Situación 1: Vamos a programar la meta, así que primero debes cliquear en la meta en el área de objetos e ir a la solapa de programación. Agregamos los bloques para iniciar el programa y para ubicarlo en el escenario al inicio del programa.
32
Luego empezamos con su programación durante el juego. Agregamos un bloque “por siempre.”
La meta solo debe actuar si entra en contacto con el bote, así que vamos a agregar un bloque “si entonces” y le vamos a agregar como condición el bloque ¿Está tocando_? y seleccionamos “bote.”
33
Como dijimos, la meta debe actuar de manera diferente según el disfraz con el que llegue el bote. Así que vamos a agregar otro bloque “si entonces” dentro del anterior.
34
Nuestra condición será que “el número de disfraz sea igual al número de disfraz sin la carga.” Primero vamos a buscar en bloques operadores el bloque “_=_” y lo insertamos dentro del “si entonces.”
En la primera casilla debemos insertar el bloque “# de fondo de Escenario” (este bloque se puede cambiar seleccionando el disfraz de un objeto).
35
Luego cambiamos “escenario” por bote, y la primera casilla por “# de disfraz.”
Para conocer el número del disfraz que queremos, debemos ir al bote y luego a la solapa de disfraces, buscamos el disfraz del bote sin carga, y revisamos el número que tiene en una esquina.
36
Entonces nos quedaría así.
Lo que queremos que la meta haga cuando llegue el bote sin la carga, es dar un mensaje. Vamos a insertar el bloque “decir_por_segundos” y vamos a poner el mensaje “No has recogido la carga, vuelve por ella! durante 5 segundos.
37
Situación 2: Ahora debemos programar que hará la meta cuando el bote llegue con la carga. Pero primero vamos a crear un nuevo fondo, que llamaremos “ganaste” y deberá tener el siguiente mensaje “¡Felicidades! Has llegado a la meta”
38
Para la programaciĂłn vamos a insertar otro “si entoncesâ€? debajo del anterior.
39
La condición será la misma que la anterior, pero cambiando el número de disfraz del bote con la carga, en mi caso es el “2,” pero el tuyo puede ser diferente, revísalo.
Lo queremos que haga al cumplir la condición es que cambie el fondo a la pantalla de ganaste y que luego detenga el programa, agregamos los siguientes bloques. 40
¡Listo, has programado tu primer videojuego! Recuerda practicar en tu computadora con esta actividad y las anteriores para poder realizar el desafío correctamente. Más abajo están las programaciones completas de cada objeto y el escenario. Programación de “Bote”:
41
Programación “Carga”:
42
Programación “Meta”:
43
Programación “Escenario”:
44