- un nodo solo puede tener un script, aunque se pueden comunicar entre nodos con distintos scripts.
- func_ready(): se ejecuta una vez.
- func_process(delta): se ejecuta una vez por frame.
- operadores
and
pregunta respuesta salida
v v v
v f f
f v f
f f f
or
pregunta respuesta salida
v v v
v f f
f v f
f f f
not
pregunta salida
f v
v f
- Los comentarios se ponen con una almohadilla #.
- Las variables son espacios de almacenamiento en memoria que pueden almacenar cualquier valor y puede cambiar en cualquier momento. Para escribir una variable usamos la palabra reservada var, un espacio y el nombre de la variable y después el valor.
- las constantes son como las variables pero que no pueden cambiar. para escribir una constante usamos la palabra reservada const un espacio y el nombre de la constante y después el valor. de normal los nombres de las constantes son en mayúscula y de las variables en minúscula. las constantes se tienen que poner un valor al asignarlas y ese valor ya no se podrá cambiar, las variables por su contra no hacen falta ponerle el valor en el momento.
- si no queremos poner en una función ningún dato en el momento y ponerlo después podemos usar la palabra reservada pass, así no dará error la función.
- los enums sólo pueden almacenar números enteros. debemos ponerla palabra reservada enum seguido de unas llaves{} y dentro de las llaves separado con comas los nombre de los enums que queremos, si no ponemos valores a esos nombres cogerán los números empezando por el cero. Si queremos poner los datos, sería poner el nombre espacio igual y ya el número.
- en programación el primer número nunca es el 1, es el 0 por lo que si tu quieres contar hasta el 4 no contará 1,2,3 y 4 si no que contara 0,1,2 y 3.
- tipos de datos,
- null- vacio
- bool- verdadero o falso
- int-entero, números positivos o negativos de -2 elevado a la 63 a 2 elevado a la 63 positivo.
- float- número con decimales. 64 bits también.
- string- letras. se pueden concatenar frases con el símbolo +.
- vectores.
- vector 2d- x, y.- x izquierda y derecha.- y arriba y abajo.
- vector 3d- x, y, z. la z es la profundidad
- vector 4d- x, y, z, w. la w es de colores. podríamos acceder a un valor en todos los casos poniendo el nombre del vector.x o .y o .z o .w
- arrays es una estructura de datos. permite almacenar datos de diferentes tipos. matrices o tablas. var my_array : Array = [‘text’, 5,4,3]
- Los arrays sirven por ejemplo para crear niveles.
- Para leer datos de un array, cada dato de un array se llama elemento y muchos elementos forman un tamaño o rango. Cada elemento tiene un número llamado índice para identificarlo y acceder a su valor. El primer índice es siempre el 0. Si tienes 4 índices, para llegar al último, tendrías que empezar por el 0,1,2,3, por lo tanto el último número no será el 4 sino el 3. ejemplo: var my_array : Array = [‘text’, 5,4,3]
para acceder al número 3, deberías hacer lo siguiente: print (my_array[3] ).
- para acceder al primer valor podemos usar el 0 o el front: print (my_array.front() )
- para acceder al último valor de un array podemos usar el -1 o back: print (my_array.back() )
- para agregar datos: para poner datos al final podemos usar dos maneras.
- my_array.append(‘el valor que quieras poner’)
- my_array.push_back(‘datos’).
- también se puede crear un dato añadido de otro array.
- var my_array : Array =[‘text’, 5, 4, 3 ]
var my_array2 : Array =[‘text2’, 99 ]
my_array.append_array(my_array2)
print(my_array)
salida[«text», 5, 4, 3, «text2», 99 ]
- para agregar al principio del array es con push.front. my_array.push_front(‘dato que poner’)
- para agregar en cualquier posición usamos insert. ponemos el lugar que queremos poner el dato y el nombre del nuevo dato: my_array.insert(1, ‘dato nuevo’)
- para eliminar datos: para eliminar todos los datos del array se hace con clear. my_array.clear()
- con la palabra erase eliminaremos el que queramos con ese valor. osea eliminarás el valor con el mismo nombre que pongas en el paréntesis. my_array.erase(2), en este caso eliminará el primer dato 2 que vea, si no hubiera ningún dato con un 2 no pasaría nada.
- Si queremos buscar por su índice, se hace con remove_at: my_array.remove_at(0), en este caso en el ejemplo que usamos todo el rato de my_array eliminará el dato «text».
- también se puede eliminar igual que el anterior con pop_at, hace lo mismo pero podemos borrar el último dato poniendo números negativos. por ejemplo -1 borrará el último dato.
- pop_back() eliminará el último dato del array y pop_front() eliminará el primer elemento.
- los datos diccionarios. Son estructuras de datos que permiten almacenar cualquier tipo de dato, desde cadenas de texto o caracteres hasta números enteros, con y sin decimales, arrays e incluso otros diccionarios. var my_diccionario: Dictionary = {
«User1″:»Mike»,
«User2″:»John»,
«User3″:»Mary»,
}
- Los diccionarios se pueden ver como una colección de llaves y cada llave tiene un valor.
- las llaves no están ordenadas y no hay llaves repetidas.
- la única manera de acceder a un valor es a través de su llave.
- Los diccionarios sirven para guardar muchos datos dentro de una variable, para crear tablas de precios o tablas de excel. también para guardar datos de nuestros programas, traducir juegos o hacer que nuestros juegos sean multiplataforma y se conecten a internet.
- para crearlo se recomienda que los datos de la izquierda sean letras y los de la derecha como se quiera.
- Para obtener el valor de un diccionario se puede hacer con get: print(my_diccionario.get(User2) ).
- constantes: son valores que no cambian, solo se pueden leer, no se pueden modificar, es igual que una variable pero que no pueden cambiar.
- son útiles para evitar que cambies los valores por error.
- Se recomienda crearlas con un nombre en mayúsculas, ya que se pueden identificar mejor si tienen el nombre en mayúsculas.
- el número pi es una constante por ejemplo.
- funciona poniendo la palabra const en vez de var.
- Se pueden hacer operaciones igual que una variable pero sin cambiar su valor.
- enums: los enums son una forma de agrupar constantes relacionadas, son conocidas también como enumeraciones o listas específicas.
- Los enums sirven para almacenar varias constantes del tipo int como si fueran un diccionario, como por ejemplo las opciones de un menú, o los días de la semana.
- ejemplo: podríamos crear un menú por ejemplo con constantes.
- const OPTION_1 = 0
- const OPTION_2 = 1
- const OPTION_3 = 2
- Así siempre tendremos que poner el nombre const, si quisiéramos hacerlo con un enum seria:
- enum My_Options{OPTION_1, OPTION_2, OPTION_3}
- Si queremos obtener un valor del enum podemos sacarlo con un punto: print( My_Options.OPTION_2 )
- Si queremos cambiar valores de un enum hay que cambiarlo de donde declares el enum porque como hemos dicho muchas veces las constantes no pueden cambiar su valor, por lo que habría que cambiar su valor desde el principio.
- Para obtener el tamaño de un enum se hace con size: print (My_options.size()).
- variables export: son variables que se pueden modificar desde el editor de godot, desde el inspector saldrá una opción para modificar la variable desde allí igual que en Unity. sirven para modificar las variables sin tocar el código, eso es bueno porque los diseñadores podrían cambiar esos parámetros sin tocar el código.
- para crear estas variables solo hay que poner la palabra @export delante de la variable: @export var my_string : String = «my name is».
- podemos poner una nota que saldría en el mismo inspector al rellenar la variable que queramos con placeholder: @export_placeholder(«texto en la casilla») var my_string : string = «». cuando escribas en la línea de texto desaparecerá el placeholder.
- podríamos hacer igual bool poniendo bool en vez de string y igual a int, float, vector2, etc.
- tambien se podria hacer con arrays haciendo la misma sintaxi poniendo array y lo s datos los vas poniendo en la sección que te aparecerá en el inspector de godot, igual que diccionarios
- para crear un export enum tendrias que crear el enum en el mismo export: @export_enum (OPTION_1, OPTION_2, OPTION_3) var OPTIONS : int.
- siempre tienes que agregarle un tipo de dato, sino dará error, o int, o bool, etc.
- variables export_range: son para exportar datos pero con un rango.
- @export_range(min, max) var number : int
- ciclo for: for es una estructura de control de flujo, repite un conjunto de instrucciones o datos y realiza una acción en cada uno de ellos.
- la i es diminutivo de iteración.
- for i in 3:
print(i)
- for i in 3:
- con range(rango).
- for i in range (3):
- print(i)
- asi saldria el mismo resultado que arriba, pero lo podemos hacer con rango
- for i in range (1, 3):
- print(i)
- range con step(pasos). podemos configurar cuantos pasos queremos que avance.
- for i in range (2, 8, 2):
- print(i)
- con este ejemplo empezaría desde el 2 dato, hasta el octavo y contará de dos en dos.
- también se puede hacer con strings. y con arrays.
- la i es diminutivo de iteración.
- Funciones: son bloques de código que realizan una tarea específica y pueden ser llamadas o ejecutadas cuando se necesiten. Las funciones sirven para organizar y reutilizar el código. la sintaxis es el nombre func, después el nombre de la función paréntesis y dos puntos. para usar la función solo hay que poner el nombre de la función más los paréntesis.
- se pueden crear variables en la función.
- Dentro del paréntesis de una función se pueden poner parámetros que después habrá que devolver.
- func _ready():
- print_message(7)
- func print_message(message)
- print (message)
- return message
- La función ready es propia de godot, nosotros creamos la print_message y le damos el parámetro message. En la función ready llamamos a la función que hemos creado y le damos el valor 7. siempre en la función que creamos hay que devolver el parámetro.
- func _ready():
- podemos especificar también el tipo de dato que queremos en la función añadiendo dos puntos.
- func sum(number_1: int, number_2: int):
- setters y getters: son métodos que nos permiten acceder y modificar los atributos(propiedades o variables) de una clase.
- getters: son los métodos que permiten acceder al valor de un atributo se denomina getters(obtener en inglés)
- setters: son lo métodos que asignan el valor de un atributo(establecer o fijar en inglés)
- var my_number =10:
- get: return my_number
- set(new value):
- my_number = new_value
- la sintaxi es escribimos una variable seguida de dos puntos y justo debajo el get. en este ejemplo el get solo devuelve el valor de my_number y con el get cambiamos el nombre de la variable, osea la variable en sí.
- var my_number =10:
- Los setters y getters sirven para manipular los datos antes de asignar el valor a una variable.
- también sirven para hacer validaciones.
- y también sirven para ejecutar funciones mientras se cambia el valor de una variable.
- para cambiar la pantalla que sale al principio del juego lo podemos hacer yendo a project/project settings/boot splash
- En la opción show image si la desactivamos quitamos la imagen de godot, pero si queremos cambiarla por otra necesitamos tener esa opción activada pero tendremos que cambiar la imagen en la sección image de abajo.
Deja un comentario