Menu
CoddyTech

Archivos externos

Parte de la sección Programación orientada a objetos del Journey de GDScript de Coddy. Lección 1 de 65.

Los programas reales se dividen en varios archivos. Cada archivo .gd es un script, y un script puede usar otro.

Escribe class_name en la parte superior de un script para darle un nombre global. Cualquier otro script del proyecto puede usar ese nombre directamente, sin una línea de importación:

# greeter.gd
class_name Greeter
extends RefCounted

static func greet(player_name: String) -> String:
	return "Hello, " + player_name + "!"

static func define una función a la que llamas mediante el nombre del script, Greeter.greet("Ada"). extends RefCounted es la clase base sencilla para los scripts que no son nodos; las próximas lecciones lo explican.

# main.gd
extends Node

func _ready():
	print(Greeter.greet("Ada")) # Hello, Ada!

El programa sigue iniciándose en _ready() de main.gd. Los demás archivos solo definen cosas que usa main.gd.

Godot nombra los archivos en snake_case y el class_name en PascalCase: class_name Greeter está en greeter.gd. Mantén una clase por archivo.

Un script sin class_name se puede cargar mediante su ruta con preload():

const Helpers = preload("res://helpers.gd")

func _ready():
	print(Helpers.shout("hi")) # ¡HOLA!
challenge icon

Desafío

Fácil

Escribe la función estática greet en greeter.gd. Toma un nombre de jugador y devuelve Hello, NAME!. Cuando el nombre está vacío, devuelve Hello, friend!.

El código proporcionado lee cuántos nombres siguen y después imprime Greeter.greet() para cada uno. Para los nombres Ada y una línea vacía, imprime:

Hello, Ada!
Hello, friend!

Tu código va en greeter.gd. main.gd contiene el código de entrada/salida proporcionado y no se puede editar.

Pruébalo tú mismo

extends Node

func _ready():
	# Código de entrada/salida proporcionado: mantenlo tal como está
	var count := int(OS.read_string_from_stdin())
	for i in count:
		print(Greeter.greet(OS.read_string_from_stdin()))
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Programación orientada a objetos

Practica por tu cuenta: Compilador de GDScript online