c#检查Sprite OnCollisionEnter2d()的颜色

时间:2019-10-16 16:49:17

标签: c# unity3d

所以我一直在尝试检查碰撞时精灵的颜色。如果颜色相同,则什么也不会发生,但是如果颜色不同,则应销毁其中一种。

这就是我改变精灵颜色的方法:

Color newColor = new Color(0.68f, 0.88f, 0.33f);
                    m_spriteRenderer.color = newColor;

这是我的OnColl。到目前为止的方法:

  public void OnCollisionEnter2D(Collision2D collision)
    {

    }

1 个答案:

答案 0 :(得分:0)

您可以按照以下步骤进行操作

public void OnCollisionEnter2D(Collision2D collision)
{
    if (collision.gameObject.GetComponent<SpriteRenderer>().color != m_spriteRenderer.color)
        Destroy(gameObject); // Note1
}

注意1 :您说one of them should get destroyed,所以您可以这样做

Destroy(collision.gameObject);

取决于您的需求。


别忘了向两个 GameObject 添加对撞机。 BoxCollider2D可能就足够了。