首页 > 解决方案 > 如何更改脚本中的精灵?

问题描述

我正在尝试将约会模拟作为简单的第一个游戏编程方式。我不知道如何更改脚本中的角色精灵。

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()

标签: godotgdscript

解决方案


只需将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分配新图像之前, 仍将引用前一个图像。Gdscript 在这方面与 Python 比较相似,所以我建议看一下 Ned Batchelder关于 Python 名称和值的事实和神话texture =set_texture


推荐阅读