Menu
CoddyTech

Tệp bên ngoài

Thuộc phần Lập trình hướng đối tượng trong hành trình GDScript của Coddy. Bài học 1 trên 65.

Các chương trình thực tế được chia thành nhiều tệp. Mỗi tệp .gd là một script và một script có thể sử dụng script khác.

Viết class_name ở đầu tập lệnh để đặt tên toàn cục cho tập lệnh đó. Sau đó, mọi tập lệnh khác trong dự án đều có thể dùng trực tiếp tên đó mà không cần dòng import:

# greeter.gd
class_name Greeter
extends RefCounted

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

static func tạo ra một hàm mà bạn gọi thông qua tên tập lệnh, Greeter.greet("Ada"). extends RefCounted là lớp cơ sở đơn giản dành cho các tập lệnh không phải là nút; các bài học tiếp theo sẽ giải thích về nó.

# main.gd
extends Node

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

Chương trình vẫn bắt đầu trong _ready() của main.gd. Các tệp khác chỉ định nghĩa những thứ mà main.gd sử dụng.

Godot đặt tên tệp theo kiểu snake_case và class_name theo kiểu PascalCase: class_name Greeter nằm trong greeter.gd. Mỗi tệp chỉ nên có một lớp.

Một tập lệnh không có class_name có thể được tải bằng đường dẫn của nó với preload():

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

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

Thử thách

Dễ

Viết hàm tĩnh greet trong greeter.gd. Hàm nhận tên người chơi và trả về Hello, NAME!. Nếu tên trống, hàm trả về Hello, friend!.

Code được cung cấp đọc số lượng tên tiếp theo, rồi in ra Greeter.greet() cho từng tên. Với các tên Ada và một dòng trống, chương trình in ra:

Hello, Ada!
Hello, friend!

Code của bạn nằm trong greeter.gd. main.gd chứa code đầu vào/đầu ra được cung cấp và bạn không thể chỉnh sửa tệp này.

Tự làm thử

extends Node

func _ready():
	# Đoạn code đầu vào/đầu ra đã có sẵn: giữ nguyên
	var count := int(OS.read_string_from_stdin())
	for i in count:
		print(Greeter.greet(OS.read_string_from_stdin()))
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch GDScript online