U1SL3——Unity的随机数和委托

Unity的随机数

注意 在Unity里Random​​类 不是 C#自带的Random​,这个Random​隶属于UnityEngine​命名空间

1
2
3
int randomNum = Random.Range(0, 100);   //注意,使用随机数 int重载 规则是 左包含 右不包含!!!
print(randomNum);
float randomNumF = Random.Range(1.1f, 99.9f); //注意,使用随机数 float重载 规则是 左和右都包含!!!

注意!

使用随机数 int​ 重载 规则是 左包含 右不包含!!!
使用随机数 float​ 重载 规则是 左和右都包含!!!

注意:如果还想使用C#自带的随机数,必须要指明System​命名空间

1
2
System.Random r = new System.Random();
r.Next(0, 100);

Unity的自带委托

UnityEngine​命名空间下,也有新的自带委托,但是没有提供有返回值的委托

1
2
3
4
5
using UnityEngine.Events

//Unity自带的委托
UnityAction uac = () => { }; //无参无返回值
UnityAction<string> uac1 = (i) => { }; //有参无返回值

C#自带的委托,在Unity里也可以使用,使用时要指明System命名空间

1
2
3
4
System.Action ac = () => { print("123"); };            //无参无返回值
System.Action<int, float> ac2 = (i, f) => { }; //有参无返回值
System.Func<int> fun1 = () => { return 0; }; //无参有返回值
System.Func<int, string> fun2 = (i) => { return "123"; }; //有参有返回值,最后一个是返回值的类型