一个连接到信号的函数如何引用多个相似的节点?[godot]



以下是我为世界节点编写的一些代码,用于更新关于收集了什么能力和还剩多少生命的一些标签。游戏的运作方式是,当你与敌人发生碰撞时,敌人会给你能力,而他们已经死亡。我的想法是,使用信号只会让我";"联系人";每个函数一个节点(据我所知(。那么,我如何让_on_green_enemy_AbilityCollected函数与游戏中产生/存在的每个敌人关联呢?

extends Node2D
var lives = 3
var ability = ""
onready var livesCounter = get_node("CanvasLayer/Lives")
onready var currentAbility = get_node("CanvasLayer/CurrentAbility")
func _on_player_minuslife():
lives -= 1
func _on_green_enemy_AbilityCollected(node):
ability = get_node(node).get("ability")
func _process(delta):
var livestext = "LIVES LEFT: " + String(lives)
livesCounter.text = livestext
var Abilitytext = "CURRENT ABILITY: " + ability
currentAbility.text = Abilitytext

好的,所以我绕过了这个问题,而不是把代码放在敌人身上,而是把它放在玩家身上,并使用move_and_closure返回的内容从与玩家碰撞的节点中获取能力变量的名称。

最新更新