将 GDScript 与 Godot 相机结合使用。我有一个 Camera2D 对象来处理视口变换。
我希望让相机移动,调整屏幕分辨率并放大和缩小。我想确保当相机缩小时它们不能移动到相机的视角之外。
玩家也是一个 KinematicBody2D 对象。我正在考虑让玩家 testMove() 并确定他们的新位置是否会被 Camera2D 生成的矩形包围的一件事。
目前,我正在使用面向节点的方法制作纸牌游戏(想想《炉石传说》)。这意味着,每张卡牌都是一个节点,要将卡牌移动到指定位置(例如,玩家的手或战斗场),我需要在父节点之间移动子节点。
例如,要将一张牌从我的手牌移到战斗场,我会在手牌上调用remove_child(),在战斗场上调用add_child()。
现在,当涉及到让卡片传送到任何地方时,这非常有效。但是,我希望它们能够顺利地从一个父节点移动到另一个父节点。实现这一目标的最佳方法是什么?或者除了使用节点之外还有更好的方法来组织我的场景吗?
我一直在尝试以这种方式从单例脚本发送信号:
if(Input.is_action_just_pressed("ui_select")):
emit_signal("update_inventory")
#More Code underneath -
Run Code Online (Sandbox Code Playgroud)
我已经在显示我的库存项目的 UI 元素上声明了信号。像这样 -
signal update_inventory
Run Code Online (Sandbox Code Playgroud)
以及通过编辑器连接到它的函数的声明 -
func _on_Inventory_update_inventory():
#My code here
Run Code Online (Sandbox Code Playgroud)
我试图理解一个类似的问题(我认为是这样?) 这里。我完全无法理解。我看到有人在里面说 - 信号是对象本地的。他们,真的吗?如果是,为什么不正常调用该函数?信号点会被打败,不是吗?
我也需要一种方法来解决信号问题。也许我没有正确配置它。我哪里错了?
如果需要,我非常乐意提供更多信息。
这将是代码中给我带来错误的部分。
\nfor y in range(rows):\n var row = []\n for x in range(columns):\n var label = Button.new()\n row.append(label)\n self.add_child(label)\n label.group = "letters" # Asignar el grupo "letters" a los botones\n label.connect("pressed", self, "_on_LetterPressed", [x, y]) # Conectar la se\xc3\xb1al de presionado\n grid.append(row)\nRun Code Online (Sandbox Code Playgroud)\n在 Godot 3 中,连接工作正常,但 label.groups 不起作用,我该如何在 Godot 4 中做到这一点?
\n