Как мне изменить спрайты в скриптах?

Я пытаюсь сделать симуляцию знакомств простой в программировании. Я не знаю, как изменить спрайты персонажей внутри скриптов.

character_sprite.gd

extends Sprite

var char_tex = load("res://Sprites/Lu2.png") 

func _ready():
    set_texture(char_tex)

func _input(event):
    if event is InputEventMouseButton:
        char_tex = load("res://Sprites/Lu1.png")
        update()

1 ответ

Просто установите texture Свойство для желаемой текстуры. Вы также можете предварительно загрузить текстуры, а затем просто переключать их, а не загружать снова.

extends Sprite

var char_tex = load("res://Sprites/Lu2.png") 

func _ready():
    set_process_input(true)
    texture = char_tex

func _input(event):
    if event is InputEventMouseButton:
        texture = load("res://Sprites/Lu1.png")

Проблема в вашем примере состояла в том, что вы только присвоили новое изображение char_tex переменная, но это не меняет текстуру спрайта. texture будет по-прежнему ссылаться на предыдущее изображение, пока вы не назначите новое с texture = или же set_texture, В этом отношении Gdscript относительно похож на Python, поэтому я рекомендую взглянуть на выступление Неда Батчелдера " Факты и мифы об именах и значениях Python".

Другие вопросы по тегам