![]() |
Attention | Topic was automatically imported from the old Question2Answer platform. |
![]() |
Asked By | Sulucnal |
I have this code:
@onready var despawn_sprite: Sprite2D = $DespawnSprite
const SMALL_DESPAWN_TEXTURE : CompressedTexture2D = preload("res://assets/graphics/effects/small_despawn.png")
const SMALL_DESPAWN_HFRAMES : int = 5
const BIG_DESPAWN_TEXTURE : CompressedTexture2D = preload("res://assets/graphics/effects/big_despawn.png")
const BIG_DESPAWN_HFRAMES : int = 6
@export_enum("small_despawn", "big_despawn") var despawn_animation : String = "small_despawn":
set(value):
match value:
"small_despawn":
despawn_sprite.texture = SMALL_DESPAWN_TEXTURE
despawn_sprite.hframes = SMALL_DESPAWN_HFRAMES
"big_despawn":
despawn_sprite.texture = BIG_DESPAWN_TEXTURE
despawn_sprite.hframes = BIG_DESPAWN_HFRAMES
The texture of my despawn_sprite is set to small_despawn.png by default and things work just fine when I run my game with despawn_animation set to “small_despawn” in the editor. However, trying to select the “big_despawn” option crashes my game and gives me this error message:
Invalid set index 'texture' (on base: 'Nil') with value of type 'CompressedTexture2D'.
What am I doing wrong?