unity3d 为什么我的游戏没有正确地显示“Package picked up”当我去了gameObject标记触发器和标记为“Package”?

sczxawaw  于 2023-04-12  发布在  其他
关注(0)|答案(1)|浏览(196)

当我开车经过触发器时,我在控制台中没有得到任何响应。在包中我有Rigidbody2D,碰撞脚本,碰撞器2D,它被标记为触发器。在车上我有碰撞器2D,Rigidbody2D和我的运动脚本。我对编码非常陌生,所以我的小眼睛不能告诉我什么错了:(

void OnCollisionEnter2D(Collision2D other)
{
    Debug.Log("Oof!");   
}
    void OnTriggerEnter2D(Collider2D other)
{
    if (other.gameObject.CompareTag("Package"))
    {
        Debug.Log("Package picked up");
    }       
}
trnvg8h3

trnvg8h31#

此碰撞脚本正在比较与其碰撞的对象具有“Package”标记。
if(other.gameObject.CompareTag(“Package”))
从你告诉我的,这个脚本是目前的包对象。所以它是一个包检查,如果它与另一个“包”冲突…

解决方案是将脚本移动到汽车,因为汽车将与包裹碰撞。

附言:只有在满足“if”条件时,才会记录“Package picked up”消息。包裹标签是“Package”吗?

相关问题