Godot如何获取碰撞器父级名称(C#godot mono v3.1.2稳定)

问题描述 投票:0回答:2

我有此代码:

    var Collide = MoveAndCollide(new Vector2(speed.y * (float)Math.Cos(teta), speed.y * (float)Math.Sin(teta)));
    if (Collide != null)
    {
        /* I need to get colliding objects parent node name here*/
    }

这是我的树层次结构:

Hyerarchy

红色是碰撞的物体。绿色的是我要以字符串格式获取其名称的一个。

c# mono collision godot collider
2个回答
0
投票

首先看一下KinematicBody.move_and_collide的文档:

返回一个KinematicCollision,其中包含有关碰撞的信息。

KinematicBody.move_and_collide的文档列出了许多字段,其中一个是KinematicCollision

碰撞体。

请注意,主体是拥有碰撞形状的KinematicCollision不是碰撞形状本身(后者存储在collider中)。这意味着在您的示例中collider将为PhysicsBody,因此我们可以这样做:

collider_shape

0
投票

我自己找到了解决方案,这是可行的:

collider
© www.soinside.com 2019 - 2024. All rights reserved.