【发布时间】:2023-01-01 12:15:26
【问题描述】:
在我的 Jump and Run 游戏中,当你从后面撞到敌人时,你不会受到伤害 但是当你从它的前面击打它时它会起作用。我正在为敌人和玩家使用 Kinematicbody2d,并为检查与玩家的碰撞使用 area2d。敌人比玩家慢,所以如果你从后面击中它,你也会慢,但你可以在图像中看到碰撞器没有接触。 click to see the picture
我试着弄乱设置或让对撞机更大,但没有任何效果
【问题讨论】:
在我的 Jump and Run 游戏中,当你从后面撞到敌人时,你不会受到伤害 但是当你从它的前面击打它时它会起作用。我正在为敌人和玩家使用 Kinematicbody2d,并为检查与玩家的碰撞使用 area2d。敌人比玩家慢,所以如果你从后面击中它,你也会慢,但你可以在图像中看到碰撞器没有接触。 click to see the picture
我试着弄乱设置或让对撞机更大,但没有任何效果
【问题讨论】:
您不需要使用 Area2D 来检测两个运动学实体之间的碰撞。请改用 get_slide_collision:
for i in get_slide_count():
var collision = get_slide_collision(i)
print("Collided with: ", collision.collider.name)
【讨论】: