0

我在这个游戏对象上附加了 pollygon collider 2d。

在此处输入图像描述

这个游戏对象是另一个游戏对象的父对象(只是小圆圈)。

我希望那个小圆圈在 polygon collider 的某个地方随机生成。

我试过这样的事情:

private void GetBounds()
{
    polygonCollider = transform.parent.gameObject.GetComponent<PolygonCollider2D>();
    bounds = polygonCollider.bounds;
    
}

public void TargetSetPosition()
{
    x = Random.Range(bounds.min.x, bounds.max.x);
    y = Random.Range(bounds.min.y, bounds.max.y);

    transform.localPosition = new Vector2(x, y);
}
private void Start()
{
    GetBounds();
    TargetSetPosition();
}

这个脚本附在那个小圆圈上。在 80% 的情况下是好的结果,但有时它会变得很奇怪,如下所示:

在此处输入图像描述

有人可以帮我吗,因为我几乎尝试了所有东西。

4

1 回答 1

1

bounds = polygonCollider.bounds正在获取边界框的边界。所以在你的第二张照片中,球在界内。

为了让它在你的对象的对撞机内,你需要尝试别的东西,像这样

于 2021-02-27T13:06:00.450 回答