_Afra 的博客_会思考的猴子_CSDN博客-unity,Arduino,Processing领域博主
不要跟我犟,我知道这个方式不是最好的
调用示例:
public void SetNextCanClick()
{int randomCanClickIndex = GetNonredundantRandomIndex(1, 8);
// 这个0.5 是 小怪运动到那个位置 才可以互动
this.Delay(0.5f, () =>
{
UIPXPPlayerBtns.GetChild(randomCanClickIndex).GetComponent<MyUIPXPPlayerBtn>().SetCanClick();
});
}
int lastRandomIndex = 0;
int randomIndex = 0;
int GetNonredundantRandomIndex(int UnityEngineRandomMin, int UnityEngineRandomMax)
{
// 这样写可以调节让每次生成的值的差距
//while (Math.Abs(randomIndex - lastRandomIndex) <= 2)
while (randomIndex == lastRandomIndex)
{
randomIndex = UnityEngine.Random.Range(UnityEngineRandomMin, UnityEngineRandomMax);
}
Debug.LogError("randomIndex" + randomIndex);
lastRandomIndex = randomIndex;
return randomIndex;
}