Unity C # проверить цвет спрайта OnCollisionEnter2d () - PullRequest
0 голосов
/ 16 октября 2019

Итак, я пытался проверить цвет спрайта при столкновении. Если цвета одинаковые, то ничего не происходит, но если они разные, один из них должен быть уничтожен.

Вот так я меняю цвет спрайта:

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

А это мой OnColl. Метод до сих пор:

  public void OnCollisionEnter2D(Collision2D collision)
    {

    }

1 Ответ

0 голосов
/ 16 октября 2019

Вы можете сделать следующее:

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 s. BoxCollider2D может быть достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...