Traduciendo teoría de Godot4 - parte2 -

 Traduciendo https://www.kodeco.com/37604834-godot-4-getting-started#toc-anchor-011

(De Scripting a --)

Parte anterior en Español
de Nodos y Escenas a Scripting https://aprendiendogodot4.blogspot.com/2023/03/traduciendo-teoria-de-godot4.html

Scripting / Programando

La creación de scripts es una habilidad fundamental cuando se trabaja con cualquier motor de videojuego, incluido Godot. Un script es un conjunto de comandos que le dicen al motor qué hacer y puede ampliar su funcionalidad. En Godot, los scripts se pueden adjuntar a los nodos para agregarles nuevas funciones y comportamientos.

Por ejemplo, un nodo Sprite2D solo puede mostrar una textura, pero con un script puede seguir el cursor, saltar o desaparecer. Los scripts como estos se pueden usar para llamar a las web APIs , calcular fórmulas y realizar otras acciones necesarias para crear un juego o una aplicación.

Godot admite dos lenguajes de programación principales para scripts: GDScript y C#. Además, Godot permite el uso de GDExtension, un método de alto rendimiento para expandir el motor con bibliotecas escritas en C o C++. Este tutorial se centrará únicamente en GDScript, ya que es un "lenguaje orientado a objetos" diseñado específicamente para Godot.
[nota, Yo discrepo, diría que es mas un lenguaje orientado a eventos que a objetos. ] 

 Su sintaxis es similar a Python y se usa ampliamente en la documentación y tutoriales de Godot.

Tu primer Script

Es tradición comenzar cada introducción a un lenguaje de programación con un "Hola mundo", pero para este ejemplo, los nodos te dirán su nombre para saludarte en el mundo de Godot.

Para empezar, abra la escena del icono nuevamente haciendo clic en su pestaña en la parte superior o haciendo clic en su archivo de escena en el panel del sistema de archivos. Ahora seleccione el nodo Icono a través del panel Escena y haga clic en el botón de secuencia de comandos en la parte superior derecha del panel Escena, parece un pergamino con un signo más verde.

Un botón de un pergamino está resaltado

Esto abre la ventana Adjuntar script de nodo .

Adjuntar ventana de script de nodo

De forma predeterminada, se creará un nuevo GDScript que se basa en el tipo de nodo seleccionado, Sprite2D . Se debe cambiar la ruta donde se ubicará el script, así que haga clic en el botón de carpeta junto a la propiedad Ruta . En la ventana que se abre, suba un directorio con la flecha hacia arriba en la parte superior izquierda y cree una nueva carpeta llamada "scripts" en el directorio raíz del proyecto.

GIF de la creación de una nueva carpeta de scripts

Ahora haga clic en el botón Abrir en la parte inferior para elegir la carpeta de secuencias de comandos como la ubicación de su nueva secuencia de comandos. De vuelta en la ventana Adjuntar script de nodo, haga clic en el botón Crear en la parte inferior para crear un nuevo script llamado icon.gd. Esto abrirá el script en el editor de código incorporado de Godot automáticamente:


extends Sprite2d # Llamado cuando el nodo ingresa al árbol de escena por primera vez.
func _ready ():
pass # Reemplazar con el cuerpo de la función. # Llamado a cada cuadro. 'delta' es el tiempo transcurrido desde el cuadro anterior.
func _process ( delta ):
pass

Sin profundizar demasiado en las secuencias de comandos, esto es lo que debe saber sobre este código:

  • extends Sprite2d en la parte superior hace que este script pueda acceder a todas las propiedades del nodo Sprite2D , como su textura y transformación.
  • func _ready() es una función que el motor llama una vez al comienzo de la vida útil del nodo.
  • _process El motor llama a la función en cada cuadro.
  • pass esta palabra clave no hace nada aquí excepto salir de la funcion. Actúa como marcadores de posición para su propio código.

GDScript usa tabulaciones para agrupar funciones y declaraciones. Estos aparecen en el editor de código como >|.

Se resalta un símbolo

Es importante tener esto en cuenta, ya que es posible que obtenga un error que diga algo similar a 

 “Expected indented block after function declaration.”

"Bloque con sangría esperado después de la declaración de la función".
si olvidó agregar una tabulación o eliminar una por accidente.

Se muestra un error, la línea seleccionada es de color rojo

Con esta pequeña advertencia aclarada, es hora de finalmente agregar su propio código.

Reemplace el
pass en la func _ready():  con:

print( "Hello, I´m " , nombre)

El método print toma uno o más argumentos y los imprime en la consola de salida. 

La variable nombre es parte de cada nodo; Es el nombre que le diste a través del panel de Escenas anteriormente: Icono .

Nota : ¡Aquí hay un consejo útil! Puede abrir la documentación de las funciones, métodos y variables integrados manteniendo presionada la tecla CTRL/ (y Boton izquierdo del raton BIR)  y haciendo clic en la palabra en el editor de código.

Ahora guarde el script presionando CTRL/CMD+S y ejecute la escena del icono presionando F6 . A continuación, minimice o arrastre la ventana del juego para que pueda ver el editor de Godot y eche un vistazo a la ventana de salida en la parte inferior. Debería haber una nueva entrada de texto que diga "Hola, soy Icon".

Hola, soy texto de icono

¡Buen trabajo! Acabas de agregar y ejecutar tu primer script en Godot. Presiona el botón Stop Running Project en la parte superior derecha para cerrar la ventana del juego.
Para agregar algo para ver en la escena principal , harás que los íconos giren. Para hacer eso, elimine la palabra clave pass de la funcion _process y reemplácela con:

rotar (delta)

El rotatemétodo es parte de Node2D (la clase de nodo principal de Sprite2D ) y aplica la rotación a un nodo. deltaEl motor pasa la variable a la _processfunción, es el tiempo en segundos entre el cuadro anterior y el actual. Al utilizar un tiempo delta como valor de rotación en lugar de un valor constante como 5, por ejemplo, la rotación será suave e independiente de la velocidad de fotogramas.

En los juegos de antaño, la velocidad de un juego estaba ligada a la velocidad de la CPU, lo que significaba que algunos juegos apenas se podían jugar porque todo pasaba muy rápido. Mientras tanto, ese mismo juego en una CPU lenta haría que todo se moviera a cámara lenta. El uso del tiempo delta garantiza un cambio constante y confiable en el valor basado en el tiempo en lugar de la velocidad del procesador. No se preocupe si este concepto todavía es vago para usted en este momento, solo recuerde usar el delta cuando necesite que algo cambie constantemente con el tiempo.

Ahora guarde la secuencia de comandos usando el ahora familiar atajo CTRL/CMD+S y presione F5 para ejecutar la escena principal, el juego . Si todo salió bien, verá que los íconos que agregó anteriormente giran.

GIF de cuatro iconos girando

Mientras tanto, si echas un vistazo a la ventana de salida en el editor, verás que los iconos te dicen su nombre.

Hola texto multiplicado por cuatro

¡Eso concluye este tutorial! Espero que te hayas divertido mientras das tus primeros pasos con Godot, ya que espero escribir más sobre él en el futuro.

¿A dónde ir desde aquí?

¡Gracias por leer este tutorial hasta el final! Puede descargar el proyecto final usando el enlace en la parte superior o inferior de esta página.
En este tutorial, aprendiste las partes más cruciales de Godot para comenzar a crear tus propios juegos. Por supuesto, hay mucho más por descubrir y dominar, así que aquí hay algunos recursos útiles para continuar su viaje:


Comentarios

Entradas populares de este blog

Godot4 Project Settings > Display Windows

Tipos de Nodos en Godot4

Organización de escena