I need to make the simplest class in order to store parameters of objects of the same type. I created a script my_class.gd like this:
class_name My_Class
var a: int
var b: string
var c: float
In another script, I declare a variable with the type of my class:
var my_var: My_Class
And when I want to assign a value to any parameter,
my_var.a = 100
It gives me an error:
Invalid set index 'a' (on base: 'Nil') with value of type 'int'.
what am I doing wrong?
Мне нужно сделать простейший класс для того, чтобы хранить параметры однотипных объектов. Я создал скрипт my_class.gd по типу:
class_name My_Class
var a : int
var b : string
var c : float
В другом же скрипьте я объявляю переменную с типом своего класса:
var my_var : My_Class
И когда я хочу присвоить какому-либо параметру значение,
my_var.a = 100
Мне выдаёт ошибку:
Invalid set index 'a' (on base: 'Nil') with value of type 'int'.
что я делаю не так?
Решение
Чтобы это работало, нужно объявлять переменную не так:
var my_var : My_Class
А вот так:
var my_var = My_Class.new()