如何更改脚本中的精灵?
How do I change sprites in scripts?
我正在尝试制作一款约会模拟游戏,将其作为编程方面的第一款简单游戏。我不知道如何更改脚本中的角色精灵。
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()
只需将 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 =
或 set_texture
分配新图像之前,texture
仍会引用之前的图像。 Gdscript在这方面和Python比较相似,所以我推荐看看Ned Batchelder的演讲Facts and myths about Python names and Values.
我正在尝试制作一款约会模拟游戏,将其作为编程方面的第一款简单游戏。我不知道如何更改脚本中的角色精灵。
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()
只需将 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 =
或 set_texture
分配新图像之前,texture
仍会引用之前的图像。 Gdscript在这方面和Python比较相似,所以我推荐看看Ned Batchelder的演讲Facts and myths about Python names and Values.