5 个版本 (2 个稳定版)
使用旧的 Rust 2015
2.0.0 | 2018 年 10 月 28 日 |
---|---|
1.0.0 | 2018 年 10 月 28 日 |
0.2.0 | 2018 年 10 月 28 日 |
0.1.1 | 2018 年 10 月 28 日 |
0.1.0 | 2018 年 10 月 28 日 |
#1941 在 Rust 模式
22KB
421 行
vec
Vec 是一个库,提供简单易用的向量,用于游戏开发,风格类似于在 Unity 游戏引擎中找到的向量。
该库提供了三个基本功能:包含如 normalize
、lerp
和 zero
等方法的 Vector
特性,这些方法在所有向量实现中都是通用的;提供基于 f64
字段的 2D 向量的基本实现的 Vector2
结构;最后是提供基于 f64
字段的 3D 向量的基本实现的 Vector3
。
正如之前提到的,这个库的目的是尽可能接近 Unity 中的实现,以便于那些已经熟悉 Unity 的人更容易过渡。你在 Unity 中能做的事情
var start = new Vector2(1f, 2f);
var end = new Vector2(3f, 8f);
var newVector = Vector2.lerp(start, end, t);
应该可以直接转换成这个 API
use vect::prelude::*;
let start = Vector2::new(1.0, 2.0);
let end = Vector2::new(3.0, 8.0);
let newVector = Vector2::lerp(start, end, t);
由于 Rust 处理方法的方式的一个特性,我已经将所有的 "静态方法"(即关联函数)实现为实际的方法,所以你不需要考虑它是哪一个或另一个
use vect::prelude::*;
let start = Vector2::new(1.0, 2.0);
let end = Vector2::new(3.0, 8.0);
let newVector = start.lerp(end, t);