Godot Onready var не работает и выдает ошибку Неожиданный «Идентификатор» в теле класса
пытаюсь использовать onready var для запуска raycast для воспроизведения анимации для NPC, но даже если луч работает, он не воспроизводит анимацию
code:
extends Node3D
enum
{
Attack1,
Death1,
Idle,
Pose,
Walk
}
var state = Idle
onready var raycast = $RayCast3D
onready var ap = $"maxdamage_zombie-low-poly"
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if raycast.is_colliding():
state = Attack1
else:
state = Idle
match state:
Attack1:
ap.play("Attack1")
Death1:
ap.play("Death1")
Idle:
ap.play("Idle")
Pose:
ap.play("Pose")
Walk:
ap.play("Walk")
Объяснение/Альтернативный простой ответ о том, как исправить код в объяснении начального/среднего уровняyour text
1 ответ
Я исправил эту проблему, поставив «@» передonready
.
@onready var raycast = $RayCast3D
Мне показалось, что «onready» без «@» не работает после обновления до Godot 4.