@uvora

Почему Godot выдает ошибку?

есть объект coin задача спавнить его только 1 раз за игру, даже после того как снова зашел на сцену.
это должно делаться с помощью индексов которые есть у каждой coin
в сцене есть объект который их спавнит:
extends Node

var coin_asset = preload("res://scenes/coin.tscn")
var pos = [Vector2(560,160)]

func _ready():
	for i in range(0,1):
		var coin = coin_asset.instantiate();
		coin.position = pos[i];
		if (Global.check_one(Global.coins,i)):
			add_child(coin);
			coin.stored = i;

coin:
extends Area2D

var stored : int = 0

func _on_body_entered(_body):
	queue_free();
	Global.make_zero(Global.coins,stored);
	Global.increment();

и global который следит за всем:
extends Node

var coins = [1,1,1,1]

var money = 0

func increment():
	money+=1;

func make_zero(Array, int):
	Array[int] = 0;

func check_one(Array, int):
	return Array[int] == 1;


пишет ошибку
667b06d61ba18664130364.png
  • Вопрос задан
  • 33 просмотра
Пригласить эксперта
Ответы на вопрос 1
Hetkinsonn
@Hetkinsonn
Эщкереееее
Сделайте переменную экспортной. Перед var stored напишите export/@export при версии годот 3.х и 4.х соответственно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы