#physics-engine #physics #physics-2d #rigid #2d #gamedev #rigid-body

appl

Appl 是由 Rapier 库驱动的物理引擎。目前仅支持 2D。

5 个版本

0.2.2 2021年9月24日
0.2.1 2021年9月24日
0.2.0 2021年9月24日
0.1.1 2021年9月24日
0.1.0 2021年9月24日

406 in 模拟

MIT 许可证

12KB
188

Appl

version downloads license

描述

Appl Logo Appl 是一个提供对 Rapier 库抽象的库。
Appl 的创建是由于缺乏适合初学者使用的物理引擎。
Appl 的主要目的是简单易用。

示例

use appl::*;

fn main() {
  // Initialize Appl World
  let mut appl = ApplWorld::new(Vect2 { x: 0.0, y: 9.81 }, 50.0);
  // Create ground rigid body
  let ground = appl.add_rigid_body(
    BodyType::Static,
    0.3,
    BodyShape::Cuboid {
      width: 64.0,
      height: 32.0,
    },
    0.3,
    Vect2 { x: 0.0, y: 320.0 }
  );
  // Create box1 rigid body
  let box1 = appl.add_rigid_body(
    BodyType::Dynamic,
    0.3,
    BodyShape::Cuboid {
      width: 32.0,
      height: 32.0,
    },
    0.3,
    Vect2 { x: 0.0, y: 0.0 }
  );

  for _ in 0..200 {
    // Update the world
    appl.step();

    // Prints box1 position
    let box1_pos = appl.get_rigid_body_pos(box1);
    println("{}, {}", box1_pos.x, box1_pos.y);
  }
}

如何贡献

任何 pull request 都会受到欢迎和赞赏!

如果您有任何问题或疑问,请提交 issue,我会尽力帮助您。

项目状态

此项目处于非常非常早期阶段,目前仅支持 2D。

许可证

MIT

依赖项

~7.5MB
~161K SLoC