跳到主要内容

RandomNumberGenerator

继承

Reference

简要描述

用于生成伪随机数的类。

描述

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.010.0)

成员

类型属性名默认值
intseed-6398989897141750821

方法

返回值类型方法名称
floatrandf()
floatrandf_range(from: float, to: float)
floatrandfn(mean: float = 0.0, deviation: float = 1.0)
intrandi()
intrandi_range(from: int, to: int)
voidrandomize()

常量

成员说明

  • int seed
Default-6398989897141750821
setterset_seed(value)
getterget_seed

方法说明

  • randf randf()

生成0.01.0(含)之间的伪随机浮点数。


  • randf_range randf_range(from: float, to: float)

fromto(含)之间生成伪随机浮点数。


  • randfn randfn(mean: float = 0.0, deviation: float = 1.0)

使用具有指定平均值和标准的Box-Muller变换,生成[url=https://en.wikipedia.org/wiki/Normal_distribution]正态分布的[/url]伪随机数偏差。这也称为高斯分布。


  • randi randi()

04294967295(含)之间生成一个伪随机的32位无符号整数。


  • randi_range randi_range(from: int, to: int)

fromto(含)之间生成一个伪随机的32位带符号整数。


  • randomize randomize()

为生成器设置基于时间的种子。