Las estructuras de control las utilizamos para ejecutar código de forma condicional. Es decir, dependiendo del valor de una expresión ejecutamos un código u otro.
Para ello en GDScript utilizamos el "if" igual que en muchos lenguajes :
if (x>0):
print("Entro en el codigo")
Como funciona? Si x es mayor que 0 ejecutaremos el código, en este caso mostraremos el mensaje dentro del print, en caso contrario no haremos nada.
En el caso anterior hemos utilizado simplemente una condición de control pero si no se cumple no se ejecuta ningún código. En muchos casos querremos ejecutar un codigo en caso de un valor y otro código en caso de otro valor. Para ello utilizaremos el "if" y el "else" :
if (x>0):
print("X es mayor que 0")
else:
print("X es menor o igual a 0")
En este caso si X es mayor que 0 mostraremos un mensaje y en caso que sea menor o igual mostraremos otro mensaje. Esta sintaxis nos puede ir muy bien cuando nuestra condición solo puede tener dos valores distintos.
Pero, ¿que pasa si nuestra condición puede tener más de dos valores? ¿o si queremos validar diferentes valores?
Para ese caso podemos utilizar el "if" y el "else" combinado con "elif":
if (x>0):
print("X es mayor que 0")
elif (x<0):
print("X es menor que 0")
else:
print("X es igual a 0")
En este caso "elif" es como hace un else if de otros idiomas, es decir indicar otra condición, quedando el else como la condición por defecto si no se cumples las anteriores condiciones.