#random #bevy #gamedev #degree #generate #fastrand #f64

reactor_random

主要是一个fastrand的包装,用于多种类型。支持bevy和reactor_spatial2d。

1个稳定版本

1.0.0 2024年7月21日

1782游戏开发

Download history 137/week @ 2024-07-20 21/week @ 2024-07-27

每月下载量 158
用于 2 crates

MIT/Apache

27KB
694

reactor_random

一个简单的Rust库,用于使用fastrand生成随机值。目前基本上是一个fastrand的包装,用于一些额外的类型。可能会随着时间的推移而增长。适用于Bevy的使用。

可以生成以下类型的随机值

  • i8-128
  • u8-128
  • f32 & f64
  • Vec2/3/4, UVec2/3/4, 和 IVec2/3/4(使用bevy特性)
  • 颜色(使用bevy特性)
  • 角度,弧度,Position2D以及所有方向

可以生成以下类型的范围随机值

  • i8-128
  • u8-128
  • f32 & f64
  • Vec2/3/4, UVec2/3/4, 和 IVec2/3/4(使用bevy特性)
  • 角度,弧度,和Position2D

可以打乱任何Clone + IntoIterator<T> + FromIterator<T>以及返回一个随机元素或随机索引。

还包括一个用于加权随机生成的WeightedTable类。

用法

添加到您的Cargo.toml中。使用reactor_random::*;来获取定义随机生成的特性。

确定性

这个crate依赖于fastrand,它是“确定性的”。也就是说,对于给定的种子值,如果系统顺序是确定的,结果将是确定的。

为了确保确定性,任何使用此crate特性的系统都需要在添加到Bevy应用时使用.chain()

依赖

~22MB
~403K SLoC