bevy_interact_2d

namebevy_interact_2d
created_at2021-05-05 20:17:01.461487
updated_at2022-12-28 22:19:44.266252
downloads1511
descriptionA Bevy plugin for 2d mouse interactions
homepagehttp://github.com/Anshorei/bevy_rei
repositoryhttp://github.com/Anshorei/bevy_rei
max_upload_size
id393554
Ansho Rei

documentation

http://github.com/Anshorei/bevy_rei

readme

# Bevy Interact 2D **Work in progress** Plugin library for the Bevy game engine to easily add mouse interactions to 2d games. Can help you with: - Hovering - Clicking - Dragging & Droppings ![Progress bar example](examples/trash_cleanup.gif) ## Using Interact2D Add the interaction plugin, or use the `InteractionDebugPlugin` instead when debugging. ```rust App::build() .add_plugin(InteractionPlugin) ``` Spawn a camera with an interaction source with a number of interaction groups. ```rust commands .spawn_bundle(OrthographicCameraBundle::new_2d()) .insert(InteractionSource { groups: vec![Group(0), Group(1)], ..Default::default() }) ``` Spawn an interactable entity ```rust commands .spawn() .insert(Interactable { groups: vec![Group(0)], bounding_box: (Vec2::new(0., 0.), Vec2::new(10., 10.)), ..Default::default() }) ``` Now you can create a system that uses the interaction state ```rust fn interaction_system( mouse_button_input: Res>, interaction_state: Res, ) { if !mouse_button_input.just_released(MouseButton::Left) { return; } for (entity, coords) in interaction_state.get_group(Group(0)).iter() { // Do something } } ```
Commit count: 0

cargo fmt