En el tutorial anterior, continuaste trabajando en un proyecto para hacer que un cangrejo persiga a un gato por la pantalla, agregando un límite de tiempo y manteniendo la puntuación..
En esta parte continuaremos trabajando en ese proyecto. Agregaremos un evento de difusión y lo utilizaremos para activar scripts para otros sprites. Luego, cuando termine el juego, ocultaremos la mayoría de los sprites y mostraremos la puntuación final..
Para completar este tutorial, necesitarás:
Vamos a trabajar con el proyecto creado en la parte anterior de esta serie. Usaremos los recursos y scripts que hemos creado hasta ahora y agregaremos más.
Dependiendo de si trabajó junto con ese tutorial, hay dos formas de comenzar con este tutorial:
Alternativamente, puedes seguir trabajando en el mismo proyecto que ya creaste. Así es como haces cada uno de estos (solo necesitarás hacer uno).
Abre Scratch y ve al proyecto que quieres duplicar. Asegúrese de que ha hecho clic en el Ver adentro Botón para que puedas ver el funcionamiento del proyecto..
En la barra de herramientas, haga clic en Archivo> Guardar como una copia:
Scratch abrirá tu nueva copia. Renombralo y empieza a trabajar en ello.
Inicie sesión en Scratch y vaya a la página de mi proyecto sobre datos y variables.
Haga clic en el Ver adentro Botón para ver el proyecto:
Ahora haga clic en el Remezclar botón. Scratch guardará un duplicado de mi proyecto como un nuevo proyecto en su cuenta. Renombralo y eres bueno para ir!
En esta parte de la serie, añadirás un emisión
Mensaje a su proyecto para comunicarse internamente dentro de su proyecto. Puede crear una difusión en una secuencia de comandos cuando esa secuencia de comandos alcanza un cierto punto, o se cumple una condición relacionada con un sprite, y luego hacer que cualquiera de los otros sprites (o el escenario) reaccione a la difusión de ese mensaje. Esto vincula a tus sprites y te da más alcance cuando se trata de agregar interacciones de usuario..
Recordarás que anteriormente agregamos un sprite con un texto (que dice '¡Ouch!') Que dibujamos como un disfraz para ese sprite. En el momento en que el sprite está sentado inmóvil en el escenario y no hace nada. Ahora usaremos una transmisión para que haga algo..
Pero primero vamos a crear la transmisión..
Haga clic en el gato sprite y edite el script que ya ha creado para él.
Abre el Eventos bloques y arrastre el transmisión de mensajes 1
bloque en el script, inmediatamente debajo de la cambiar puntaje por 1
bloquear. Haga clic en la lista desplegable para mensaje1 y haga clic en nuevo mensaje… . Escriba algún texto que pueda usar para definir su transmisión. Este texto no será visto por el usuario, pero lo usará en otra parte de su proyecto, por lo que tiene sentido llamarlo algo significativo. Estoy llamando al mio atrapado.
Así es como se ve el guión del gato ahora:
Ahora podemos usar esa transmisión para activar scripts para otros sprites..
Hasta ahora hemos comenzado todos nuestros guiones con el cuando se hace clic en la bandera verde
bloque, lo que significa que el script se ejecuta automáticamente cuando se inicia el proyecto. A veces no desea que eso suceda: desea que se active un script después de que el proyecto haya comenzado. Hay varias formas de hacerlo: puede activar un guión cuando se presiona un sprite o una tecla, o cuando cambia una variable como el volumen. El método que usaremos aquí es iniciar un script cuando el sprite recibe un mensaje de difusión..
Haga clic en el sprite de texto que creó anteriormente (Sprite2). Comience por darle un nombre mejor (haciendo clic en el yo icono en su parte superior izquierda y editando el nombre) -Estoy llamando al mío Ay.
Queremos que este sprite sea invisible durante la mayor parte del tiempo y solo aparezca cuando el cangrejo atrapa al gato. Así que crearemos dos scripts: el primero para ocultar el sprite y el segundo para hacer que aparezca.
Crea este script para el sprite:
cuando se hace clic en la bandera verde
esconder
Encontrarás el esconder
bloque en el Miradas bloques Esto oculta el sprite: ahora, cuando inicies el proyecto, desaparecerá..
Ahora crea un segundo script para el sprite Ouch:
cuando recibo atrapado
ir al gato
espectáculo
espera 0.5 segundos
esconder
Encontrarás el primer sprite en el Eventos bloques, el ir
bloque en el Movimiento bloques, el Espere
bloque en el Controlar sección y la espectáculo
y esconder
bloques en Miradas.
A medida que sus proyectos se vuelvan más largos y complejos, es posible que desee darle al usuario la sensación de progresar en un juego o animación cambiando el fondo. Aquí lo haremos cuando se acabe el tiempo y el juego termine..
Para hacer eso necesitamos:
Usaremos el emisión
Evento bloques y también el cuando el telón de fondo cambia a
bloque de evento. Empecemos por crear esa transmisión..
Selecciona el Escenario y agrega un emisión
bloque hasta el final de su guión, sustituyendo el para todo
bloquear. Estoy llamando a esta transmisión juego terminado.
Ahora cree un fondo adicional para el escenario de la misma forma que creó los fondos anteriormente en esta serie. Selecciona el Escenario, haga clic en el Telones de fondo pestaña e importar, dibujar o seleccionar un fondo de la biblioteca. Estoy seleccionando el Círculos telón de fondo de la biblioteca.
Ahora aparecerá el nuevo telón de fondo y desaparecerá el original, ¡no se asuste! Haremos que aparezca el original cuando se inicie el proyecto y el nuevo cuando el juego termine..
A estas alturas, es probable que pueda encontrar la forma de que aparezca el primer telón de fondo cuando se inicie el proyecto. Simplemente arrastre el cambiar el telón de fondo a
bloque de la Miradas bloques a la secuencia de comandos para el escenario, justo debajo de la cuando se hace clic en la bandera verde
Bloque y encima del poner el puntaje a 0
bloquear. En el cuadro desplegable de ese bloque, seleccione playa malibu.
Ahora, cuando ejecute el proyecto, el telón de fondo volverá a aquel con el que está familiarizado:
Para cambiar el fondo cuando finalice el juego, cree un nuevo script para el escenario:
cuando recibo atrapado
cambiar el telón de fondo a círculos
Tu escenario ahora tendrá dos guiones:
Ahora, cuando ejecute su proyecto, el fondo cambiará cuando el juego termine, pero el juego realmente no terminará. Vamos a arreglar eso.
Cuando el juego termine, queremos que los cangrejos, estrellas de mar y ouch sprites desaparezcan. Por lo tanto, necesitamos crear un guión idéntico para cada uno de estos spites, que será activado por la transmisión. La buena noticia es que puede crear el script una vez y luego copiarlo en cada uno de los sprites..
Comience con el sprite de cangrejo. Crea este script para ello:
cuando recibo el juego terminado
esconder
Ahora copia ese script a cada uno de los sprites ouch y starfish arrastrando el script desde el Guiones panel para el sprite de cangrejo en cada uno de los sprites debajo del escenario principal.
Ahora, cuando juegues, tus sprites desaparecerán cuando el juego termine, pero no volverán a aparecer cuando juegues de nuevo. Así que necesitas hacerlos aparecer cuando el proyecto comience..
Para cada uno de los sprites de cangrejo y estrella de mar, agregue un espectáculo
Bloquear el script que comienza con cuando se hace clic en la bandera verde
, Justo al principio. No hagas esto por el ouch sprite ya que solo aparece cuando el cangrejo y el gato se tocan. El sprite de cangrejo, por ejemplo, ahora se verá así:
Ahora, cuando juegues, los sprites aparecerán al principio y desaparecerán al final. Lo único que no está funcionando ahora es el gato sprite, que todavía se está moviendo. No queremos que haga eso, por lo que editaremos el script existente para el gato.
El gato actualmente tiene un Siempre
Bloque que controla su movimiento y la puntuación. Reemplace eso Siempre
bloque con un repetir hasta
bloque, asegurándose de que todos los bloques estén dentro del repetir hasta
bloque que estaban dentro de la Siempre
bloquear. Puede que le resulte más fácil arrastrar el Siempre
bloque lejos de la secuencia de comandos en el Guiones panel, arrastre el repetir hasta
bloque en posición, y luego arrastre los bloques desde dentro del Siempre
bloque dentro del repetir hasta
bloquear. A continuación, elimine el Siempre
bloquear.
En el espacio en el repetir hasta
bloque, no podemos usar un cuando recibo
bloque, ya que están diseñados para iniciar secuencias de comandos. En su lugar utilizaremos un operador. Arrastrar el =
bloque en ese espacio, arrastre el Minutero
variable al primer espacio, y tipo 0 en el segundo espacio así se lee el bloque. repita hasta que el temporizador = 0
.
Ahora ejecuta el juego y cuando el tiempo se detenga, el gato seguirá siendo visible pero estará quieto.
Hagamos que el gato le diga al usuario su puntuación. Cree un nuevo script para el gato sprite de la siguiente manera:
cuando el telón de fondo cambia a círculos
decir unirse Has marcado Puntuación
Crear ese segundo bloque es un poco complicado. Tendrás que arrastrar el di hola!
bloque al script, luego arrastre el unirse
bloque de Los operadores al espacio donde dice Hola! Luego escriba 'Usted anotó' en el primer espacio del bloque de unión y arrastre el Puntuación
Variable al segundo espacio. Asegúrate de agregar un espacio al final de tu texto. El guión se verá así:
Ahora, cuando corras el juego, el gato aparecerá solo al final y te dirá tu puntuación..
Agregar eventos a sus proyectos le permite hacer que las cosas sucedan a medida que el proyecto avanza, en respuesta a las entradas del usuario, los scripts que llegan a cierto punto o el cambio de valor de una variable. En este tutorial, aprendió a usar eventos para cambiar el fondo cuando el temporizador cuenta con un valor cero y muestra la puntuación del usuario..
Si te apetece un desafío, ¿por qué no agregar algunos operadores al sprite que creaste que le dice al usuario su puntuación? Tal vez podrías usar un Si
bloque para detectar el valor de la Puntuación
Valioso y haz que el gato diga '¡Bien hecho!' si el usuario obtiene más de una cierta cantidad, o "¡Mejor suerte la próxima vez!" si tienen una puntuación baja.
En la siguiente parte de esta serie, pasaremos a la creación de efectos animados utilizando fondos. Haremos uso de los fondos duplicados que creamos justo al principio de la serie para crear un zoom en efecto..