Godot Engine y C #03 - Un enemigo que nos dispare. Disparos temporizados. Una pantalla de bienvenida. Un personaje con dos animaciones.
Imágenes y proyecto disponibles en: https://github.com/ncabanes/cursosYou...
Entrega anterior (2/3): • Juegos con Godot y C# 02: Colisiones ...
Si lo intentas replicar desde Godot Engine 4, deberás tener presente lo siguiente:
Si obtienes un error al hacer "private EscenaDeJuego juego;", comprueba qué nombre le ha dado a la clase, en el momento de añadir el script. Si te aparece que se llama "public partial class escena_de_juego : Node2D", deberás escribir "private escena_de_juego juego;". Lo mismo ocurre cuando le asignas un valor: deberás usar "juego = GetNode[escena_de_juego]("/root/EscenaDeJuego");"
(la línea anterior no debería tener corchetes cuadrados, sino corchetes angulares, es decir el símbolo de "menor que" y el de "mayor que", pero YouTube no permite incluirlos en la descripción).
Si obtienes un error al hacer "Position += distancia.Normalized() * velocidad * delta;", recuerda que "delta" es de tipo "double" en Godot 4, así que tendrás que hacer un forzado de tipos a "float": "Position += distancia.Normalized() * velocidad * (float) delta;"
A la hora de crear el "ObjetoQueCae", recuerda que su componente "Sprite" ahora se llama "Sprite2D", y que, nuevamente, deberás forzar "delta" a dato "float".
Al forzar a que el objeto caiga cuando pulsemos una tecla, no te reconocerá "KeyList.Space". En Godot 4 hay que usar "Key.Space", y no hace falta forzarlo a entero: "if (Input.IsKeyPressed(Key.Space))"
Al contar tiempos, si tu variable es de tipo "float", deberás forzar el valor de "delta": "tiempoEspera += (float) delta;" y debes recordar que, para comprobar la Y de la posición del objeto que cae, debes teclearla en mayúsculas: "if (Position.Y ...".
En la pantalla de bienvenida, puedes cambiar el tamaño del CenterContainer modificando el componente "Size", dentro de su "Transform", que a la vez está dentro de "Layout". Es posible que el tamaño de la ventana de juego no sean 1000x600, sino 1152x648. Lo puedes comprobar desde el menú Proyecto, opción "Configuración del proyecto", en el apartado "Ventana". Siprefieres usar "anclas", deberías cambiar el "LayoutMode", para que no sea "Position" sino "Anchors".
En Godot 4 no se usa "ChangeScene" sino "ChangeSceneToFile", de modo que deberás hacer lo siguiente para lanzar el juego desde la pantalla de bienvenida: "GetTree().ChangeSceneToFile("res://escena_de_juego.tscn");"
En Godot 4, para usar un tipo de letra personalizado, no se crea una DynamicFont, sino un FontFile. La ruta hasta el fichero TTF se deberá indicar en la casilla "path", algo como: "tiposLetra/amstrad_cpc464.ttf"
Para la animación del personaje, como ya sabes, no se usará un AnimatedSprite, sino un AnimatedSprite2D. Eso cambiará también la forma de acceder a él desde código:
private AnimatedSprite2D sprite;
sprite = GetNode[AnimatedSprite2D]("AnimatedSprite2D");
(nuevamente, la línea anterior no debería tener corchetes cuadrados, sino corchetes angulares, es decir el símbolo de "menor que" y el de "mayor que", pero YouTube no permite incluirlos en la descripción).
Смотрите видео Juegos con Godot y C# 03: Perseguir, disparos, intro онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь Nacho Cabanes 11 Февраль 2023, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 487 раз и оно понравилось 18 людям.