相关疑难解决方法(0)

Godot 监听来自同一场景的多个实例的信号

我有以下场景:玩家敌人攻击

当攻击与敌人发生碰撞时,敌人会发出“onHit”信号。

播放器监听该信号并反弹。

这一切都很好,但现在如果我复制敌人,因此有多个敌人场景,我如何收听所有敌人的信号?有没有办法获取场景的所有实例并连接到它们的所有信号?有没有更好的方法将此消息发送回玩家?

我对戈多很陌生,所以任何建议都非常有帮助!谢谢。

godot

10
推荐指数
1
解决办法
6299
查看次数

我什么时候应该为 2D 平台游戏角色使用 KinematicBody 或 RigidBody?

哪种物理体最适合,比如玩家角色、敌人和收藏品。StaticBodies 非常不同且简单,但当我们必须在 KinematicBody 或 RigidBody 之间进行选择时,它会非常令人困惑。我最近正在制作一款 2D 平台游戏,当我制作敌人时,我突然意识到我不知道哪个身体是最好的……我查了一下互联网,但解释非常模糊。我问任何知道的人,这两种机构之间有什么区别以及何时使用其中一种而不是另一种?

我为主要玩家使用了 KinematicBody2D,但我不知道什么对敌人和收藏品最有效,特别是因为我的敌人将涉及复杂的动画和攻击序列,而硬币将有一些基本的悬停和转动动画。另外,我认为我的玩家没有按照预期与游戏中的对象进行交互。如果有人能对此给出一个简单的解释,并且提供一个简单的平台元素列表以及要使用的最佳物理对象,我将是最好的......

2d game-physics godot

4
推荐指数
1
解决办法
4531
查看次数

Area2D 不触发 Godot 中的对象

这是我的代码:(只是为了让你知道我是一个初学者,我这周才开始,尽管我确实了解其他语言和游戏引擎)

func _on_Area2D_area_entered(area):
    get_parent().get_node("Level 1/Area2D/Flag").rotation_degrees += 1
Run Code Online (Sandbox Code Playgroud)

我试图实现的是,玩家游戏对象将查看它是否在旗帜的区域中,如果是,旗帜就会旋转。

我不确定问题出在哪里。我认为它可能在第二行。如果我的设置错误,我在下面提供了屏幕截图。我查看了有关同一主题的其他密切问题,但他们没有回答我的问题。

在此输入图像描述

“玩家”游戏对象是带有包含检测(如果位于二维区域)的脚本的游戏对象。

godot

3
推荐指数
1
解决办法
3713
查看次数

在Godot 3D(版本3.4.4)中使用body_entered和body_exited的示例

我正在尝试制作一个传送部件,因此我需要检测身体何时与区域碰撞。我尝试使用body_enter/body_enteredbody_exit/ body_exited,但我不知道如何它们到底是如何工作的以及我需要在哪里插入它们。我可以有使用它的示例代码吗?\n我的节点路径:

\n
RigidBody\n\xe2\x94\x9c CollisionShape\n\xe2\x94\x9c MeshInstance\n\xe2\x94\x9c Area\n\xe2\x94\x9c \xe2\x94\x9c CollisionShape\n
Run Code Online (Sandbox Code Playgroud)\n

collision gdscript godot

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

godot ×4

2d ×1

collision ×1

game-physics ×1

gdscript ×1