fly_bevy 0.10.2

Cool utilities for the Bevy game engine
Documentation
use bevy::prelude::*;

pub mod prelude {
    pub use crate::*;
}

pub struct GlobalCamPlugin;

#[derive(Component)]
pub struct GlobalCam;

impl Plugin for GlobalCamPlugin {
    fn build(&self, app: &mut App) {
        app.add_system(keyboard_input);
    }
}

fn keyboard_input(
    mut query: Query<&mut Transform, With<GlobalCam>>,
    keys: Res<Input<KeyCode>>,
    time: Res<Time>,
) {
    if keys.pressed(KeyCode::A) {
        for mut transform in &mut query {
            transform.translation = Vec3 {
                x: transform.translation.x - 0.2,
                y: transform.translation.y,
                z: transform.translation.z,
            };
        }
    }

    if keys.pressed(KeyCode::D) {
        for mut transform in &mut query {
            transform.translation = Vec3 {
                x: transform.translation.x + 0.2,
                y: transform.translation.y,
                z: transform.translation.z,
            };
        }
    }

    if keys.pressed(KeyCode::S) {
        for mut transform in &mut query {
            transform.translation = Vec3 {
                x: transform.translation.x,
                y: transform.translation.y,
                z: transform.translation.z + 0.2,
            };
        }
    }

    if keys.pressed(KeyCode::W) {
        for mut transform in &mut query {
            transform.translation = Vec3 {
                x: transform.translation.x,
                y: transform.translation.y,
                z: transform.translation.z - 0.2,
            };
        }
    }

    if keys.pressed(KeyCode::LShift) {
        for mut transform in &mut query {
            transform.translation = Vec3 {
                x: transform.translation.x,
                y: transform.translation.y - 0.2,
                z: transform.translation.z,
            };
        }
    }

    if keys.pressed(KeyCode::Space) {
        for mut transform in &mut query {
            transform.translation = Vec3 {
                x: transform.translation.x,
                y: transform.translation.y + 0.2,
                z: transform.translation.z,
            };
        }
    }
}