unity 将数组顺序打乱随机排序
时间: 2024-09-10 19:22:11 浏览: 59
在Unity中,如果你想要将一个数组的顺序随机打乱,可以使用System.Random类来生成随机数。这里是一个实现的方法:
```csharp
using System;
using System.Collections.Generic;
public static class ArrayUtils
{
public static void Shuffle<T>(this IList<T> list)
{
var rng = new Random();
int n = list.Count;
while (n > 1)
{
n--;
int k = rng.Next(n + 1);
T value = list[k];
list[k] = list[n];
list[n] = value;
}
}
}
```
你可以在你的脚本中这样使用这个方法:
```csharp
List<int> myArray = new List<int> { 1, 2, 3, 4, 5 };
myArray.Shuffle();
// 此时myArray中的元素顺序已经被随机打乱
```
上述方法中,我们创建了一个泛型扩展方法`Shuffle`,它可以用于任何实现了`IList<T>`接口的集合。这个方法通过随机选择未排序的元素并将它们移动到数组的末尾来实现数组的随机排序。这样重复操作直到数组完全被打乱。
阅读全文