首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >戈多调试窗口不触发area2d信号

戈多调试窗口不触发area2d信号
EN

Stack Overflow用户
提问于 2021-03-16 06:00:24
回答 2查看 228关注 0票数 0

关于到底发生了什么的视频

规格如下:

  • 显示记录为2560x1080@60
  • 显示窗口脱离屏幕3840x2160@24 the (也用60 the测试)
  • Windows 10
  • GPU Nvidia 970 GTX

这周刚开始学习戈多,因为这种奇怪的行为浪费了很多时间。

戈多的具体情况:

  • 形状和物体的比例尺没有改变(不是为了扰乱物理)。
  • 首先尝试创建一个实体类,它扩展了KinematicBody2D,以便在我的游戏中创建敌人的实例。现在只需要使用虚拟块来测试碰撞是否确实有效(由于视频中发生的情况,在此停止)。
  • 有一个方形纹理的大虚拟方块被说成实体,与一个巨大的Y大小的碰撞仅仅是为了检验事物。
  • 我想触发信号的area2d是字符前面的小矩形。

当调试窗口在另一个显示器上时,是否有什么东西是我应该知道的,导致信号只触发?我是否应该将调试窗口移到另一个显示,并相信游戏会工作?

代码段

在我的动画控制器中创建Area2D

代码语言:javascript
复制
func _create_shape_with_collision(s : Shape2D, parentNode : Node) -> Node:
    var ret = Area2D.new()
    ret.connect('body_entered', self, '_check_body_entered')
    var c = CollisionShape2D.new()
    c.shape = s
    parentNode.add_child(ret)
    c.disabled = true
    c.name = 'collision_shape'
    ret.add_child(c)
    return ret

信号函数

代码语言:javascript
复制
func _check_body_entered(body : Node):
    print(body.name)

PS:尝试在Godot的界面中键入一些帮助自动完成的内容,但是我创建的类不能正常工作。

PS2:在戈多的reddit页面上发布了同样的信息,希望能有更好的可见度

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-16 18:50:49

因为@Theraot为在Godot的Github页面上编写问题铺平了道路,所以我能够确定上述错误的原因,同时创建了一个最小的项目。

实际上,它与代码无关,而是与项目设置有关。物理FPS设置为60,而我的辅助屏幕能够捕获事件,因为VSYNC在默认情况下也是打开的(以刷新速率限制FPS,辅助屏幕为24 60)。

将物理FPS提高到120 (此时为空白)使信号在所有显示器上工作。

会乐意接受一个更好的答案,解释改变这样的数字(对设备等造成的压力)的影响,如果这是一种糟糕的做法,或者是否有另一种方式为Area2Ds或PhysicsBody2Ds配置单个更快的滴答。由于我目前缺乏知识/研究,所以无法写出这样的答案。在这一点上试图写出它将是一种诡辩。

由于我只是在编写游戏设计文档时编写了一些基本的游戏元素,所以到目前为止,它对我来说是很好的。

编辑:

在用户@Theraot的洞察之后,我忽略了不同的_process和_physics_process是如何工作的;对于我的用例,我所做的大部分工作应该在_physics_process中,这样我就可以将引擎的物理FPS恢复到默认值。

票数 0
EN

Stack Overflow用户

发布于 2021-03-16 14:21:58

确保在Area2D节点中有匹配的碰撞层和掩码。

Shape2D是一种资源,这意味着如果不创建.new(),那么所有CollisionShape2D都使用相同的形状实例。如果有人显式地释放了它,那么它就不再适用于每个人了(因此,如果您意外地分配了一个空形状,请尝试打印)。当CollisionShape2D准备就绪时,在分配not之后重新调整大小有一些奇怪之处。但是,您也有可能不应该存在的c.disabled = true

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66649829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档