GDScript: как получить все файлы внутри папки

В мире разработки игр на платформе Godot Engine, GDScript – язык программирования, который часто используется для создания логики и взаимодействия между объектами. Одним из распространенных запросов является необходимость получения списка всех файлов внутри определенной папки. В этой статье мы рассмотрим, как решить эту задачу с использованием GDScript.

Зачем нам это нужно?

Прежде чем мы начнем, давайте понимать, почему мы вообще должны получать список файлов внутри папки. Это может быть полезным, например, при создании системы управления ресурсами в игре, где нужно динамически загружать различные файлы, такие как текстуры, звуки и другие ресурсы.

Используем функцию list_dir()

Godot Engine предоставляет функцию list_dir(), которая возвращает массив файлов и папок внутри указанной директории. Рассмотрим пример кода:

func get_files_in_folder(folder_path: String) -> Array:
    var files = []
    
    # Проверяем, существует ли указанная папка
    if DirExists(folder_path):
        var dir = Directory.new()
        
        # Открываем папку
        if dir.open(folder_path) == OK:
            dir.list_dir_begin()
            
            # Проходим по всем элементам внутри папки
            while true:
                var file_name = dir.get_next()
                
                # Проверяем, достигли ли конца списка
                if file_name == "":
                    break
                
                # Добавляем файл в массив
                files.append(file_name)
            
            dir.list_dir_end()
        else:
            print("Ошибка открытия папки")
    else:
        print("Указанная папка не существует")
    
    return files

В этом примере get_files_in_folder — это функция, которая принимает путь к папке в качестве аргумента и возвращает массив файлов внутри этой папки.

Пример использования

var folder_path = "res://assets/textures"
var files_in_folder = get_files_in_folder(folder_path)

print("Файлы в папке", folder_path, ":", files_in_folder)

В этом примере мы указали путь к папке с текстурами в игре, вызвали функцию get_files_in_folder и вывели список файлов в консоль.

Заключение

Получение списка файлов внутри папки в GDScript может быть весьма полезным для управления ресурсами и динамической загрузки контента в вашей игре. Используя функцию list_dir(), вы можете легко получить необходимую информацию и интегрировать ее в ваш проект на Godot Engine. Надеемся, что эта статья поможет вам легко освоить этот аспект GDScript и сделает ваш процесс разработки более эффективным.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

один + 12 =

Прокрутить вверх