Menu
CoddyTech

Arquivos externos

Parte da seção Programação orientada a objetos do Journey de GDScript da Coddy. Lição 1 de 65.

Programas reais são divididos em vários arquivos. Cada arquivo .gd é um script, e um script pode usar outro.

Escreva class_name no início de um script para dar a ele um nome global. Todos os outros scripts do projeto podem então usar esse nome diretamente, sem uma linha de importação:

# greeter.gd
class_name Greeter
extends RefCounted

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

static func cria uma função que você chama pelo nome do script, Greeter.greet("Ada"). extends RefCounted é a classe base simples para scripts que não são nós; as próximas lições explicam isso.

# main.gd
extends Node

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

O programa ainda começa em _ready() de main.gd. Os outros arquivos apenas definem coisas que main.gd usa.

O Godot nomeia arquivos em snake_case e o class_name em PascalCase: class_name Greeter fica em greeter.gd. Mantenha uma classe por arquivo.

Um script sem class_name pode ser carregado pelo caminho com preload():

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

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

Desafio

Fácil

Escreva a função estática greet em greeter.gd. Ela recebe o nome de um jogador e retorna Hello, NAME!. Quando o nome está vazio, ela retorna Hello, friend!.

O código fornecido lê quantos nomes vêm a seguir e, então, imprime Greeter.greet() para cada um. Para os nomes Ada e uma linha vazia, ele imprime:

Hello, Ada!
Hello, friend!

Seu código deve ficar em greeter.gd. main.gd contém o código de entrada/saída fornecido e não pode ser editado.

Experimente você mesmo

extends Node

func _ready():
	# Código de entrada/saída fornecido: mantenha-o como está
	var count := int(OS.read_string_from_stdin())
	for i in count:
		print(Greeter.greet(OS.read_string_from_stdin()))
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Programação orientada a objetos

Pratique por conta própria: Compilador de GDScript online