Интересно, как мне создать сценарий, содержащий методы, которые я хочу использовать в нескольких сценариях. Я не думаю, что хочу создавать для него глобальный синглтон, потому что я не храню никаких глобальных данных, которые будут сохраняться в нескольких сценах. У меня есть коллекция полезных функций, больше ничего.
GDScript. Как создать свою собственную библиотеку в Godot и получить к ней доступ из сценариев игры
Ответы (1)
Возможный способ создать свою собственную библиотеку - просто создать новый скрипт, который ничего не расширяет или extends Object
. Используйте ключевое слово static
перед вашими функциями.
в my_lib.gd
extends Object
static func my_static_function():
print("hello from my_lib.gd")
в сценарии игры, вы можете получить к нему доступ с помощью функции preload
const my_library = preload("res://my_lib.gd")
func test():
my_library.my_static_function()
person
Andruha VUho
schedule
25.07.2020
Обычно рекомендуется использовать
extends Reference
(или extends Resource
, если вам нужна сериализация) вместо extends Object
, поскольку объекты не выполняют собственное управление памятью. В отличие от ссылки и ресурса, ссылки на объект, хранящийся в переменной, могут стать недействительными без предупреждения.
- person Calinou; 27.07.2020
Я бы дал my_lib.gd
class_name MyLib
, и это позволило бы вызывать функции без предварительной загрузки. Постоянные переменные и статические функции доступны без создания экземпляра объекта.
- person NeZvers; 18.01.2021