Lista de reproducción completa del tutorial de Godot sobre cómo crear un Action-RPG en Godot, creada por MakerTech
https://www.youtube.com/playlist?list=PLMQtM2GgbPEVuTgD4Ln17ombTg6EahSLr
Vamos agregar colisiones al enemigo, trastear con las animaciones para que el colisionador coincida con la forma del sprite y crear una HurtBox para que el player.detecte las colisiones del enemigo entre otras cosas.
Vamos al inspector del CharacterBody2D, modificamos Canvas Item > Ordering > Z Index a 1, para evitar que el enemigo se ponga por detrás del TitleMapAgregamos un CollisionShape2D que cubra al personaje.
Dentro del editor, vamos a las capas de colisión, esto se encuentra en el inspector del nodo CharacterBody2D, CollisionObject2D > Collsion > Layer y pulsamos a los tres puntos y pulsamos Edit Layer Names.
Lo dejamos de esta forma.
Ponemos el Layer y Mask a 2.
Vamos a la escena del Mundo, vamos a modificar las Physics Layers del TileMap del mundo.
Seleccionamos 1 y 2 para Collision Layer y Collision Mask, de esta forma las colisiones también afectara a los enemigos.
Vamos a la escena del Player y le vamos a crear un Area2D llamado HurtBox con un Collisión Shape2D y modificaremos el CollisionObect2D > Collision > layer (1) y Mask(1,2) del CharacterBody2D
Vamos hacer lo mismo para el enemigo que hemos creado, pero esta vez le vamos a llamar hitBox
Debemos reemplazar AnimatedSprite2D por AnimationPlayer y crear un Sprite2D para el sprite inicial, como hicimos al crear al jugador. Esta vez, haremos que el colisionador se adapte a la animación.
No olvidemos modificar el script para que hagan referencia al AnimationPlayer.
Agregaremos los nodos de Node2D > Transform > Position y Node2D > Transform > Scale del CollisionShape2D al AnimationPlayer para trabajar con su posición y tamaño en cada frame
Una vez terminemos de agregar los nodos, modificaremos Update Mode de Continous a Discrete de Position y Scale, así la transición se actualizara al frame en lugar de hacer una transición de un frame a otro.
Finalmente, vamos crear un signal al Hurtbox del Jugador.
Agregaremos este código para comprobar si funcionan las colisiones contra los enemigos.
Pues ya esta, ya se esta poniendo densa la cosa y apenas hemos empezado.
No hay comentarios:
Publicar un comentario