Path: blob/main/examples/ui/styling/stacked_gradients.rs
9353 views
//! An example demonstrating overlaid gradients12use bevy::color::palettes::css::BLUE;3use bevy::color::palettes::css::RED;4use bevy::color::palettes::css::YELLOW;5use bevy::prelude::*;6use core::f32::consts::TAU;78fn main() {9App::new()10.add_plugins(DefaultPlugins)11.add_systems(Startup, setup)12.run();13}1415fn setup(mut commands: Commands) {16commands.spawn(Camera2d);17commands18.spawn(Node {19display: Display::Grid,20width: percent(100),21height: percent(100),2223..Default::default()24})25.with_children(|commands| {26commands.spawn((27Node {28width: percent(100),29height: percent(100),30..Default::default()31},32BackgroundColor(Color::BLACK),33BackgroundGradient(vec![34LinearGradient::to_top_right(vec![35ColorStop::auto(RED),36ColorStop::auto(RED.with_alpha(0.)),37])38.into(),39LinearGradient::to_top_left(vec![40ColorStop::auto(BLUE),41ColorStop::auto(BLUE.with_alpha(0.)),42])43.into(),44ConicGradient {45start: 0.,46position: UiPosition::CENTER,47stops: vec![48AngularColorStop::auto(YELLOW.with_alpha(0.)),49AngularColorStop::auto(YELLOW.with_alpha(0.)),50AngularColorStop::auto(YELLOW),51AngularColorStop::auto(YELLOW.with_alpha(0.)),52AngularColorStop::auto(YELLOW.with_alpha(0.)),53],54..Default::default()55}56.into(),57RadialGradient {58position: UiPosition::TOP.at_x(percent(5)),59shape: RadialGradientShape::Circle(vh(30)),60stops: vec![61ColorStop::auto(Color::WHITE),62ColorStop::auto(YELLOW),63ColorStop::auto(YELLOW.with_alpha(0.1)),64ColorStop::auto(YELLOW.with_alpha(0.)),65],66..Default::default()67}68.into(),69LinearGradient {70angle: TAU / 16.,71stops: vec![72ColorStop::auto(Color::BLACK),73ColorStop::auto(Color::BLACK.with_alpha(0.)),74],75..Default::default()76}77.into(),78LinearGradient {79angle: 15. * TAU / 16.,80stops: vec![81ColorStop::auto(Color::BLACK),82ColorStop::auto(Color::BLACK.with_alpha(0.)),83],84..Default::default()85}86.into(),87]),88));89});90}919293