2个版本
0.1.1 | 2021年6月12日 |
---|---|
0.1.0 | 2020年8月27日 |
#713 in WebAssembly
1MB
32K SLoC
p5-rs
Rust / WebAssembly的p5.js绑定
要开始,请参阅p5-rs-starter
lib.rs
:
p5-sys
crate(库)是Rust/Wasm对
*** 需要Nightly rustc ***
目前,几乎所有全局函数都正常工作。实例方法和属性尚未实现。例如,vector.add()
将不会工作。建议您使用Rust类型来完成此类任务。此外,接受数组并修改它们的函数也不会工作。
文档是从p5.js参考中获取的,尚未移植到Rust。
示例
use p5::*;
pub struct State {
x: f64,
}
#[wasm_bindgen]
pub fn setup() -> State {
createCanvas(400., 400., RENDERER::Webgl);
background(123., 234., 124.);
return State {
x: 10.,
}
}
#[wasm_bindgen]
pub fn draw(state: &mut State) {
state.x += 1;
rect(state.x, 40., 100., 120.);
}
Rust中没有可变的全局变量,因此我们必须使用状态。setup创建状态。draw和其他事件处理程序接收对该状态的可变引用,这意味着它们可以修改它。
依赖关系
~0.9–1.6MB
~30K SLoC