Guía para principiantes de Construct 2

4

Index

Tagged

Contributors

Stats

372,713 visits, 429,733 views

Tools

Translations

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 26 Aug, 2014. Last updated 25 Feb, 2019

Agregando funcionalidad al juego

Si cada evento es descrito con tanto detalle como antes, va a ser un tutorial muy largo. Vamos a hacer una breve descripción para los próximos eventos. Recuerda, los pasos para agregar una condición o acción son:

1. Doble clic para insertar un nuevo evento o clic en Añadir acción si se trata de una acción.

2. Doble clic en el objeto de la condición / acción correspondiente.

3. Doble clic en la condición / acción que se desea.

4. Introduce los parámetros, si son necesarios.

De ahora en adelante, los eventos se describirán con el objeto, seguido por la condición / acción, seguido de los parámetros. Por ejemplo, el caso anterior quedaría como sigue:

Añadir condición System -> Every tick

Añadir acción Player -> Set angle towards position -> X: Mouse.X , Y: Mouse.Y

Hacer que el jugador dispare

Cuando el jugador haga un clic de ratón se debe disparar una bala. Esto se puede hacer con el Spawn an object action en el Player, que crea una nueva instancia de un objeto en la misma posición y ángulo. The Bullet movement que agregó anteriormente para hacerla ir hacia adelante. Haz el siguiente evento:

Condiciones: Mouse -> On click -> Left clicked (por defecto)

Acción: Player -> Spawn another object -> Para Objeto: , elije el objeto Bullet. Para la capa, poner 1 ("Main" es la capa 1 - recuerda que Construct 2 cuenta desde cero). Deja image point* en 0.

El evento debe parecerse a esto:

Si pruebas el juego, te darás cuenta de que las balas disparan desde el centro del jugador, en lugar de desde el extremo de la pistola. Vamos a arreglarlo mediante la colocación de un punto de imagen en el extremo de la pistola. (Un punto de imagen es sólo una posición en una imagen a partir de la cual se pueden generar objetos.)

Haz clic sobre el jugador, bien en el proyecto o en la barra de objetos y selecciona Editar animaciones (Edit animations).

El editor de imágenes para el jugador reaparece. Haz clic en la herramienta origin and image points:

... Y el diálogo de la herramienta se abrirá:

Observa como el punto "Origin" aparece como un punto rojo. Ese es el "punto caliente" o "punto de giro" del objeto. Si haces girar el objeto, éste girará pivotando sobre el origen. Queremos añadir otro punto de imagen nos indicará la salida de las balas, así que haz clic en el botón verde añadir . Un punto azul aparece - ese es nuestro punto de imagen. Haz clic izquierdo en el extremo de la pistola del jugador para colocar el punto de imagen allí:

Cierra el editor de imágenes. Haz doble clic en la accion Spawn an object que hemos añadido antes, y cambia el Image point a 1. (El origen es siempre el punto de imagen 0 y recuerda que Construct 2 cuenta desde cero.) El evento debe parecerse a la imagen de abajo - fíjate como ahora pone image point 1:

Prueba el juego. Las balas ahora disparan desde el extremo de la pistola! Las balas todavía no hacen daño. Sin embargo, ya puedes darte cuenta de que una vez que llegues a familiarizarte con el sistema de eventos, podrás añadir funcionalidades rápidamente.

Vamos a hacer que las balas puedan eliminar a los monstruos. Añadir el siguiente evento:

Condiciones: Bullet -> On collision with another object -> pick Monster .

Acción: Monster -> Destroy

Acción: Bullet -> Spawn another object -> Explosión , layer 1

Acción: Bullet -> Destroy

El efecto Explosión

Ejecutar el juego y tratar de disparar a un monstruo. Si atinamos a darle, veremos aparecer una explosión con un molesto borde negro!

Tranquilo que el juego no va a quedar con esta imagen tan fea. Vamos a corregir esto.

Clic en el objeto Explosión en la barra de objetos en la parte inferior derecha o en la barra del proyecto (en la misma zona que la barra de capas). Sus propiedades aparecen en la barra de propiedades de la izquierda. En la parte inferior, cambia su propiedad Effect a Additive. Ahora prueba el juego de nuevo.

Explosión con efecto aditivo:

¿Por qué funciona esto? Sin entrar en demasiados detalles, las imágenes comunes se "depositan" en la parte superior de la pantalla. Con el efecto aditivo, cada píxel es añadido (sumado) al píxel (del fondo de tiles)que está justo por debajo. El valor del pixel de color negro tiene valor cero, por lo que en este caso, no se ha añadido nada - el fondo queda como estaba. En el caso de colores más brillantes se refuerzan los colores del fondo, por lo que estos se presentarán con más intensidad. Esto nos resultará muy útil para explosiones o efectos de luz.

Haciendo monstruos un poco más inteligentes

De momento, los monstruos se limitan a avanzar hacia la derecha saliendo del layout. Vamos a hacer que su movimiento sea más interesante. En primer lugar, vamos a empezar por dotarles de un ángulo (dirección)inicial aleatorio.

Condiciones: System -> On start of Layout

Acción: Monster -> Set angle -> random(360)

Como no nos interesa que se salgan del área de juego para perderse por siempre jamás, vamos a procurar que se mantengan dentro del layout. Vamos a hacer que al intentar abandonar el layout vuelvan hacia su interior y además haremos que se dirijan hacia el jugador. Por lo tanto, se trata de conseguir dos cosas: por un lado, mantenerlos dentro del escenario y por otra si el jugador se mantuviese quieto, van a ir directamente a por él.

Condición: Monster -> Is outside layout

Acción: Monster -> Set angle toward position -> Para X , Player.X - para Y, Player.Y.

Prueba el juego. Si esperas un rato, verás como los monstruos se mantienen dentro del área de juego y que se mueven en todas direcciones. No es gran cosa como inteligencia artificial, pero algo es algo!

Ahora, supongamos que queremos que el monstruo sufra cinco impactos de bala antes de que muera, en lugar de morir al primero como hasta ahora. ¿Cómo podemos hacer eso? Si sólo hacemos uso de un contador de "Salud", entonces tan pronto como un monstruo muera, morirán todos los demás. En su lugar, tenemos que hacer que cada monstruo tenga su propio contador de salud . Para ello nos valdremos de las variables de instancia.

  • 2 Comments

  • Order by
Want to leave a comment? Login or Register an account!