【发布时间】:2022-01-20 23:56:42
【问题描述】:
游戏对象在某些平台对象上随机生成。我想避免这两个不同的游戏对象在同一个确切位置产生(money2 应该改变它的位置)。
代码如下:
void Start()
{
int randMoney = Random.Range(0, 8);
Vector3 moneyPos = transform.position;
moneyPos.y += 0.5f;
if (randMoney < 1)
{
GameObject moneyInstance = Instantiate(money, moneyPos, money.transform.rotation);
moneyInstance.transform.SetParent(gameObject.transform);
}
int randMoney2 = Random.Range(0, 8);
Vector3 money2Pos = transform.position;
money2Pos.y += 0.5f;
if (randMoney2 < 1)
{
GameObject money2Instance = Instantiate(money2, money2Pos, money2.transform.rotation);
money2Instance.transform.SetParent(gameObject.transform);
}
if (money2Pos == moneyPos)
{
//where gameobject2s position should change
}
}
感谢您抽出宝贵时间!
【问题讨论】:
-
检查位置是否相同/太接近并继续选择一个新的随机位置,直到找到一个空闲的位置?
-
哦,我想现在我明白了 .. 只需检查第一个硬币是否已经生成,然后跳过第二部分 .. 我认为这就是您要问的对吗?
-
是的,完全正确。感谢您的回复!
标签: c# android unity3d position gameobject