我正尝试制作一个约会模拟游戏,以作为第一个易于编程的简单游戏。我不知道如何更改脚本中的字符精灵。
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()
答案 0 :(得分:0)
只需将texture
属性设置为所需的纹理即可。您还可以preload纹理,然后仅切换它们而不必再次加载它们。
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相对相似,因此我建议看一下Ned Batchelder的演讲Facts and myths about Python names and Values。