Как повторить столкновение в единстве? - PullRequest
0 голосов
/ 31 мая 2019

У меня есть птица и цветок, если птица сталкивается с цветком, цветок уничтожает и растет другой цветок, иначе цветок падает и птица уходит.

Проблема в том, что недавно созданный цветокне сталкивается с птицей и просто падает.как я могу решить это?

public SpriteRenderer bird;
public SpriteRenderer flower;

private void OnCollisionEnter2D(Collision2D collision)
{
    if (collision.gameObject.CompareTag("bird"))
    {
        Destroy(this.gameObject);
        float x = Random.Range(-8f, 8f);
        Instantiate(flower, new Vector3(x, 6, 0), Quaternion.identity);
    }
    else if (collision.gameObject.CompareTag("flower"))
    {
        Destroy(bird);
    }
}

1 Ответ

3 голосов
/ 31 мая 2019

Вы создаете экземпляр цветка, используя Spriterenderer вместо GameObject.Попробуйте изменить public SpriteRenderer flower; на public GameObject flower; и создать префаб из цветочного объекта.

Если вы не знаете, как создать префаб, все, что вам нужно сделать, это перетащить GameObject из вашей сцены вкарта активов.Если вам все еще неясно, вот ссылка на документацию Unity: https://docs.unity3d.com/Manual/CreatingPrefabs.html

После того, как вы создали префаб, вы можете перетащить префаб на скрипт в цветок GameObject.Тогда это должно сработать.

Если у вас есть еще вопросы, обязательно задавайте их!

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