#2d-3d #specs #transform #3d #2d

specs_transform

为specs转换2D和3D组件

22个版本

使用旧Rust 2015

0.5.0 2019年7月5日
0.4.5 2018年12月1日
0.4.4 2018年11月24日
0.4.3 2018年7月7日
0.3.0 2017年11月26日

#20 in #specs


用于 3 crates

MIT 许可证

27KB
689 代码行

specs_transform

为specs转换2D和3D组件

extern crate specs;
extern crate specs_bundler;
extern crate specs_transform;


use specs::{World, DispatcherBuilder};
use specs_bundler::Bundler;
use specs_transform::{TransformBundle, Parent, Transform3D, , Transform2D};


fn main() {
    let mut world = World::new();

    let mut dispatcher = Bundler::new(&mut world, DispatcherBuilder::new())
        .bundle(TransformBundle::<f32>::default()).unwrap()
        .build();

    let parent = world.create_entity()
        .with(Transform3D::<f32>::default())
        .build();

    let child = world.create_entity()
        .with(Parent::new(parent))
        .with(Transform2D::<f32>::default())
        .build();

    let _grandchild = world.create_entity()
        .with(Parent::new(child))
        .with(Transform3D::<f32>::default())
        .build();

    dispatcher.dispatch(&mut world.res);
}

依赖项

~7MB
~140K SLoC