Я новичок в Unity и пытаюсь написать 2D-программу, в которой у меня есть несколько кругов на экране, и они меняют направление каждый раз, когда сталкиваются с другим кругом или полем.
Вот код, который я написал, когда круг сталкивается с полем, в методе Update:
transform.Translate(direction * speed * Time.deltaTime);
if (transform.position.y < GameManager.bottomLeft.y + radius && direction.y < 0)
{
direction.y = -direction.y;
}
if(transform.position.y > GameManager.topRight.y - radius && direction.y > 0)
{
direction.y = -direction.y;
}
if(transform.position.x < GameManager.bottomLeft.x + radius && direction.x < 0)
{
direction.x = -direction.x;
}
if(transform.position.x > GameManager.topRight.x - radius && direction.x > 0)
{
direction.x = -direction.x;
}
направление определяется как new Vector2(Random.value, Random.value)
в Start
методе. Сейчас я читаю в Интернете, что, если два круга встречаются, я могу реализовать поведение в
private void OnTriggerEnter2D(Collider2D collision)
{
if(collision.tag == "Ball")
{
}
}
Как я могу написать код, чтобы два круга меняли направление при столкновении?