2个不稳定版本
0.2.0 | 2023年2月15日 |
---|---|
0.1.0 | 2023年2月14日 |
#10 in #osc
75KB
1.5K SLoC
tuio-rs
基于TUIO 1.1协议的Rust实现,基于rosc
入门
示例
一个简单的接收循环
cargo run --example receive
服务器和客户端相互通信
cargo run --example send_and_receive
手动创建和发送TUIO输入
cargo run --example manual_send
通过服务器创建和发送TUIO输入
use tuio_rs::{Server};
let mut server = Server::new("server_name").unwrap();
// All TUIO inputs manipulation must be made between [Server::init_frame()] and [Server::commit_frame()]
server.init_frame();
let cursor_id = server.create_cursor(0., 0.);
let object_id = server.create_object(1, 0., 0., 0.);
let blob_id = server.create_blob(0., 0., 0., 0.1, 0.1, 0.01);
server.commit_frame();
server.init_frame();
server.update_cursor(cursor_id, 1., 1.);
server.update_object(object_id, 1., 1., 90f32.to_radians());
server.update_blob(blob_id, 1., 1., 90f32.to_radians(), 0.2, 0.2, 0.04);
server.commit_frame();
server.init_frame();
server.remove_cursor(cursor_id);
server.remove_object(object_id);
server.remove_blob(blob_id);
server.commit_frame();
通过客户端接收TUIO输入
use tuio_rs::{Client};
let client = Client::new().unwrap();
client.connect().expect("Client connecting");
loop {
if let Ok(Some(events)) = client.refresh() {
// Process events. See receiver example for a process function
}
}
依赖项
~2–13MB
~117K SLoC