#godot
Вопрос:
onready var healthBar : TextureProgress = get_node("HealthBar")
func update_health_bar (curHp, maxHp):
healthBar.max_value = maxHp
healthBar.value = curHp
Ошибка: Неверно задан индекс «max_value» (на основе: «Nil») со значением типа «int».
Ответ №1:
ваша панель здоровья была пустой, когда вы звонили update_health_bar
.
Это может быть связано с тем, что у вас нет дочернего узла под названием «Панель работоспособности» или это не TextureProgress
узел.
Можете ли вы отправить скриншот своего дерева сцен ?
Ответ №2:
Когда я сталкиваюсь с такой ошибкой, обычно это происходит из-за того, что я динамически создаю экземпляр сцены с помощью сценариев, и чтобы обойти null
ошибку, я создаю функцию инициализации для назначения узла.
Поэтому в вашем случае, после создания экземпляра вашей сцены и добавления ее в дерево сцен, вызовите инициализацию на вашей сцене, где функция инициализации выглядит следующим образом:
func init():
healthBar=get_node("HealthBar")
Может быть, это сработает.