RandomNumberGenerator
继承
简要描述
用于生成伪随机数的类。
描述
RandomNumberGenerator是用于生成伪随机数的类。当前使用的是[url=http://www.pcg-random.org/]PCG32[/url]。
注意:以下的算法是一个实现细节。因此,它理论上不会依赖IdeaXR版本之间可复制的随机流。
要基于时间相关的种子生成随机浮点数(在给定范围内):
var rng = RandomNumberGenerator.new()
func _ready():
rng.randomize()
var my_random_number = rng.randf_range(-10.0,10.0)
成员
类型 | 属性名 | 默认值 |
---|---|---|
int | seed | -6398989897141750821 |
方法
返回值类型 | 方法名称 |
---|---|
float | randf() |
float | randf_range(from: float, to: float) |
float | randfn(mean: float = 0.0, deviation: float = 1.0) |
int | randi() |
int | randi_range(from: int, to: int) |
void | randomize() |
常量
成员说明
- int seed
Default | -6398989897141750821 |
---|---|
setter | set_seed(value) |
getter | get_seed |
方法说明
- randf randf()
生成0.0
和1.0
(含)之间的伪随机浮点数。
- randf_range randf_range(from: float, to: float)
在from
和to
(含)之间生成伪随机浮点数。
- randfn randfn(mean: float = 0.0, deviation: float = 1.0)
使用具有指定平均值
和标准的Box-Muller变换,生成[url=https://en.wikipedia.org/wiki/Normal_distribution]正态分布的[/url]伪随机数偏差
。这也称为高斯分布。
- randi randi()
在0
和4294967295
(含)之间生成一个伪随机的32位无符号整数。
- randi_range randi_range(from: int, to: int)
在from
和to
(含)之间生成一个伪随机的32位带符号整数。
- randomize randomize()
为生成器设置基于时间的种子。