我如何检测一个精灵是否接触到另一个精灵?

本文关键字:精灵 是否 接触 另一个 一个 何检测 检测 | 更新日期: 2023-09-27 17:53:42

如何确定Sprite1是否位于Sprite2之上?当你用自己的精灵触摸另一个精灵时,我需要这个来切换关卡。我试着:

void OnCollisionEnter2D(Collision2D other)
{
    //code to run
}

但是这使得它碰到的所有东西都能运行代码。(

我如何检测一个精灵是否接触到另一个精灵?

你应该将包含oncollisioneneter的脚本附加到sprit1游戏对象中,在sprit2游戏对象中添加sp2或其他你想要的标签,然后在脚本中,当发生碰撞时,检查sprit1与sprit2碰撞的对象是否为sprit2,使用sprit2的标签属性进行检查,如

void OnCollisionEnter2D(Collision2D other)
{
    if(other.gameObject.tag == "sp2")
        {
          //put your change levelcode here
         }
}

你已经成功了一半。现在,每当精灵与另一个2D碰撞器发生碰撞时,你都要运行代码。然后你需要做的是确定碰撞器是否附加到我们想要触发代码的特定精灵上。

标记包含关卡出口的对象,并在命中时检查标记。

void OnCollisionEnter2D(Collision2D other)
{
    if(other.gameObject.tag == "levelExit")
    {
        Debug.Log("next level");
    }
}