Как мне изменить спрайты в скриптах? - PullRequest
0 голосов
/ 17 октября 2018

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

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 Ответ

0 голосов
/ 17 октября 2018

Просто установите для свойства 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 .

...