【问题标题】:How do I change sprites in scripts?如何更改脚本中的精灵?
【发布时间】:2019-03-21 14:25:19
【问题描述】:

我正在尝试制作一款约会模拟游戏,作为一款简单易用的第一款游戏。我不知道如何更改脚本中的角色精灵。

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

【问题讨论】:

    标签: godot gdscript


    【解决方案1】:

    只需将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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      • 2012-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多