Ir al contenido principal

Godot 2D, Golpea al Ratón

Debes golpearlo 3 veces para ganar, si aciertas un golpe ganas un punto, si fallas pierdes un punto, acumula tres para ganar.




Antes de comenzar, las ilustraciones, la tipografía, y el dibujo vectorial están aquí.
http://www.mediafire.com/file/i44pa4sg0l94fgo/Ilustraciones_del_Rat%25C3%25B3n.zip/file

Para el personaje usaremos:
"Area2D" como nodo raíz, le ponemos el nombre de: "Ratón".
"Sprite" como hijo de "Area2D".
"CollisionShape2D", como hermano de "Sprite".




Colocamos la imagen.




La forma de la colisión es una capsula rotada 90 grados sobre la cabeza del ratón.




Instrucciones:



Para el escondite necesitamos:
"Area2D" como nodo raíz, le ponemos el nombre de: "Madriguera".
"CollisionShape2D", como hijo de "Madriguera".
"Sprite", como hijo de "madriguera", por nombre tiene, "Hoyo"
Enlazamos a nuestro personaje.
"Sprite", como hijo de "madriguera", por nombre tiene, "Tierra"

A los nodos de tipo "Sprite" le colocamos las imágenes a las que hace alusión el nombre.




En la "Madriguera" conectamos:
la señal "mouse_entered" a la función "no_salgas_aqui()",
la señal "mouse_exited" a la función "puedes_salir_aqui()".




Agregamos la madriguera a un grupo que nombraremos "Refugio".




La forma de la colisión es circular y grande.




Ordenes:



Para el maso requerimos:
"Area2D" como nodo raíz, le ponemos el nombre de: "Maso".
"Sprite" como hijo de "Area2D".
"CollisionShape2D", como hermano de "Sprite".




En el "Maso" conectamos:
la señal "area_entered" a la función "veo_raton()",
la señal "area_exited" a la función "no_veo_raton()".




Colocamos la imagen de maso.




La forma de la colisión es un rectángulo que hemos movido a la izquierda (es el área que ocupa el maso cundo esta boca abajo).




Creamos una "Acción" en el "Mapa de entradas", llamaremos a la acción "ui_clic" y le asignaremos el botón izquierdo del ratón.




Su guion:



Ahora el campo:
"Area2D" como nodo raíz, le ponemos el nombre de: "Campo".
"Sprite" como hijo de "Campo", le ponemos el nombre de: "Fondo".
"Timer", como hermano de "Fondo".
Enlazamos tantas madrigueras como deseemos.
Colocamos un mensaje.

Al nodo "Fondo" le ponemos la imagen que lleva el mismo nombre.



Seleccionamos el nodo "Timer", establecemos cada cuantos segundos aparecerá un ratón, indicamos que espesara al iniciar el programa.




Conectamos la señal "timeout" a la función (seleccionar.)




Para el mensaje:
"Node2D" como nodo raíz, le ponemos el nombre de: "Mensaje".
"Label" como hijo de "Mensaje", introducimos el texto: "Tu ganas" .
"Button" como hijo de "Mensaje", introducimos el texto: "De nuevo".




Agregamos nuestra propia tipografía al "Label", con un tamaño de "100".




Seleccionamos el botón y conectamos la señal
"pressed" a la función "de_nuevo()"


Ocultamos el mensaje.




El script del "Campo".




¡Listo!

Te invitamos a descargar.
http://www.mediafire.com/file/5dwd7grx89zqf13/Raton.zip/file

Nota:
Por que no use el "AnimationPlayer" para el movimiento del ratón, por que al acelerar la velocidad de la animación y recibir el primer golpe, la colisión se desactivaba inexplicablemente, no pude encontrar la solución a esto, por eso disidí mover el ratón con código en vez de usar el nodo de animación.

Comentarios

Entradas más populares de este blog

Godot 2D, Burro castigado

Es un juego de cartas similar al juego de UNO. Reglas: Comenzamos por repartir cuatro cartas a cada jugador. 1. El primer jugador tira una carta, la que quiera. 2. Los jugadores de la derecha deben tirar solo una carta del mismo palo. 3. Quien halla sacado la carta mas alta gana la ronda, ahora tira la carta que quiera. 4. Se repiten los pasos 2 y 3. Si no tienes una carta del mismo palo debes tomar cartas de la baraja hasta que puedas tirar una, si se acaban las cartas de la baraja cedes tu turno al de la derecha, gana el jugador que se quede sin cartas. Las ilustraciones y dibujo vectorial aquí están: http://www.mediafire.com/file/oisuslw4o2n0oac/Ilustraciones_de_Burro_castigado.zip/file Comenzamos por crear una carta, en una nueva escena colocamos el nodo: "TextureButton" como nodo raíz, le ponemos el nombre de: "Carta". En el apartado "Textures", "Normal" colocamos un "Nuevo AtlasTexture". Clic en ...

Godot 3D, Disparar

Apuntas y disparas. Comenzamos con la bala, debido a la amplia variedad de funciones que puede cumplir, mostramos como hacer una bala con los 3 nodos: "RigidBody", "Area" y "KinematicBody". Bala "RigidBody" Es la bala que estamos usando en la imagen de portada, ya que esta constantemente cayendo no alcanza a llegar al centro de la mira, ademas debe cumplir con la tarea de mover las cajas (debe tener masa y por ende gravedad). Bala "Area" Esta bala no mueve a las cajas, las atraviesa, es bueno registrando las cosas que toca. Bala "KinematicBody" Esta bala si mueve a las cajas pero llegando al suelo se desliza, lo cual puedes corregir con código extra no mostrado aquí. Aveces debido a lo rápido que es una bala ni siquiera se molestan en hacerla, simplemente: Si se presiona el gatillo y hay a que darle, a ese objetivo directamente le activan la función de bajar vida sin esperar la col...

Godot 3D, Alinear con el terreno

Gira para alinearse con el suelo. Vista ortogonal izquierda con las formas de colisión visibles: Para el personaje: "KinematicBody" como nodo raíz, lo nombramos: "Personaje" "MeshInstance" como hijo de "Personaje" "KinematicBody" como hijo de "MeshInstance" "CollisionShape" como hijo de "KinematicBody" "CollisionShape" como hijo de "Personaje" "RayCast" como hijo de "Personaje", lo nombramos: "Morro" "RayCast" como hijo de "Personaje", lo nombramos: "Cola" "RayCast" como hijo de "Personaje", lo nombramos: "Izquierda" "RayCast" como hijo de "Personaje", lo nombramos: "Derecha". En el nodo raíz, cambiamos la capa y máscara de colisión al bit 1. Clic en el nodo "MeshInstace", le añadimos su malla. Ambos nodos "Coll...