Ir al contenido principal

Godot 2D, Rompecabezas

Un clásico rompecabezas.




Las ilustraciones:
https://www.mediafire.com/file/oj9wxxpcs1ub44r/Ilustraciones_de_Rompecabezas.zip/file

Comenzamos por crear una pieza con los nodos:
"Node2D" como nodo raíz, le ponemos el nombre de: "pieza1", le añadimos un script
"TextureRect" como hijo de "pieza1", conectamos la señal "gui_input" a la función "_eventos"
"Area2D" como hijo de "pieza1"
"CollisionShape2D" como hijo de "Area2D", le añadimos una colisión rectangular de 20x20







Ahora la parte en la que se colocan las piezas:
"Node2D" como nodo raíz, le ponemos el nombre de: "Imagen", le añadimos un script
"Sprite" como hijo de "Imagen", le ponemos el nombre de: "Fondo", le añadimos su textura
"Node2D" como hijo de "Imagen", le ponemos el nombre de: "Mascaras"
"Sprite" como hijo de "Mascaras", le ponemos el nombre de: "mascara1", añadimos textura




Continuamos agregando de forma manual los nodos "mascara2", mascara3
, hasta concluir.




El código:





Visualización de variables del anterior código:




Ahora una mesa:
"Node2D" como nodo raíz, le ponemos el nombre de: "Mesa", le añadimos un script
enlazamos el nodo "Imagen" como hijo de "Mesa"
"Control" como hijo de "Mesa", le ponemos el nombre de: "Area"

Posicionamos y damos tamaño al nodo "Area", es dentro de este donde de forma aleatoria se colocaran las piezas del rompecabezas.





Ahora la escena principal:
"Node2D" como nodo raíz, le ponemos el nombre de: "Inicio", le añadimos un script
"Sprite" como hijo de "Inico", le ponemos el nombre de: "Fondo", le añadimos su textura
"Button" como hijo de "Inicio"







¡Listo!
https://www.mediafire.com/file/u5ndgsv0c2sgcw8/Rompecabezas.zip/file


Nota:
Si quieres ver con mas claridad el trabajo de los códigos, antes de correr el juego activa la casilla de: "Ver Formas de Colisión".




¿Por que usas el nodo "TextureRect" para colocar la imagen?
Por que hace una doble función: mostrar una imágen y detectar si el cursor esta solo encima de este nodo.

Aquí encontraras otra forma de mover nodos con el cursor usando el nodo "Area2D".
https://nodosgodot.blogspot.com/2019/11/godot-2d-arrastrar-formas-de-colision.html?view=sidebar

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, Selección y movimiento

Para mover lo objetos con selección presionas clic derecho. Es una extensión de lo que se vio en esta publicación: https://nodosgodot.blogspot.com/2019/12/godot-3d-cuadro-de-seleccion.html?view=sidebar Aunado a esta otra: https://nodosgodot.blogspot.com/2019/12/godot-3d-clic-y-movimiento.html?view=sidebar Ahora comenzamos por el personaje, le sumaremos las siguientes instrucciones de movimiento. Quedando así: Al nodo "Cuadro", hacemos que al soltar el clic llame una función dentro del abuelo. El resultado de lo anterior con lo que ya tenemos: Hacemos que la cámara le diga al nodo padre la posición del clic izquierdo en el suelo. Sumamos y obtenemos. Ahora el padre lo ordena todo (el abuelo del nodo "Cuadro"): ¡Listo! Bajar de la nube: http://www.mediafire.com/file/nrv4ay05thgdzwv/Seleccion_y_movmiento.zip/file Nota: Ordena hasta un máximo de 10 unidades, pero puedes ampl...