//! Renders a 2D scene containing a single, moving sprite. use bevy::prelude::*; fn main() { App::new() .add_plugins(DefaultPlugins) .add_startup_system(setup) .add_system(sprite_movement) .run(); } #[derive(Component)] enum Direction { Up, Down, } fn setup(mut commands: Commands, asset_server: Res) { commands.spawn_bundle(Camera2dBundle::default()); commands .spawn_bundle(SpriteBundle { texture: asset_server.load("branding/icon.png"), transform: Transform::from_xyz(100., 0., 0.), ..default() }) .insert(Direction::Up); } /// The sprite is animated by changing its translation depending on the time that has passed since /// the last frame. fn sprite_movement(time: Res