我有此代码:
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*/
}
这是我的树层次结构:
红色是碰撞的物体。绿色的是我要以字符串格式获取其名称的一个。
首先看一下KinematicBody.move_and_collide
的文档:
返回一个KinematicCollision,其中包含有关碰撞的信息。
KinematicBody.move_and_collide
的文档列出了许多字段,其中一个是KinematicCollision
:
碰撞体。
请注意,主体是拥有碰撞形状的KinematicCollision
,不是碰撞形状本身(后者存储在collider
中)。这意味着在您的示例中collider
将为PhysicsBody
,因此我们可以这样做:
collider_shape
我自己找到了解决方案,这是可行的:
collider