Crates.io | motion |
lib.rs | motion |
version | 0.1.6 |
source | src |
created_at | 2024-10-20 18:21:01.358148 |
updated_at | 2024-11-01 20:38:20.380552 |
description | A bare metal physics engine. |
homepage | https://github.com/juanperias/motion |
repository | https://github.com/juanperias/motion |
max_upload_size | |
id | 1416444 |
size | 46,993 |
Motion is a bare metal physics engine with which you can make simulations easily and quickly, also in rust.
let's start by making a simple event loop
use std::{thread, time::Duration};
use motion::event_loop::EventLoopBuilder;
// The definition of this function depends on the context in which motion is used
fn sleep(duration: Duration) {
thread::sleep(duration);
}
fn main() {
let el = EventLoopBuilder::new().fps(1).build();
el.start(|_config| println!("Hello! in the event loop"), sleep);
}
now we are going to do something more complex by creating an object
let obj = Object2dBuilder::new()
.position(vec2(2.0, 2.0))
.density(2.0)
.mass(3.0)
.velocity(vec2(4.0, 4.0))
.acceleration(vec2(3.0, 3.0))
.radius(2.0)
.shape(Shape::Circle)
.build();
Rust is a fast and efficient programming language, which makes it perfect for motion, plus it is very flexible allowing motion to be used everywhere.